|
@@ -782,6 +782,29 @@ func getNhccData(to orm.TxOrmer, existItemA, existItemB *EdbInfoCalculateMapping
|
|
|
err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
+ // 拟合残差计算的开始日期判断
|
|
|
+ {
|
|
|
+ startAData := aDataList[0]
|
|
|
+ tmpStartDate, tmpErr := time.ParseInLocation(utils.FormatDate, startAData.DataTime, time.Local)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 如果A指标的最新数据日期晚于拟合残差的结束日期,那么就用A指标的最新数据日期
|
|
|
+ if tmpStartDate.After(newNhccDate.StartDate) {
|
|
|
+ newNhccDate.StartDate = tmpStartDate
|
|
|
+ }
|
|
|
+ startBData := bDataList[0]
|
|
|
+ tmpStartDate, tmpErr = time.ParseInLocation(utils.FormatDate, startBData.DataTime, time.Local)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 如果B指标的最新数据日期晚于拟合残差的结束日期,那么就用A指标的最新数据日期
|
|
|
+ if tmpStartDate.After(newNhccDate.StartDate) {
|
|
|
+ newNhccDate.StartDate = tmpStartDate
|
|
|
+ }
|
|
|
+ }
|
|
|
// 拟合残差计算的结束日期判断
|
|
|
{
|
|
|
endAData := aDataList[len(aDataList)-1]
|
|
@@ -832,12 +855,15 @@ func handleNhccData(dataList []*EdbInfoSearchData, moveDay int) (newDataList []E
|
|
|
newDate := currDate.AddDate(0, 0, moveDay)
|
|
|
newDateMap[newDate] = value
|
|
|
}
|
|
|
+
|
|
|
+ // 开始平移天数
|
|
|
minDate = minDate.AddDate(0, 0, moveDay)
|
|
|
maxDate = maxDate.AddDate(0, 0, moveDay)
|
|
|
|
|
|
- // 开始平移天数
|
|
|
+ // 计算最早日期与最晚日期之间的相差天数
|
|
|
dayNum := utils.GetTimeSubDay(minDate, maxDate)
|
|
|
|
|
|
+ // 将最早日期与最晚日期之间不存在的日期进行数据补全(按前一期数据补充)
|
|
|
for i := 0; i <= dayNum; i++ {
|
|
|
currDate := minDate.AddDate(0, 0, i)
|
|
|
tmpValue, ok := newDateMap[currDate]
|