浏览代码

残差分析-保存

gmy 5 月之前
父节点
当前提交
a3e52de09d

+ 17 - 2
models/residual_analysis_model/calculate_residual_analysis_config.go

@@ -1,7 +1,6 @@
 package residual_analysis_model
 
 import (
-	"eta/eta_api/models/data_manage"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
@@ -152,10 +151,26 @@ type ResidualAnalysisConfigVo struct {
 	ContrastIndexMax float64 `description:"对比指标上限"`
 }
 
+type DetailEdbInfoList struct {
+	EdbInfoId   int    `orm:"column(edb_info_id);pk"`
+	EdbInfoType int    `description:"指标类型,0:普通指标,1:预测指标"`
+	IndexType   int    `orm:"column(index_type)" description:"指标类型:1-映射指标 2-残差指标 3-因变量指标 4-自变量指标"`
+	SourceName  string `description:"来源名称"`
+	Source      int    `description:"来源id"`
+	EdbCode     string `description:"指标编码"`
+	EdbNameEn   string `description:"英文指标名称"`
+	EdbName     string `description:"指标名称"`
+	Frequency   string `description:"频率"`
+	FrequencyEn string `description:"英文频率"`
+	Unit        string `description:"单位"`
+	UnitEn      string `description:"英文单位"`
+	ClassifyId  int    `description:"分类id"`
+}
+
 // ResidualAnalysisDetailResp 详情响应接口
 type ResidualAnalysisDetailResp struct {
 	ConfigInfo  *CalculateResidualAnalysisConfig
-	EdbInfoList []*data_manage.EdbInfoList
+	EdbInfoList []*DetailEdbInfoList
 }
 
 // GetResidualAnalysisConfigById 根据配置id查询配置信息

+ 29 - 1
services/residual_analysis_service/residual_analysis_service.go

@@ -602,8 +602,11 @@ func ResidualAnalysisDetail(edbInfoId int) (residual_analysis_model.ResidualAnal
 	}
 
 	var edbInfoIdList []int64
+	var edbInfoMap = make(map[int64]residual_analysis_model.CalculateResidualAnalysisConfigMapping)
 	for _, v := range configMappingList {
 		edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
+
+		edbInfoMap[v.EdbInfoId] = v
 	}
 
 	condition = ""
@@ -625,9 +628,34 @@ func ResidualAnalysisDetail(edbInfoId int) (residual_analysis_model.ResidualAnal
 		return residual_analysis_model.ResidualAnalysisDetailResp{}, err
 	}
 
+	var edbInfoListResp []*residual_analysis_model.DetailEdbInfoList
+	for _, edbInfo := range edbInfoList {
+		var indexType int
+		if _, ok := edbInfoMap[int64(edbInfo.EdbInfoId)]; ok {
+			indexType = edbInfoMap[int64(edbInfo.EdbInfoId)].IndexType
+		}
+
+		info := residual_analysis_model.DetailEdbInfoList{
+			EdbInfoId:   edbInfo.EdbInfoId,
+			EdbInfoType: edbInfo.EdbInfoType,
+			IndexType:   indexType,
+			SourceName:  edbInfo.SourceName,
+			Source:      edbInfo.Source,
+			EdbCode:     edbInfo.EdbCode,
+			EdbName:     edbInfo.EdbName,
+			EdbNameEn:   edbInfo.EdbNameEn,
+			Unit:        edbInfo.Unit,
+			UnitEn:      edbInfo.UnitEn,
+			Frequency:   edbInfo.Frequency,
+			FrequencyEn: edbInfo.FrequencyEn,
+			ClassifyId:  edbInfo.ClassifyId,
+		}
+		edbInfoListResp = append(edbInfoListResp, &info)
+	}
+
 	resp := residual_analysis_model.ResidualAnalysisDetailResp{
 		ConfigInfo:  &configInfo,
-		EdbInfoList: edbInfoList,
+		EdbInfoList: edbInfoListResp,
 	}
 
 	return resp, nil