Browse Source

图库分类删除校验sql修改bugfix

zwxi 5 months ago
parent
commit
29bcf8c96c
2 changed files with 38 additions and 2 deletions
  1. 29 2
      controllers/data_manage/chart_classify.go
  2. 9 0
      services/data/chart_classify.go

+ 29 - 2
controllers/data_manage/chart_classify.go

@@ -463,12 +463,39 @@ func (this *ChartClassifyController) DeleteChartClassifyCheck() {
 		}
 
 		//判断图表分类下,是否含有图表
-		count, err := data_manage.GetChartInfoCountByClassifyId(req.ChartClassifyId)
+		childIds := make([]int, 0)
+		classifyAll, err := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
 		if err != nil {
 			br.Msg = "删除失败"
-			br.ErrMsg = "分类下是否含有指标失败,Err:" + err.Error()
+			br.ErrMsg = "获取分类数据失败,Err:" + err.Error()
+			return
+		}
+		classifyAllMap := make(map[int]*data_manage.ChartClassifyItems)
+		for _, v := range classifyAll {
+			classifyAllMap[v.ChartClassifyId] = v
+		}
+		data.GetChartClassifyChildIds(req.ChartClassifyId, classifyAllMap, &childIds)
+		condition := ``
+		pars := make([]interface{}, 0)
+		if len(childIds) > 0 {
+			ids := utils.IntArr2joinString(childIds, ",")
+			condition = ` AND chart_classify_id IN (`+ ids +`) `
+		} else {
+			condition = ` AND chart_classify_id = ? `
+			pars = append(pars, req.ChartClassifyId)
+		}
+		count, err := data_manage.GetChartInfoCountByCondition(condition, pars)
+		if err != nil {
+			br.Msg = "判断图表名称是否存在失败"
+			br.ErrMsg = "判断图表名称是否存在失败,Err:" + err.Error()
 			return
 		}
+		//count, err := data_manage.GetChartInfoCountByClassifyId(req.ChartClassifyId)
+		//if err != nil {
+		//	br.Msg = "删除失败"
+		//	br.ErrMsg = "分类下是否含有指标失败,Err:" + err.Error()
+		//	return
+		//}
 
 		if count > 0 {
 			deleteStatus = 1

+ 9 - 0
services/data/chart_classify.go

@@ -962,3 +962,12 @@ func GetChartClassifyParentRecursive(list []*data_manage.ChartClassifyItems, cla
 	}
 	return res
 }
+
+func GetChartClassifyChildIds(classifyId int, classifymap map[int]*data_manage.ChartClassifyItems, childIds *[]int) {
+	for _, item := range classifymap {
+		if item.ParentId == classifyId {
+			*childIds = append(*childIds, item.ChartClassifyId)
+			GetChartClassifyChildIds(item.ChartClassifyId, classifymap, childIds)
+		}
+	}
+}