|
@@ -635,11 +635,12 @@ func SaveResidualAnalysis(req residual_analysis_model.ResidualAnalysisIndexSaveR
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- // 获取指标数据最大值 最小值 最后更新时间 最后更新时间对应的值
|
|
|
+ // 获取指标数据最大值 最小值 最后更新时间 最后更新时间对应的值 开始时间 最后时间
|
|
|
var indexMax, indexMin, indexLatestValue float64
|
|
|
- var indexLatestDate string
|
|
|
+ var indexLatestDate, startDate string
|
|
|
if len(req.DataList) > 0 {
|
|
|
latestTime, _ := time.Parse(utils.YearMonthDay, req.DataList[0].DataTime)
|
|
|
+ firstTime, _ := time.Parse(utils.YearMonthDay, req.DataList[0].DataTime)
|
|
|
for _, data := range req.DataList {
|
|
|
// 比较最大值
|
|
|
if data.Value > indexMax {
|
|
@@ -664,6 +665,12 @@ func SaveResidualAnalysis(req residual_analysis_model.ResidualAnalysisIndexSaveR
|
|
|
indexLatestDate = data.DataTime
|
|
|
indexLatestValue = data.Value
|
|
|
}
|
|
|
+
|
|
|
+ // 取最小时间
|
|
|
+ if currentTime.Before(firstTime) {
|
|
|
+ firstTime = currentTime
|
|
|
+ startDate = data.DataTime
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -701,6 +708,8 @@ func SaveResidualAnalysis(req residual_analysis_model.ResidualAnalysisIndexSaveR
|
|
|
}
|
|
|
|
|
|
// 须补充更新指标最大值,最小值,数据最新时间,数据最新值
|
|
|
+ edbInfo.StartDate = startDate
|
|
|
+ edbInfo.EndDate = indexLatestDate
|
|
|
edbInfo.MaxValue = indexMax
|
|
|
edbInfo.MinValue = indexMin
|
|
|
edbInfo.LatestDate = indexLatestDate
|
|
@@ -770,6 +779,40 @@ func SaveResidualAnalysis(req residual_analysis_model.ResidualAnalysisIndexSaveR
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
+
|
|
|
+ // 保存溯源信息
|
|
|
+ {
|
|
|
+ fromEdbInfoList, err := data_manage.GetEdbInfoByIdList([]int{req.EdbInfoIdA, req.EdbInfoIdB})
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("获取失败")
|
|
|
+ }
|
|
|
+
|
|
|
+ edbCalculateMappingInfoList := make([]*data_manage.EdbInfoCalculateMapping, 0, len(fromEdbInfoList))
|
|
|
+
|
|
|
+ for _, fromEdbInfo := range fromEdbInfoList {
|
|
|
+ // 创建新对象并直接使用指针
|
|
|
+ edbCalculateMappingInfo := &data_manage.EdbInfoCalculateMapping{
|
|
|
+ EdbInfoId: int(edbInfoId),
|
|
|
+ Source: req.Source,
|
|
|
+ SourceName: "残差分析",
|
|
|
+ EdbCode: edbCode,
|
|
|
+ FromEdbInfoId: fromEdbInfo.EdbInfoId,
|
|
|
+ FromEdbCode: fromEdbInfo.EdbCode,
|
|
|
+ FromEdbName: fromEdbInfo.EdbName,
|
|
|
+ FromSource: fromEdbInfo.Source,
|
|
|
+ FromSourceName: fromEdbInfo.SourceName,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ }
|
|
|
+
|
|
|
+ edbCalculateMappingInfoList = append(edbCalculateMappingInfoList, edbCalculateMappingInfo)
|
|
|
+ }
|
|
|
+
|
|
|
+ err = data_manage.AddEdbInfoCalculateMappingMulti(edbCalculateMappingInfoList)
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("保存溯源信息失败,Err:" + err.Error())
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 新增数据
|
|
@@ -816,34 +859,6 @@ func SaveResidualAnalysis(req residual_analysis_model.ResidualAnalysisIndexSaveR
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 保存溯源信息
|
|
|
- {
|
|
|
- fromEdbInfo, err := data_manage.GetEdbInfoById(int(edbInfoId))
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- return fmt.Errorf("指标不存在,err:" + err.Error())
|
|
|
- }
|
|
|
- return fmt.Errorf("获取失败")
|
|
|
- }
|
|
|
-
|
|
|
- edbCalculateMappingInfo := new(data_manage.EdbInfoCalculateMapping)
|
|
|
- edbCalculateMappingInfo.EdbInfoId = int(edbInfoId)
|
|
|
- edbCalculateMappingInfo.Source = req.Source
|
|
|
- edbCalculateMappingInfo.SourceName = "残差分析"
|
|
|
- edbCalculateMappingInfo.EdbCode = edbCode
|
|
|
- edbCalculateMappingInfo.FromEdbInfoId = fromEdbInfo.EdbInfoId
|
|
|
- edbCalculateMappingInfo.FromEdbCode = fromEdbInfo.EdbCode
|
|
|
- edbCalculateMappingInfo.FromEdbName = fromEdbInfo.EdbName
|
|
|
- edbCalculateMappingInfo.FromSource = fromEdbInfo.Source
|
|
|
- edbCalculateMappingInfo.FromSourceName = fromEdbInfo.SourceName
|
|
|
- edbCalculateMappingInfo.CreateTime = time.Now()
|
|
|
- edbCalculateMappingInfo.ModifyTime = time.Now()
|
|
|
- err = edbCalculateMappingInfo.Insert()
|
|
|
- if err != nil {
|
|
|
- return fmt.Errorf("保存溯源信息失败,Err:" + err.Error())
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
//添加es
|
|
|
data.AddOrEditEdbInfoToEs(int(edbInfoId))
|
|
|
|