|
@@ -606,10 +606,18 @@ func ResidualAnalysisDetail(edbInfoId int) (residual_analysis_model.ResidualAnal
|
|
|
|
|
|
var edbInfoIdList []int64
|
|
|
var edbInfoMap = make(map[int64]residual_analysis_model.CalculateResidualAnalysisConfigMapping)
|
|
|
+ var mappgingFlag = false
|
|
|
+ var residualFlag = false
|
|
|
for _, v := range configMappingList {
|
|
|
edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
|
|
|
|
|
|
edbInfoMap[v.EdbInfoId] = v
|
|
|
+
|
|
|
+ if v.IndexType == 1 {
|
|
|
+ mappgingFlag = true
|
|
|
+ } else if v.IndexType == 2 {
|
|
|
+ residualFlag = true
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
condition = ""
|
|
@@ -632,6 +640,8 @@ func ResidualAnalysisDetail(edbInfoId int) (residual_analysis_model.ResidualAnal
|
|
|
}
|
|
|
|
|
|
var edbInfoListResp []*residual_analysis_model.DetailEdbInfoList
|
|
|
+ var dependentEdbInfo residual_analysis_model.DetailEdbInfoList
|
|
|
+ var independentEdbInfo residual_analysis_model.DetailEdbInfoList
|
|
|
for _, edbInfo := range edbInfoList {
|
|
|
var indexType int
|
|
|
if _, ok := edbInfoMap[int64(edbInfo.EdbInfoId)]; ok {
|
|
@@ -654,6 +664,39 @@ func ResidualAnalysisDetail(edbInfoId int) (residual_analysis_model.ResidualAnal
|
|
|
ClassifyId: edbInfo.ClassifyId,
|
|
|
}
|
|
|
edbInfoListResp = append(edbInfoListResp, &info)
|
|
|
+
|
|
|
+ if indexType == 3 {
|
|
|
+ dependentEdbInfo = info
|
|
|
+ } else if indexType == 4 {
|
|
|
+ independentEdbInfo = info
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 补充表格中 映射指标或者残差指标
|
|
|
+ if mappgingFlag && !residualFlag {
|
|
|
+ info := residual_analysis_model.DetailEdbInfoList{
|
|
|
+ IndexType: 2,
|
|
|
+ EdbName: independentEdbInfo.EdbName + "映射残差/" + dependentEdbInfo.EdbName,
|
|
|
+ EdbNameEn: dependentEdbInfo.EdbNameEn,
|
|
|
+ Unit: dependentEdbInfo.Unit,
|
|
|
+ UnitEn: dependentEdbInfo.UnitEn,
|
|
|
+ Frequency: dependentEdbInfo.Frequency,
|
|
|
+ FrequencyEn: dependentEdbInfo.FrequencyEn,
|
|
|
+ ClassifyId: dependentEdbInfo.ClassifyId,
|
|
|
+ }
|
|
|
+ edbInfoListResp = append(edbInfoListResp, &info)
|
|
|
+ } else if !mappgingFlag && residualFlag {
|
|
|
+ info := residual_analysis_model.DetailEdbInfoList{
|
|
|
+ IndexType: 1,
|
|
|
+ EdbName: dependentEdbInfo.EdbName + "映射" + independentEdbInfo.EdbName,
|
|
|
+ EdbNameEn: dependentEdbInfo.EdbNameEn,
|
|
|
+ Unit: dependentEdbInfo.Unit,
|
|
|
+ UnitEn: dependentEdbInfo.UnitEn,
|
|
|
+ Frequency: dependentEdbInfo.Frequency,
|
|
|
+ FrequencyEn: dependentEdbInfo.FrequencyEn,
|
|
|
+ ClassifyId: dependentEdbInfo.ClassifyId,
|
|
|
+ }
|
|
|
+ edbInfoListResp = append(edbInfoListResp, &info)
|
|
|
}
|
|
|
|
|
|
resp := residual_analysis_model.ResidualAnalysisDetailResp{
|
|
@@ -728,3 +771,20 @@ func SaveResidualAnalysisConfig(req residual_analysis_model.ResidualAnalysisReq,
|
|
|
|
|
|
return configId, nil
|
|
|
}
|
|
|
+
|
|
|
+func CheckResidualAnalysisExist(configId int) (int64, error) {
|
|
|
+
|
|
|
+ configMappingList, err := residual_analysis_model.GetConfigMappingListByConfigId(configId)
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+
|
|
|
+ var configMapping residual_analysis_model.CalculateResidualAnalysisConfigMapping
|
|
|
+ for _, mapping := range configMappingList {
|
|
|
+ if mapping.IndexType == 2 {
|
|
|
+ configMapping = mapping
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return configMapping.EdbInfoId, nil
|
|
|
+}
|