|
@@ -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
|
|
|
-}
|
|
|
+}
|