Procházet zdrojové kódy

Merge branch 'bug/3668'

Roc před 10 měsíci
rodič
revize
ec48cd20bc

+ 18 - 2
controllers/data_manage/supply_analysis/variety_edb.go

@@ -95,8 +95,24 @@ func (this *VarietyController) EdbList() {
 		}
 
 		if tmpItem, ok := edbInfoAndClassifyMap[v.EdbInfoId]; ok {
-			v.ClassifyName = tmpItem.FirstClassifyName + "/" + tmpItem.SecondClassifyName
-			v.ClassifyId = tmpItem.SecondClassifyId
+			classifyNameList := make([]string, 0)
+
+			// 所属分类
+			{
+				classifyList, tmpErr, errMsg := data.GetFullClassifyByClassifyId(tmpItem.ClassifyId)
+				if tmpErr != nil {
+					br.Msg = errMsg
+					br.ErrMsg = "获取ETA指标的分类信息失败,Err:" + err.Error()
+					return
+				}
+				for _, tmpClassify := range classifyList {
+					classifyNameList = append(classifyNameList, tmpClassify.ClassifyName)
+				}
+			}
+
+			v.ClassifyName = strings.Join(classifyNameList, "/")
+
+			v.ClassifyId = tmpItem.ClassifyId
 			v.EdbCode = tmpItem.EdbCode
 			v.UniqueCode = tmpItem.UniqueCode
 		} else {

+ 2 - 3
models/data_manage/edb_info.go

@@ -1700,6 +1700,7 @@ type EdbAndClassify struct {
 	EdbCode            string `description:"指标code"`
 	UniqueCode         string `description:"唯一code"`
 	EdbName            string `description:"指标名称"`
+	ClassifyId         int    `description:"所属分类id"`
 	FirstClassifyId    int    `description:"第1级的分类id"`
 	FirstClassifyName  string `description:"第1级的分类名称"`
 	SecondClassifyId   int    `description:"第2级的分类id"`
@@ -1713,9 +1714,7 @@ func GetEdbInfoAndClassifyListByEdbIdList(edbIdList []int) (items []*EdbAndClass
 		return
 	}
 	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT a.edb_info_id,a.edb_code,a.unique_code,a.edb_name,b.classify_id as second_classify_id,b.classify_name as second_classify_name,c.classify_id as first_classify_id,c.classify_name as first_classify_name FROM edb_info AS a
-			JOIN edb_classify b on a.classify_id=b.classify_id
-			JOIN edb_classify c on b.parent_id=c.classify_id
+	sql := ` SELECT a.edb_info_id,a.edb_code,a.unique_code,a.edb_name,a.classify_id FROM edb_info AS a
 			WHERE a.edb_info_id in (` + utils.GetOrmInReplace(num) + `) `
 
 	_, err = o.Raw(sql, edbIdList).QueryRows(&items)