Browse Source

fix:兼容mongo配置

Roc 11 months ago
parent
commit
064e66bbab

+ 3 - 6
controllers/open/edb_info.go

@@ -49,13 +49,10 @@ func (this *EdbInfoController) Detail() {
 	dataList := make([]*models.EdbInfoSearchData, 0)
 	switch edbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, edbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		dataList, err = models.GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, 1)
+		dataList, err = models.GetEdbDataListAll(edbInfo.Source, edbInfo.SubSource, models.FindEdbDataListAllCond{
+			EdbInfoId: edbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		dataList, err = models.GetPredictEdbDataListAllByStartDate(edbInfo, 1, "")
 	default:

+ 31 - 20
models/edb_data_base.go

@@ -1,11 +1,9 @@
 package models
 
 import (
-	"errors"
 	"eta/eta_index_lib/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"strconv"
 	"time"
 )
 
@@ -179,28 +177,41 @@ type EdbDataList struct {
 	Value         float64 `description:"数据值"`
 }
 
+// GetEdbDataList
+// @Description:
+// @author: Roc
+// @datetime 2024-05-08 16:10:49
+// @param source int
+// @param subSource int
+// @param endInfoId int
+// @param startDate string
+// @param endDate string
+// @return list []*EdbDataList
+// @return err error
 func GetEdbDataList(source, subSource, endInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
-	tableName := GetEdbDataTableName(source, subSource)
-	if tableName == "" {
-		err = errors.New("无效的渠道:" + strconv.Itoa(source))
-		list = make([]*EdbDataList, 0)
-		return list, err
-	}
-	var pars []interface{}
-	sql := `SELECT edb_data_id,edb_info_id,data_time,value,data_timestamp FROM %s WHERE edb_info_id=? `
-	if startDate != "" {
-		sql += ` AND data_time>=? `
-		pars = append(pars, startDate)
+	list = make([]*EdbDataList, 0)
+	tmpDataList, err := GetEdbDataListAll(source, subSource, FindEdbDataListAllCond{
+		EdbInfoId:         endInfoId,
+		StartDataTime:     startDate,
+		StartDataTimeCond: ">=",
+		EndDataTime:       endDate,
+		EndDataTimeCond:   "<=",
+	}, 1)
+	if err != nil {
+		return
 	}
-	if endDate != "" {
-		sql += ` AND data_time<=? `
-		pars = append(pars, endDate)
+
+	// 数据拼接
+	for _, v := range tmpDataList {
+		list = append(list, &EdbDataList{
+			EdbDataId:     v.EdbDataId,
+			EdbInfoId:     v.EdbInfoId,
+			DataTime:      v.DataTime,
+			DataTimestamp: v.DataTimestamp,
+			Value:         v.Value,
+		})
 	}
 
-	sql += ` ORDER BY data_time ASC `
-	sql = fmt.Sprintf(sql, tableName)
-	o := orm.NewOrm()
-	_, err = o.Raw(sql, endInfoId, pars).QueryRows(&list)
 	return
 }
 

+ 6 - 12
models/edb_data_calculate_correlation.go

@@ -396,13 +396,10 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *E
 	aDataList := make([]*EdbInfoSearchData, 0)
 	switch baseEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, baseEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		aDataList, err = GetEdbDataListAll(condition, pars, baseEdbInfo.Source, baseEdbInfo.SubSource, 1)
+		aDataList, err = GetEdbDataListAll(baseEdbInfo.Source, baseEdbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: baseEdbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		aDataList, err = GetPredictEdbDataListAllByStartDate(baseEdbInfo, 1, "")
 	default:
@@ -414,13 +411,10 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *E
 	bDataList := make([]*EdbInfoSearchData, 0)
 	switch changeEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, changeEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		bDataList, err = GetEdbDataListAll(condition, pars, changeEdbInfo.Source, changeEdbInfo.SubSource, 1)
+		bDataList, err = GetEdbDataListAll(changeEdbInfo.Source, changeEdbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: changeEdbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		bDataList, err = GetPredictEdbDataListAllByStartDate(changeEdbInfo, 1, "")
 	default:

+ 3 - 6
models/edb_data_calculate_percentile.go

@@ -379,13 +379,10 @@ func (obj Percentile) getPercentileData(fromEdbInfo *EdbInfo, calculateValue int
 	dataList := make([]*EdbInfoSearchData, 0)
 	switch fromEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, fromEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
+		dataList, err = GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: fromEdbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 5 - 16
models/edb_data_calculate_rjz.go

@@ -209,22 +209,11 @@ func refreshAllCalculateRjz(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo *
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
-	//计算数据
-	var condition string
-	var pars []interface{}
-	condition += " AND edb_info_id=? "
-	pars = append(pars, fromEdbInfo.EdbInfoId)
-
-	if startDate != "" {
-		condition += " AND data_time>=? "
-		pars = append(pars, startDate)
-	}
-	//if endDate != "" {
-	//	condition += " AND data_time<=? "
-	//	pars = append(pars, endDate)
-	//}
-
-	dataList, err := GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
+	dataList, err := GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
+		EdbInfoId:         fromEdbInfo.EdbInfoId,
+		StartDataTime:     startDate,
+		StartDataTimeCond: ">=",
+	}, 0)
 	if err != nil {
 		return err
 	}

+ 3 - 6
models/edb_data_calculate_standard_deviation.go

@@ -346,13 +346,10 @@ func (obj StandardDeviation) getStandardDeviationData(fromEdbInfo *EdbInfo, calc
 	dataList := make([]*EdbInfoSearchData, 0)
 	switch fromEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, fromEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
+		dataList, err = GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: fromEdbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 5 - 16
models/edb_data_calculate_tbz.go

@@ -209,22 +209,11 @@ func refreshAllCalculateTbz(to orm.TxOrmer, edbInfoId, source, subSource int, fr
 	edbInfoIdStr := strconv.Itoa(edbInfoId)
 	//计算数据
 
-	//计算数据
-	var condition string
-	var pars []interface{}
-	condition += " AND edb_info_id=? "
-	pars = append(pars, fromEdbInfo.EdbInfoId)
-
-	if startDate != "" {
-		condition += " AND data_time>=? "
-		pars = append(pars, startDate)
-	}
-	//if endDate != "" {
-	//	condition += " AND data_time<=? "
-	//	pars = append(pars, endDate)
-	//}
-
-	dataList, err := GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 0)
+	dataList, err := GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
+		EdbInfoId:         fromEdbInfo.EdbInfoId,
+		StartDataTime:     startDate,
+		StartDataTimeCond: ">=",
+	}, 0)
 	if err != nil {
 		return err
 	}

+ 4 - 6
models/edb_data_calculate_zsxy.go

@@ -345,13 +345,11 @@ func CalculateExponentialSmoothingData(fromEdbInfo *EdbInfo, strAlpha string) (n
 	dataList := make([]*EdbInfoSearchData, 0)
 	switch fromEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, fromEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
+		dataList, err = GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource,
+			FindEdbDataListAllCond{
+				EdbInfoId: fromEdbInfo.EdbInfoId,
+			}, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 119 - 47
models/edb_info.go

@@ -190,14 +190,69 @@ type EdbInfoSearchData struct {
 	DataTimestamp int64   `description:"时间戳"`
 }
 
-// GetEdbDataListAll 获取指标数据列表 order:1升序,其余值为降序
-func GetEdbDataListAll(condition string, pars []interface{}, source, subSource, order int) (item []*EdbInfoSearchData, err error) {
-	o := orm.NewOrm()
+type FindEdbDataListAllCond struct {
+	EdbInfoId         int
+	StartDataTime     string
+	StartDataTimeCond string
+	EndDataTime       string
+	EndDataTimeCond   string
+}
+
+// GetEdbDataListAll
+// @Description: 获取指标数据列表 order:1升序,其余值为降序
+// @author: Roc
+// @datetime 2024-05-08 15:34:01
+// @param source int
+// @param subSource int
+// @param findEdbDataListAllCond FindEdbDataListAllCond
+// @param order int  order:1升序,其余值为降序
+// @return item []*EdbInfoSearchData
+// @return err error
+func GetEdbDataListAll(source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
+	if source == utils.DATA_SOURCE_BUSINESS {
+		return GetEdbDataListAllByMongo(source, subSource, findEdbDataListAllCond, order)
+	}
+
+	return GetEdbDataListAllByMysql(source, subSource, findEdbDataListAllCond, order)
+}
+
+// GetEdbDataListAllByMysql
+// @Description: 从mysql数据库中获取指标数据列表 order:1升序,其余值为降序
+// @author: Roc
+// @datetime 2024-05-08 15:32:55
+// @param source int
+// @param subSource int
+// @param findEdbDataListAllCond FindEdbDataListAllCond
+// @param order int
+// @return item []*EdbInfoSearchData
+// @return err error
+func GetEdbDataListAllByMysql(source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
+	if findEdbDataListAllCond.EdbInfoId <= 0 {
+		return
+	}
+	to := orm.NewOrm()
+
 	sql := ``
 	tableName := GetEdbDataTableName(source, subSource)
 	sql = ` SELECT * FROM %s WHERE 1=1 `
 	sql = fmt.Sprintf(sql, tableName)
 
+	var condition string
+	var pars []interface{}
+	condition += " AND edb_info_id=? "
+	pars = append(pars, findEdbDataListAllCond.EdbInfoId)
+
+	// 开始日期
+	if findEdbDataListAllCond.StartDataTime != "" && findEdbDataListAllCond.StartDataTimeCond != `` {
+		condition += fmt.Sprintf(" AND data_time %s ? ", findEdbDataListAllCond.StartDataTimeCond)
+		pars = append(pars, findEdbDataListAllCond.StartDataTime)
+	}
+	// 结束日期
+	if findEdbDataListAllCond.EndDataTime != "" && findEdbDataListAllCond.EndDataTimeCond != `` {
+		condition += fmt.Sprintf(" AND data_time %s ? ", findEdbDataListAllCond.EndDataTimeCond)
+		pars = append(pars, findEdbDataListAllCond.EndDataTime)
+	}
+
 	if condition != "" {
 		sql += condition
 	}
@@ -206,11 +261,21 @@ func GetEdbDataListAll(condition string, pars []interface{}, source, subSource,
 	} else {
 		sql += ` ORDER BY data_time DESC `
 	}
-	_, err = o.Raw(sql, pars).QueryRows(&item)
+	_, err = to.Raw(sql, pars).QueryRows(&item)
 	return
 }
 
-// GetEdbDataListAllByTo 根据事务链接获取指标数据列表 order:1升序,其余值为降序
+// GetEdbDataListAllByTo
+// @Description: 根据事务链接获取指标数据列表 order:1升序,其余值为降序
+// @author: Roc
+// @datetime 2024-05-08 15:34:06
+// @param to orm.TxOrmer
+// @param source int
+// @param subSource int
+// @param findEdbDataListAllCond FindEdbDataListAllCond
+// @param order int
+// @return item []*EdbInfoSearchData
+// @return err error
 func GetEdbDataListAllByTo(to orm.TxOrmer, source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
 	if source == utils.DATA_SOURCE_BUSINESS {
 		return GetEdbDataListAllByMongo(source, subSource, findEdbDataListAllCond, order)
@@ -219,15 +284,17 @@ func GetEdbDataListAllByTo(to orm.TxOrmer, source, subSource int, findEdbDataLis
 	return GetEdbDataListAllByMysqlTo(to, source, subSource, findEdbDataListAllCond, order)
 }
 
-type FindEdbDataListAllCond struct {
-	EdbInfoId         int
-	StartDataTime     string
-	StartDataTimeCond string
-	EndDataTime       string
-	EndDataTimeCond   string
-}
-
-// GetEdbDataListAllByTo 根据事务链接获取指标数据列表 order:1升序,其余值为降序
+// GetEdbDataListAllByMysqlTo
+// @Description: 根据事务链接获取指标数据列表 order:1升序,其余值为降序(Mysql)
+// @author: Roc
+// @datetime 2024-05-08 15:34:13
+// @param to orm.TxOrmer
+// @param source int
+// @param subSource int
+// @param findEdbDataListAllCond FindEdbDataListAllCond
+// @param order int
+// @return item []*EdbInfoSearchData
+// @return err error
 func GetEdbDataListAllByMysqlTo(to orm.TxOrmer, source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (item []*EdbInfoSearchData, err error) {
 	if findEdbDataListAllCond.EdbInfoId <= 0 {
 		return
@@ -265,7 +332,16 @@ func GetEdbDataListAllByMysqlTo(to orm.TxOrmer, source, subSource int, findEdbDa
 	return
 }
 
-// GetEdbDataListAllByTo 根据事务链接获取指标数据列表 order:1升序,其余值为降序
+// GetEdbDataListAllByMongo
+// @Description: 根据事务链接获取指标数据列表 order:1升序,其余值为降序(Mongo)
+// @author: Roc
+// @datetime 2024-05-08 15:34:24
+// @param source int
+// @param subSource int
+// @param findEdbDataListAllCond FindEdbDataListAllCond
+// @param order int
+// @return dataList []*EdbInfoSearchData
+// @return err error
 func GetEdbDataListAllByMongo(source, subSource int, findEdbDataListAllCond FindEdbDataListAllCond, order int) (dataList []*EdbInfoSearchData, err error) {
 	dataList = make([]*EdbInfoSearchData, 0)
 	if findEdbDataListAllCond.EdbInfoId <= 0 {
@@ -319,10 +395,12 @@ func GetEdbDataListAllByMongo(source, subSource int, findEdbDataListAllCond Find
 	}
 	for k, v := range tmpDataList {
 		dataList = append(dataList, &EdbInfoSearchData{
-			EdbDataId: k + 1,
-			EdbCode:   v.EdbCode,
-			DataTime:  v.DataTime.Format(utils.FormatDate),
-			Value:     v.Value,
+			EdbDataId:     k + 1,
+			EdbInfoId:     v.EdbInfoId,
+			EdbCode:       v.EdbCode,
+			DataTime:      v.DataTime.Format(utils.FormatDate),
+			Value:         v.Value,
+			DataTimestamp: v.DataTimestamp,
 		})
 	}
 	return
@@ -1007,29 +1085,29 @@ func GetPredictDataListByPredictEdbInfo(edbInfo *EdbInfo, order int, startDate s
 
 // GetPredictDataListByPredictEdbConfList 根据预测指标信息获取预测指标的数据,order:1升序,其余值为降序
 func GetPredictDataListByPredictEdbConfList(edbInfo, sourceEdbInfoItem *EdbInfo, predictEdbConfList []*PredictEdbConfAndData, order int, startDate string) (dataList []*EdbInfoSearchData, err error, errMsg string) {
-
 	allDataList := make([]*EdbInfoSearchData, 0)
 	//获取指标数据(实际已生成)
-	var condition string
-	var pars []interface{}
-	condition += " AND edb_info_id=? "
-	pars = append(pars, sourceEdbInfoItem.EdbInfoId)
-	if startDate != "" {
-		condition += " AND data_time>=? "
-		pars = append(pars, startDate)
-	}
-	tmpDataList, err := GetEdbDataListAll(condition, pars, sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, 1)
+	tmpDataList, err := GetEdbDataListAll(sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, FindEdbDataListAllCond{
+		EdbInfoId:         sourceEdbInfoItem.EdbInfoId,
+		StartDataTime:     startDate,
+		StartDataTimeCond: ">=",
+	}, 1)
 	if err != nil {
 		return
 	}
-	// 如果选择了日期,那么需要筛选所有的数据,用于未来指标的生成
+
+	// 默认认为上一个查询是把所有的数据查出来了
+	allDataList = tmpDataList
+
+	// 如果条件中有选择了日期,那么上次查询实际并不是把所有的数据查出来了
+	// 那么需要把日期给过滤掉,然后筛选所有的数据,用于未来指标的生成
 	if startDate != `` {
-		allDataList, err = GetEdbDataListAll(" AND edb_info_id=? ", []interface{}{sourceEdbInfoItem.EdbInfoId}, sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, 1)
+		allDataList, err = GetEdbDataListAll(sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: sourceEdbInfoItem.EdbInfoId,
+		}, 1)
 		if err != nil {
 			return
 		}
-	} else {
-		allDataList = tmpDataList
 	}
 
 	// 获取预测指标未来的数据
@@ -1083,11 +1161,9 @@ func GetPredictEdbDataListAll(edbInfo *EdbInfo, order int) (items []*EdbInfoSear
 	if edbInfo.Source == utils.DATA_SOURCE_PREDICT { //普通的预测指标是没有入库数据的,直接往配置里面获取
 		items, _, err, _ = GetPredictDataListByPredictEdbInfo(edbInfo, 1, "")
 	} else {
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, edbInfo.EdbInfoId)
-		items, err = GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, order)
+		items, err = GetEdbDataListAll(edbInfo.Source, edbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: edbInfo.EdbInfoId,
+		}, order)
 	}
 	return
 }
@@ -1097,15 +1173,11 @@ func GetPredictEdbDataListAllByStartDate(edbInfo *EdbInfo, order int, startDate
 	if edbInfo.Source == utils.DATA_SOURCE_PREDICT { //普通的预测指标是没有入库数据的,直接往配置里面获取
 		items, _, err, _ = GetPredictDataListByPredictEdbInfo(edbInfo, order, startDate)
 	} else {
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, edbInfo.EdbInfoId)
-		if startDate != "" {
-			condition += " AND data_time>=? "
-			pars = append(pars, startDate)
-		}
-		items, err = GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, order)
+		items, err = GetEdbDataListAll(edbInfo.Source, edbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId:         edbInfo.EdbInfoId,
+			StartDataTime:     startDate,
+			StartDataTimeCond: ">=",
+		}, order)
 	}
 	return
 }

+ 3 - 6
models/predict_edb_data_calculate_percentile.go

@@ -382,13 +382,10 @@ func (obj PredictPercentile) getPercentileData(fromEdbInfo *EdbInfo, calculateVa
 	dataList := make([]*EdbInfoSearchData, 0)
 	switch fromEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, fromEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
+		dataList, err = GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: fromEdbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 3 - 6
models/predict_edb_data_calculate_standard_deviation.go

@@ -393,13 +393,10 @@ func (obj PredictStandardDeviation) getStandardDeviationData(fromEdbInfo *EdbInf
 	dataList := make([]*EdbInfoSearchData, 0)
 	switch fromEdbInfo.EdbInfoType {
 	case 0:
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, fromEdbInfo.EdbInfoId)
-
 		//获取来源指标的数据
-		dataList, err = GetEdbDataListAll(condition, pars, fromEdbInfo.Source, fromEdbInfo.SubSource, 1)
+		dataList, err = GetEdbDataListAll(fromEdbInfo.Source, fromEdbInfo.SubSource, FindEdbDataListAllCond{
+			EdbInfoId: fromEdbInfo.EdbInfoId,
+		}, 1)
 	case 1:
 		dataList, err = GetPredictEdbDataListAllByStartDate(fromEdbInfo, 1, "")
 	default:

+ 3 - 6
models/predict_edb_info_rule.go

@@ -1265,13 +1265,10 @@ func getCalculateNhccData(secondDataList []*EdbInfoSearchData, ruleConf RuleLine
 		var firstDataList []*EdbInfoSearchData
 		switch edbInfo.EdbInfoType {
 		case 0:
-			var condition string
-			var pars []interface{}
-			condition += " AND edb_info_id=? "
-			pars = append(pars, edbInfo.EdbInfoId)
-
 			//获取来源指标的数据
-			firstDataList, err = GetEdbDataListAll(condition, pars, edbInfo.Source, edbInfo.SubSource, 1)
+			firstDataList, err = GetEdbDataListAll(edbInfo.Source, edbInfo.SubSource, FindEdbDataListAllCond{
+				EdbInfoId: edbInfo.EdbInfoId,
+			}, 1)
 		case 1:
 			firstDataList, err = GetPredictEdbDataListAllByStartDate(edbInfo, 1, "")
 		default: