Kaynağa Gözat

Merge branch 'ETA_1.9.4' into debug

zwxi 7 ay önce
ebeveyn
işleme
cea7a17f7d
1 değiştirilmiş dosya ile 10 ekleme ve 9 silme
  1. 10 9
      services/chart_info_show.go

+ 10 - 9
services/chart_info_show.go

@@ -1834,8 +1834,7 @@ func SeasonChartData(dataList []*models.ChartEdbInfoMapping, seasonExtraConfig s
 		}
 		// 上下限区间
 		if seasonConfig.MaxMinLimits.Year > 0 {
-			yearRange := time.Now().Year() - seasonConfig.MaxMinLimits.Year
-			startYear := time.Now().AddDate(-yearRange, 0, 0).Year()
+			startYear := time.Now().AddDate(-seasonConfig.MaxMinLimits.Year, 0, 0).Year()
 			dataResp.MaxMinLimits.List = make([]*models.MaxMinLimitsData, 0)
 			dataTimeMap := make(map[time.Time]time.Time)
 			dataTimeList := make([]string, 0)
@@ -2003,9 +2002,9 @@ func SeasonChartData(dataList []*models.ChartEdbInfoMapping, seasonExtraConfig s
 						if dateTime.Year() < startYear {
 							continue
 						}
-						// 不包含2月29号
+						// 月度的2月29号日期改为2月28日
 						if dateTime.Month() == 2 && dateTime.Day() == 29 {
-							continue
+							dateTime = dateTime.AddDate(0, 0, -1)
 						}
 						newDate = dateTime.AddDate(time.Now().Year()-dateTime.Year(), 0, 0)
 						if seasonConfig.JumpYear == 1 {
@@ -2153,7 +2152,7 @@ func SeasonChartData(dataList []*models.ChartEdbInfoMapping, seasonExtraConfig s
 			dataTimeList := make([]string, 0)
 			valueMap := make(map[time.Time]float64)
 			averageDataList := make([]*models.SamePeriodAverageData, 0)
-			for i := len(quarterDataList) - 1; i > len(quarterDataList)-seasonConfig.SamePeriodAverage.Year && i > 0; i-- {
+			for i := len(quarterDataList) - 1; i >= 0; i-- {
 				// 插值成日度
 				dataTimeList, _, err = HandleDataByLinearRegressionToList(quarterDataList[i].DataList, handleDataMap)
 				if err != nil {
@@ -2166,8 +2165,7 @@ func SeasonChartData(dataList []*models.ChartEdbInfoMapping, seasonExtraConfig s
 						err = errors.New("时间格式化异常, Err:" + e.Error())
 						return
 					}
-					yearRange := time.Now().Year() - seasonConfig.SamePeriodAverage.Year
-					startYear := time.Now().AddDate(-yearRange, 0, 0).Year()
+					startYear := time.Now().AddDate(-seasonConfig.SamePeriodAverage.Year, 0, 0).Year()
 					if dateTime.Year() < startYear {
 						continue
 					}
@@ -2175,6 +2173,10 @@ func SeasonChartData(dataList []*models.ChartEdbInfoMapping, seasonExtraConfig s
 					if dateTime.Month() == 2 && dateTime.Day() == 29 {
 						continue
 					}
+					// 不包含当年
+					if quarterDataList[i].ChartLegend == strconv.Itoa(time.Now().Year()) {
+						continue
+					}
 					newDate := dateTime.AddDate(time.Now().Year()-dateTime.Year(), 0, 0)
 					// 处理均值
 					if value, ok := valueMap[newDate]; ok {
@@ -2217,8 +2219,7 @@ func SeasonChartData(dataList []*models.ChartEdbInfoMapping, seasonExtraConfig s
 
 		// 自定义同期标准差
 		if seasonConfig.SamePeriodStandardDeviation.Year > 1 && seasonConfig.SamePeriodStandardDeviation.Multiple > 0 {
-			yearRange := time.Now().Year() - seasonConfig.SamePeriodAverage.Year
-			startYear := time.Now().AddDate(-yearRange, 0, 0).Year()
+			startYear := time.Now().AddDate(-seasonConfig.SamePeriodStandardDeviation.Year, 0, 0).Year()
 
 			// 先算均值,再算标准差
 			handleDataMap := make(map[string]float64)