ziwen il y a 1 an
Parent
commit
522780ae61

+ 3 - 3
controllers/data_manage/predict_edb_info.go

@@ -76,14 +76,14 @@ func (this *PredictEdbInfoController) EdbChartList() {
 
 	// 筛选分类
 	if classifyId > 0 {
-		_, err := data_manage.GetEdbClassifyById(classifyId)
+		classifyIds, err := data_manage.GetEdbClassify(classifyId)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取分类信息失败"
 			br.ErrMsg = "获取分类信息失败,GetEdbClassifyById,Err:" + err.Error()
 			return
 		}
-		condition += " AND classify_id = ? "
-		pars = append(pars, classifyId)
+		condition += " AND classify_id IN(" + classifyIds + ") "
+
 	}
 	if keyword != "" {
 		condition += ` AND  ( excel_name LIKE ? )`

+ 19 - 0
models/data_manage/edb_classify.go

@@ -390,3 +390,22 @@ func FixPredictEdbClassify()  {
 		}
 	}
 }
+
+func GetEdbClassify(classifyId int) (classifyIds string, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT GROUP_CONCAT(t.classify_id) AS classify_ids FROM (
+			SELECT a.classify_id FROM edb_classify AS a 
+			WHERE a.classify_id=?
+			UNION ALL
+			SELECT a.classify_id FROM edb_classify AS a 
+			WHERE a.parent_id=? UNION ALL
+	SELECT
+		classify_id 
+	FROM
+		edb_classify 
+WHERE
+	parent_id IN ( SELECT classify_id FROM edb_classify WHERE parent_id = ? )
+			)AS t`
+	err = o.Raw(sql, classifyId, classifyId, classifyId).QueryRow(&classifyIds)
+	return
+}