zwxi 7 months ago
parent
commit
b8a3a34cb2
2 changed files with 38 additions and 17 deletions
  1. 8 8
      models/data_manage/chart_info.go
  2. 30 9
      services/data/chart_info.go

+ 8 - 8
models/data_manage/chart_info.go

@@ -297,18 +297,18 @@ type MarkersLineTime struct {
 // EdbDateExtraConf
 // @Description: 导入指标日期前移和日期变换
 type EdbDateChangeConf struct {
-	MoveForward int `description:"前移的期数"`
-	BaseDate    int `description:"基准日期 0系统日期 1指标最新日期"`
+	MoveForward int `json:"moveForward" description:"前移的期数"`
+	BaseDate    int `json:"date" description:"基准日期 0系统日期 1指标最新日期"`
 	DateChange  []*EdbDateConfDateChange
 }
 
 type EdbDateConfDateChange struct {
-	Year         int
-	Month        int
-	Day          int
-	Frequency    string `description:"频度变换"`
-	FrequencyDay string `description:"频度的固定日期"`
-	ChangeType   int    `description:"日期变换类型1日期位移,2指定频率"`
+	Year         int    `json:"year" description:"前移的期数"`
+	Month        int    `json:"month" description:"前移的期数"`
+	Day          int    `json:"day" description:"前移的期数"`
+	Frequency    string `json:"moveForward" description:"频度变换"`
+	FrequencyDay string `json:"frequencyDay" description:"频度的固定日期"`
+	ChangeType   int    `json:"changeType" description:"日期变换类型1日期位移,2指定频率"`
 }
 
 type EditChartEnInfoReq struct {

+ 30 - 9
services/data/chart_info.go

@@ -3360,14 +3360,21 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 							err = e
 							return
 						}
-						endDateStr := fmt.Sprintf("%d-%s", time.Now().Year(), seasonConfig.XEndDate)
-						endDate, e := time.Parse(utils.FormatDate, endDateStr)
-						if e != nil {
-							err =e
-							return
+						//endDateStr := fmt.Sprintf("%d-%s", time.Now().Year(), seasonConfig.XEndDate)
+						//endDate, e := time.Parse(utils.FormatDate, endDateStr)
+						//if e != nil {
+						//	err =e
+						//	return
+						//}
+						var newDate time.Time
+						lastdate := time.Date(dateTime.Year()+1, 1, 1, 23, 59, 59, 0, time.Now().Location()).AddDate(0,0,-1)
+						if dateTime.Before(lastdate) {
+							newDate = dateTime.AddDate(time.Now().Year()-dateTime.Year()-1, 0, 0)
+						} else {
+							newDate = dateTime.AddDate(time.Now().Year()-dateTime.Year(), 0, 0)
 						}
-						newDate := dateTime.AddDate(time.Now().Year()-dateTime.Year(), 0, 0)
-						if newDate.Before(startDate) || newDate.After(endDate) {
+
+						if newDate.Before(startDate) {
 							continue
 						}
 						// 处理上下限列表
@@ -3423,10 +3430,24 @@ func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraCon
 							err =e
 							return
 						}
-						newDate := dateTime.AddDate(time.Now().Year()-dateTime.Year(), 0, 0)
-						if newDate.Before(startDate) || newDate.After(endDate) {
+						// 开始日期 年份的最后一天
+						var newDate time.Time
+						lastdate := time.Date(startDate.Year()+1, 1, 1, 23, 59, 59, 0, time.Now().Location()).AddDate(0,0,-1)
+						if dateTime.Before(lastdate) {
+							newDate = dateTime.AddDate(time.Now().Year()-dateTime.Year()-1, 0, 0)
+						} else {
+							newDate = dateTime.AddDate(time.Now().Year()-dateTime.Year(), 0, 0)
+						}
+
+						if newDate.Before(endDate) {
+							continue
+						}
+						if newDate.After(startDate) {
 							continue
 						}
+						if seasonConfig.JumpYear == 1 {
+
+						}
 
 						if value, ok := maxValueMap[newDate]; ok {
 							if value < vv.Value {