|
@@ -7,6 +7,7 @@ import (
|
|
|
"eta_gn/eta_api/models/knowledge"
|
|
|
knowledgeServ "eta_gn/eta_api/services/knowledge"
|
|
|
"eta_gn/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
)
|
|
|
|
|
|
// 分类
|
|
@@ -96,53 +97,74 @@ func (this *ClassifyController) CheckDeleteClassify() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- //判断分类是否关联了报告
|
|
|
- if classify.ParentId > 0 {
|
|
|
- count, err := knowledgeObj.GetResourceCountByClassifyId(classifyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if count > 0 {
|
|
|
- resp.Code = 2
|
|
|
- resp.Msg = "该分类有关联报告,不允许删除"
|
|
|
- br.Data = resp
|
|
|
- br.Ret = 200
|
|
|
- br.Msg = "该分类有关联报告,不允许删除"
|
|
|
- br.Success = true
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- subCount, err := knowledgeObj.GetClassifySubCountByClassifyId(classifyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ count, err := knowledgeObj.GetResourceCountByClassifyId(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ resp.Code = 2
|
|
|
+ resp.Msg = "该分类有关联事件,不允许删除"
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "该分类有关联事件,不允许删除"
|
|
|
+ br.Success = true
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 查询所有子分类
|
|
|
+ classifyIds, e := knowledgeObj.GetChildClassifyIdByParentId(classifyId)
|
|
|
+ if e != nil && !utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类信息失败, GetEdbClassify,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ condition := fmt.Sprintf(` AND classify_id IN (?) `)
|
|
|
+ var pars []interface{}
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
+ childCount, err := knowledge.GetKnowledgeResourceListCount(condition, pars)
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "查询分类下表格数量失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if subCount > 0 {
|
|
|
+
|
|
|
+ if childCount > 0 {
|
|
|
resp.Code = 3
|
|
|
- resp.Msg = "二级分类有关联报告,不允许删除"
|
|
|
+ resp.Msg = "子分类有关联事件,不允许删除"
|
|
|
br.Data = resp
|
|
|
br.Ret = 200
|
|
|
- br.Msg = "二级分类有关联报告,不允许删除"
|
|
|
+ br.Msg = "子分类有关联事件,不允许删除"
|
|
|
br.Success = true
|
|
|
return
|
|
|
}
|
|
|
- subTotal, err := knowledgeObj.GetClassifySubCountByParentId(classifyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ // 查询三级分类下是否有事件,如果有也不允许删除
|
|
|
+ classifyIds, e = knowledgeObj.GetChildClassifyIdByParentIds(classifyIds)
|
|
|
+ if e != nil && !utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类信息失败, GetEdbClassify,Err:" + e.Error()
|
|
|
return
|
|
|
}
|
|
|
- if subTotal > 0 {
|
|
|
- resp.Code = 4
|
|
|
- resp.Msg = "请先删除该分类下关联分类"
|
|
|
- br.Data = resp
|
|
|
- br.Ret = 200
|
|
|
- br.Msg = "请先删除该分类下关联分类"
|
|
|
- br.Success = true
|
|
|
- return
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ condition = fmt.Sprintf(` AND classify_id IN (?) `)
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
+ childCount, e = knowledge.GetKnowledgeResourceListCount(condition, pars)
|
|
|
+ if e != nil && !utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "查询分类下表格数量失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if childCount > 0 {
|
|
|
+ resp.Code = 3
|
|
|
+ resp.Msg = "子分类有关联事件,不允许删除"
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "子分类有关联事件,不允许删除"
|
|
|
+ br.Success = true
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -176,12 +198,12 @@ func (this *ClassifyController) Delete() {
|
|
|
br.Msg = "参数错误"
|
|
|
return
|
|
|
}
|
|
|
- //todo 是否需要删除接口
|
|
|
- /*br.Msg = "报告分类不允许删除"
|
|
|
- br.IsSendEmail = false
|
|
|
- return*/
|
|
|
+ //todo 是否需要删除
|
|
|
knowledgeObj := new(knowledge.KnowledgeClassify)
|
|
|
- item, err := knowledgeObj.GetClassifyById(req.ClassifyId)
|
|
|
+ classifyId := req.ClassifyId
|
|
|
+ deleteClassifyIds := make([]int, 0)
|
|
|
+ deleteClassifyIds = append(deleteClassifyIds, classifyId)
|
|
|
+ classify, err := knowledgeObj.GetClassifyById(req.ClassifyId)
|
|
|
if err != nil {
|
|
|
if utils.IsErrNoRow(err) {
|
|
|
br.Msg = "分类不存在"
|
|
@@ -191,12 +213,69 @@ func (this *ClassifyController) Delete() {
|
|
|
br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if item.ResourceType != req.ResourceType {
|
|
|
+ if classify.ResourceType != req.ResourceType {
|
|
|
br.Msg = "资源类型不匹配"
|
|
|
return
|
|
|
}
|
|
|
+ count, err := knowledgeObj.GetResourceCountByClassifyId(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ br.Msg = "该分类有关联事件,不允许删除"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 查询所有子分类
|
|
|
+ classifyIds, e := knowledgeObj.GetChildClassifyIdByParentId(classifyId)
|
|
|
+ if e != nil && !utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类信息失败, GetEdbClassify,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ condition := fmt.Sprintf(` AND classify_id IN (?) `)
|
|
|
+ var pars []interface{}
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
+ childCount, err := knowledge.GetKnowledgeResourceListCount(condition, pars)
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "查询分类下表格数量失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if childCount > 0 {
|
|
|
+ br.Msg = "子分类有关联事件,不允许删除"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ deleteClassifyIds = append(deleteClassifyIds, classifyIds...)
|
|
|
+ // 查询三级分类下是否有事件,如果有也不允许删除
|
|
|
+ classifyIds, e = knowledgeObj.GetChildClassifyIdByParentIds(classifyIds)
|
|
|
+ if e != nil && !utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类信息失败, GetEdbClassify,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ condition = fmt.Sprintf(` AND classify_id IN (?) `)
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
+ childCount, e = knowledge.GetKnowledgeResourceListCount(condition, pars)
|
|
|
+ if e != nil && !utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "查询分类下表格数量失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if childCount > 0 {
|
|
|
+ br.Msg = "子分类有关联事件,不允许删除"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ deleteClassifyIds = append(deleteClassifyIds, classifyIds...)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- err = knowledgeObj.Delete(req.ClassifyId)
|
|
|
+ err = knowledgeObj.DeleteByIds(deleteClassifyIds)
|
|
|
if err != nil {
|
|
|
br.Msg = "删除失败"
|
|
|
br.ErrMsg = "删除失败,Err:" + err.Error()
|