Преглед на файлове

数据管理模块支持按指标类型筛选数据

- 在 EdbClassifyId 方法中添加了按指标类型筛选的功能
- 修改了 GetEdbInfoByClassifyId 方法以支持新的筛选逻辑
- 更新了相关调用 GetEdbInfoByClassifyId 方法的代码以适应新的筛选逻辑
Roc преди 6 месеца
родител
ревизия
68d33384b0

+ 21 - 2
controllers/data_manage/edb_classify.go

@@ -847,7 +847,16 @@ func (this *EdbClassifyController) ClassifyEdbInfoList() {
 		noPermissionEdbInfoIdMap[v.EdbInfoId] = true
 	}
 
-	allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(classifyId, utils.EDB_INFO_TYPE, 0)
+	// 指标类型(基础指标,预测指标)
+	edbType := 0
+	switch classifyInfo.ClassifyType {
+	case utils.EdbClassifyTypeBase:
+		edbType = 1
+	case utils.EdbClassifyTypeCalculate:
+		edbType = 2
+	}
+
+	allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(classifyId, utils.EDB_INFO_TYPE, edbType, 0)
 	if err != nil && !utils.IsErrNoRow(err) {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取数据失败,Err:" + err.Error()
@@ -1083,7 +1092,17 @@ func (this *EdbClassifyController) SimpleList() {
 		for _, v := range confList {
 			noPermissionEdbInfoIdMap[v.EdbInfoId] = true
 		}
-		allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(parentId, 0, sysUserId)
+
+		// 指标类型(基础指标,预测指标)
+		edbType := 0
+		switch classifyType {
+		case utils.EdbClassifyTypeBase:
+			edbType = 1
+		case utils.EdbClassifyTypeCalculate:
+			edbType = 2
+		}
+
+		allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(parentId, 0, edbType, sysUserId)
 		if err != nil {
 			br.Msg = "获取指标数据失败"
 			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()

+ 1 - 1
controllers/data_manage/predict_edb_classify.go

@@ -724,7 +724,7 @@ func (this *PredictEdbClassifyController) SimpleList() {
 		for _, v := range confList {
 			noPermissionEdbInfoIdMap[v.EdbInfoId] = true
 		}
-		allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(parentId, 1, sysUserId)
+		allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(parentId, 1, 0, sysUserId)
 		if err != nil {
 			br.Msg = "获取指标数据失败"
 			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()

+ 1 - 1
controllers/data_manage/predict_edb_info.go

@@ -2048,7 +2048,7 @@ func (this *PredictEdbInfoController) ClassifyEdbInfoItems() {
 		sysUserId = this.SysUser.AdminId
 	}
 
-	allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(classifyId, 1, sysUserId)
+	allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(classifyId, 1, 0, sysUserId)
 	if err != nil && !utils.IsErrNoRow(err) {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取数据失败,Err:" + err.Error()

+ 8 - 1
models/data_manage/edb_info.go

@@ -1514,11 +1514,18 @@ type SetEdbDataInsertConfigReq struct {
 }
 
 // GetEdbInfoByClassifyId 用于分类展示
-func GetEdbInfoByClassifyId(classifyId, edbInfoType, adminId int) (items []*EdbClassifyItems, err error) {
+func GetEdbInfoByClassifyId(classifyId, edbInfoType, edbType, adminId int) (items []*EdbClassifyItems, err error) {
 	o := global.DmSQL["data"]
 	sql := ` SELECT edb_info_id,classify_id,edb_name AS classify_name,edb_name_en AS classify_name_en,unique_code,source_name,source,sys_user_id,sys_user_real_name,start_date,edb_code,edb_type, sort,is_join_permission FROM edb_info WHERE classify_id = ? AND edb_info_type = ?`
 
 	pars := []interface{}{classifyId, edbInfoType}
+
+	// 如果筛选了指标类型,那么就根据条件来
+	if edbType > 0 {
+		sql += ` AND edb_type = ? `
+		pars = append(pars, edbType)
+	}
+
 	// 如果筛选了用户id
 	if adminId > 0 {
 		sql += ` AND sys_user_id = ? `