zwxi 8 ヶ月 前
コミット
734617540c
1 ファイル変更19 行追加3 行削除
  1. 19 3
      services/data/chart_info.go

+ 19 - 3
services/data/chart_info.go

@@ -3224,7 +3224,7 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 	for _, mappingItem := range dataList {
 		quarterDataList := mappingItem.DataList.(data_manage.QuarterDataList)
 		// 上下限区间
-		//if seasonConfig.MaxMinLimits.Year > 0 {
+		if seasonConfig.MaxMinLimits.Year > 0 {
 			dataResp.MaxMinLimits.List = make([]*data_manage.MaxMinLimitsData, 0)
 			dataTimeMap := make(map[time.Time]time.Time)
 			dataTimeList := make([]string, 0)
@@ -3326,11 +3326,28 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 			dataResp.MaxMinLimits.Color = seasonConfig.MaxMinLimits.Color
 			dataResp.MaxMinLimits.Legend = seasonConfig.MaxMinLimits.Legend
 			dataResp.MaxMinLimits.IsShow = seasonConfig.MaxMinLimits.IsShow
-		//}
+		}
 
 		// 自定义同期均线
 		if seasonConfig.SamePeriodAverage.Year > 0 {
+			totalDataTimeList := make([]string, 0)
+			handleDataMap := make(map[string]float64)
+
+			for i := len(quarterDataList); i > seasonConfig.SamePeriodAverage.Year && i > 0; i-- {
+				// 插值成日度
+				dataTimeList, _, e := HandleDataByLinearRegressionToList(quarterDataList[i].DataList, handleDataMap)
+				if e != nil {
+					err = errors.New("插值处理数据异常, Err:" + e.Error())
+					return
+				}
+				totalDataTimeList = append(totalDataTimeList, dataTimeList...)
+			}
 
+			var totalvalue float64
+			for _, v := range totalDataTimeList {
+				totalvalue += handleDataMap[v]
+			}
+			dataResp.SamePeriodAverage.Value = totalvalue / float64(len(totalDataTimeList))
 		}
 
 		// 自定义同期标准差
@@ -3338,7 +3355,6 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 
 		}
 
-
 	}
 
 	return