瀏覽代碼

残差分析 指标刷新

gmy 3 月之前
父節點
當前提交
511d057494
共有 2 個文件被更改,包括 27 次插入30 次删除
  1. 10 22
      models/calculate_residual_analysis_config_mapping.go
  2. 17 8
      models/edb_data_residual_analysis.go

+ 10 - 22
models/calculate_residual_analysis_config_mapping.go

@@ -20,30 +20,18 @@ func init() {
 	orm.RegisterModel(new(CalculateResidualAnalysisConfigMapping))
 }
 
-// GetConfigMappingListByConfigId 根据配置配置id查询配置信息
-func GetConfigMappingListByConfigId(configId int) (items []CalculateResidualAnalysisConfigMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `select * from calculate_residual_analysis_config_mapping where calculate_residual_analysis_config_id = ?`
-
-	_, err = o.Raw(sql, configId).QueryRows(&items)
-	return items, nil
-}
-
-// GetConfigMappingListByCondition 通过条件查询指标配置映射
-func GetConfigMappingListByCondition(condition string, pars []interface{}) (items []CalculateResidualAnalysisConfigMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `select * from calculate_residual_analysis_config_mapping where 1=1 `
-
-	sql += condition
-
-	_, err = o.Raw(sql, pars).QueryRows(&items)
-	return items, nil
-}
-
 // GetConfigMappingListByConditionNotBase 查询非基础指标的配置映射
 func GetConfigMappingListByConditionNotBase(edbInfoId int) (configMapping []CalculateResidualAnalysisConfigMapping, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `select * from calculate_residual_analysis_config_mapping where 1=1 and edb_info_id in (select edb_info_id from edb_info where index_type != 3 and index_type != 4 and edb_info_id = ?) `
+	o := orm.NewOrm()
+	sql := `
+	SELECT
+  		* 
+	FROM
+  		calculate_residual_analysis_config_mapping 
+	WHERE
+  		calculate_residual_analysis_config_id IN ( SELECT calculate_residual_analysis_config_id FROM calculate_residual_analysis_config_mapping WHERE edb_info_id = ? ) 
+  		AND index_type != 3 
+  		AND index_type != 4`
 	_, err = o.Raw(sql, edbInfoId).QueryRows(&configMapping)
 	if err != nil {
 		return nil, fmt.Errorf("查询数据时出错: %v", err)

+ 17 - 8
models/edb_data_residual_analysis.go

@@ -28,7 +28,7 @@ func init() {
 
 // AddResidualAnalysisData 新增指标数据
 func AddResidualAnalysisData(dataList []edbDataResidualAnalysis) (num int64, err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := orm.NewOrm()
 	num, err = o.InsertMulti(len(dataList), dataList)
 	if err != nil {
 		return 0, err
@@ -39,8 +39,8 @@ func AddResidualAnalysisData(dataList []edbDataResidualAnalysis) (num int64, err
 
 // RefreshAllCalculateResidualAnalysis 刷新残差分析
 func RefreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string) (err error) {
-	o := orm.NewOrm()
-	to, err := o.Begin()
+	to := orm.NewOrm()
+	/*to, err := o.Begin()
 	if err != nil {
 		return
 	}
@@ -51,7 +51,7 @@ func RefreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaIn
 		} else {
 			_ = to.Commit()
 		}
-	}()
+	}()*/
 	configMapping, err := GetConfigMappingListByConditionNotBase(edbInfoId)
 	if err != nil {
 		return err
@@ -64,19 +64,23 @@ func RefreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaIn
 
 	//清空原有数据
 	sql := ` DELETE FROM edb_data_residual_analysis WHERE edb_info_id in (` + utils.GetOrmInReplace(len(edbInfoIdList)) + `) `
-	_, err = to.Raw(sql, edbInfoIdList).Exec()
+	var params []interface{}
+	for _, i := range edbInfoIdList {
+		params = append(params, i)
+	}
+	_, err = to.Raw(sql, params...).Exec()
 	if err != nil {
 		return
 	}
 
 	//计算数据
-	err = refreshAllCalculateResidualAnalysis(to, edbInfoId, source, subSource, formulaInt, moveType, fromEdbInfo, edbCode, startDate, endDate, moveFrequency, configMapping)
+	err = refreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaInt, moveType, fromEdbInfo, edbCode, startDate, endDate, moveFrequency, configMapping)
 
 	return
 }
 
 // refreshAllCalculateResidualAnalysis 刷新所有残差分析
-func refreshAllCalculateResidualAnalysis(to orm.TxOrmer, edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string, configMapping []CalculateResidualAnalysisConfigMapping) (err error) {
+func refreshAllCalculateResidualAnalysis(edbInfoId, source, subSource, formulaInt, moveType int, fromEdbInfo *EdbInfo, edbCode, startDate, endDate, moveFrequency string, configMapping []CalculateResidualAnalysisConfigMapping) (err error) {
 	fmt.Println("refreshAllCalculateResidualAnalysis startDate:", startDate)
 
 	calculateMappingList, err := GetCalculateMappingListByEdbInfoId(edbInfoId)
@@ -155,6 +159,11 @@ func refreshAllCalculateResidualAnalysis(to orm.TxOrmer, edbInfoId, source, subS
 	// 残差图表信息
 	residualEdbList, _, err := fillResidualChartInfo(config, fromEdbInfo, edbInfoMappingA, edbInfoMappingB, mappingEdbList)
 
+	edbInfo, err := GetEdbInfoById(edbInfoId)
+	if err != nil {
+		return err
+	}
+
 	// 映射指标 与 残差指标 同步刷新
 	for _, mapping := range configMapping {
 		var edbDataResidualAnalysisList []edbDataResidualAnalysis
@@ -163,7 +172,7 @@ func refreshAllCalculateResidualAnalysis(to orm.TxOrmer, edbInfoId, source, subS
 				value, _ := strconv.ParseFloat(edbData.Value, 64)
 				edbDataResidualAnalysisList = append(edbDataResidualAnalysisList, edbDataResidualAnalysis{
 					EdbInfoId:     int(mapping.EdbInfoId),
-					EdbCode:       edbData.EdbCode,
+					EdbCode:       edbInfo.EdbCode,
 					DataTime:      edbData.DataTime,
 					Value:         value,
 					CreateTime:    time.Now(),