瀏覽代碼

fix:拟合残差的计算日期调整

Roc 2 年之前
父節點
當前提交
b3b01e35e3
共有 1 個文件被更改,包括 32 次插入0 次删除
  1. 32 0
      models/edb_data_calculate_nhcc.go

+ 32 - 0
models/edb_data_calculate_nhcc.go

@@ -463,6 +463,38 @@ func refreshAllCalculateNhcc(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 		bDataList, bDataMap = handleNhccData(secondDataList, existItemB.MoveValue)
 	}
 
+	if len(aDataList) <= 0 {
+		err = errors.New("指标A没有数据")
+		return
+	}
+	if len(bDataList) <= 0 {
+		err = errors.New("指标B没有数据")
+		return
+	}
+	// 拟合残差计算的结束日期判断
+	{
+		endAData := aDataList[len(aDataList)-1]
+		tmpEndDate, tmpErr := time.ParseInLocation(utils.FormatDate, endAData.DataTime, time.Local)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		// 如果A指标的最新数据日期早于拟合残差的结束日期,那么就用A指标的最新数据日期
+		if tmpEndDate.Before(nhccDate.EndDate) {
+			nhccDate.EndDate = tmpEndDate
+		}
+		endBData := bDataList[len(bDataList)-1]
+		tmpEndDate, tmpErr = time.ParseInLocation(utils.FormatDate, endBData.DataTime, time.Local)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		// 如果B指标的最新数据日期早于拟合残差的结束日期,那么就用A指标的最新数据日期
+		if tmpEndDate.Before(nhccDate.EndDate) {
+			nhccDate.EndDate = tmpEndDate
+		}
+	}
+
 	// 计算线性方程公式
 	var a, b float64
 	{