Эх сурвалжийг харах

Merge branch 'feature/eta1.9.6_chart_series' into debug

# Conflicts:
#	models/data_manage/chart_info.go
#	services/data/chart_info.go
xyxie 7 сар өмнө
parent
commit
b8409a89ad

+ 1 - 1
models/data_manage/chart_info.go

@@ -2754,4 +2754,4 @@ type MaxMinLimitsData struct {
 	DataTimestamp int64   `description:"数据日期时间戳"`
 	MaxValue      float64 `description:"最大值"`
 	MinValue      float64 `description:"最小值"`
-}
+}

+ 19 - 20
models/data_manage/chart_theme/request/theme.go

@@ -29,7 +29,6 @@ type SetDefaultThemeReq struct {
 	ChartThemeTypeId int `description:"主题类型id"`
 }
 
-
 type ColorsOptions []string
 
 type LegendOptions struct {
@@ -71,20 +70,20 @@ type DrawOption struct {
 
 type LineOptions struct {
 	DashStyle string  `json:"dashStyle"`
-	LineWidth int     `json:"lineWidth"`
+	LineWidth float64 `json:"lineWidth"`
 	LineType  string  `json:"lineType"`
 	Radius    float64 `json:"radius"`
 }
 
 type OldChartOptions struct {
-	ColorsOptions  []string         `json:"colorsOptions"`
-	LineOptions    LineOptions      `json:"lineOptions"`
-	LegendOptions  interface{}      `json:"legendOptions"`
-	TitleOptions   interface{}      `json:"titleOptions"`
-	MarkerOptions  interface{}      `json:"markerOptions"`
-	XAxisOptions   interface{}      `json:"xAxisOptions"`
-	YAxisOptions   interface{}      `json:"yAxisOptions"`
-	DrawOption     interface{}      `json:"drawOption"`
+	ColorsOptions  []string           `json:"colorsOptions"`
+	LineOptions    LineOptions        `json:"lineOptions"`
+	LegendOptions  interface{}        `json:"legendOptions"`
+	TitleOptions   interface{}        `json:"titleOptions"`
+	MarkerOptions  interface{}        `json:"markerOptions"`
+	XAxisOptions   interface{}        `json:"xAxisOptions"`
+	YAxisOptions   interface{}        `json:"yAxisOptions"`
+	DrawOption     interface{}        `json:"drawOption"`
 	LineOptionList []LineStyleOptions `json:"lineOptionList"`
 }
 
@@ -103,13 +102,13 @@ type NewLineOptions struct {
 }
 
 type LineStyleOptions struct {
-	DashStyle string `json:"dashStyle"`
-	Color     string `json:"color"`
-	LineWidth int    `json:"lineWidth"`
-	LineType  string `json:"lineType"`
-	Radius    int `json:"radius"`
-	DataMark  string `json:"dataMark"`
-	MarkType  string `json:"markType"`
-	MarkSize  int `json:"markSize"`
-	MarkColor string `json:"markColor"`
-}
+	DashStyle string  `json:"dashStyle"`
+	Color     string  `json:"color"`
+	LineWidth float64 `json:"lineWidth"`
+	LineType  string  `json:"lineType"`
+	Radius    int     `json:"radius"`
+	DataMark  string  `json:"dataMark"`
+	MarkType  string  `json:"markType"`
+	MarkSize  int     `json:"markSize"`
+	MarkColor string  `json:"markColor"`
+}

+ 27 - 28
services/data/chart_info.go

@@ -522,6 +522,15 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 
 	// 特殊图形数据处理
 	switch chartType {
+	case 6: //时序组合图
+		//判断是否堆积
+		timeConf := extraConfig.(data_manage.ChartTimeCombineExtraConf)
+		if extraConfigStr == "" { //历史数据,默认开启堆积
+			timeConf = data_manage.ChartTimeCombineExtraConf{
+				IsHeap: 1,
+			}
+		}
+		dataResp = data_manage.ChartTimeCombineDataResp{IsHeap: timeConf.IsHeap}
 	case 2: // 季节性图
 		if seasonExtraConfig != "" {
 			// 季节性图计算不管图上数据时间,拿所有数据
@@ -535,15 +544,6 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 			// 兼容无配置的老图
 			dataResp = new(data_manage.SeasonChartResp)
 		}
-	case 6: //时序组合图
-		//判断是否堆积
-		timeConf := extraConfig.(data_manage.ChartTimeCombineExtraConf)
-		if extraConfigStr == "" { //历史数据,默认开启堆积
-			timeConf = data_manage.ChartTimeCombineExtraConf{
-				IsHeap: 1,
-			}
-		}
-		dataResp = data_manage.ChartTimeCombineDataResp{IsHeap: timeConf.IsHeap}
 	case 7: // 柱形图
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
@@ -3736,6 +3736,15 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 
 	// 特殊图形数据处理
 	switch chartType {
+	case 6: //时序组合图
+		//判断是否堆积
+		timeConf := extraConfig.(data_manage.ChartTimeCombineExtraConf)
+		if extraConfigStr == "" { //历史数据,默认开启堆积
+			timeConf = data_manage.ChartTimeCombineExtraConf{
+				IsHeap: 1,
+			}
+		}
+		dataResp = data_manage.ChartTimeCombineDataResp{IsHeap: timeConf.IsHeap}
 	case 2: // 季节性图
 		if seasonExtraConfig != "" {
 			// 季节性图计算不管图上数据时间,拿所有数据
@@ -3749,15 +3758,6 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 			// 兼容无配置的老图
 			dataResp = new(data_manage.SeasonChartResp)
 		}
-	case 6: //时序组合图
-		//判断是否堆积
-		timeConf := extraConfig.(data_manage.ChartTimeCombineExtraConf)
-		if extraConfigStr == "" { //历史数据,默认开启堆积
-			timeConf = data_manage.ChartTimeCombineExtraConf{
-				IsHeap: 1,
-			}
-		}
-		dataResp = data_manage.ChartTimeCombineDataResp{IsHeap: timeConf.IsHeap}
 	case 7: // 柱形图
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
@@ -3821,7 +3821,6 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 	return
 }
 
-
 // SeasonChartData 季节性图的数据处理
 func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraConfig string) (dataResp data_manage.SeasonChartResp, err error) {
 	var seasonConfig data_manage.SeasonExtraItem
@@ -3841,8 +3840,7 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 		}
 		// 上下限区间
 		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([]*data_manage.MaxMinLimitsData, 0)
 			dataTimeMap := make(map[time.Time]time.Time)
 			dataTimeList := make([]string, 0)
@@ -4160,7 +4158,7 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 			dataTimeList := make([]string, 0)
 			valueMap := make(map[time.Time]float64)
 			averageDataList := make([]*data_manage.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 {
@@ -4173,8 +4171,7 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 						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
 					}
@@ -4182,6 +4179,10 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 					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 {
@@ -4224,8 +4225,7 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 
 		// 自定义同期标准差
 		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)
@@ -4386,7 +4386,6 @@ func HandleDateChange(date string, edbDateConf data_manage.EdbDateChangeConf) (n
 	return
 }
 
-
 // handleSystemAppointDateT
 // @Description: 处理系统日期相关的指定频率(所在周/旬/月/季/半年/年的最后/最早一天)
 // @author: Roc
@@ -4514,4 +4513,4 @@ func handleSystemAppointDateT2(currDate time.Time, appointDay, frequency string)
 	}
 
 	return
-}
+}