|
@@ -910,7 +910,7 @@ func GetSeasonEdbInfoDataListByXDate(dataList []*data_manage.EdbDataList, latest
|
|
|
}
|
|
|
|
|
|
if v.DataTime == latestDateStr {
|
|
|
- dateItem.CuttingDataTimestamp = v.DataTimestamp
|
|
|
+ dateItem.CuttingDataTimestamp = timestamp
|
|
|
dataMap[k] = dateItem
|
|
|
}
|
|
|
|
|
@@ -995,6 +995,7 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
|
|
|
return
|
|
|
}
|
|
|
endYear := lastDateT.Year()
|
|
|
+ nowYear := time.Now().Year()
|
|
|
dataMap := make(map[string]data_manage.QuarterXDateItem, 0)
|
|
|
|
|
|
quarterDataList := make([]*data_manage.QuarterData, 0)
|
|
@@ -1026,6 +1027,10 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
|
|
|
|
|
|
break
|
|
|
}
|
|
|
+ if endT.Year() > nowYear {
|
|
|
+
|
|
|
+ nowYear = endT.Year()
|
|
|
+ }
|
|
|
item := data_manage.QuarterXDateItem{
|
|
|
StartDate: startT,
|
|
|
EndDate: endT,
|
|
@@ -1062,26 +1067,87 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
|
|
|
|
|
|
for name, dateItem := range dataMap {
|
|
|
lv, ok1 := yearDataListMap[dateItem.EndDate.Year()]
|
|
|
+ if dateItem.EndDate.Year() > maxY {
|
|
|
+ lv, ok1 = yearDataListMap[dateItem.StartDate.Year()]
|
|
|
+ }
|
|
|
if !ok1 {
|
|
|
continue
|
|
|
}
|
|
|
-
|
|
|
for _, item := range lv.Items {
|
|
|
+ tmpVal := data_manage.EdbDataList{
|
|
|
+ EdbDataId: item.EdbDataId,
|
|
|
+ EdbInfoId: item.EdbInfoId,
|
|
|
+ DataTime: item.DataTime,
|
|
|
+ DataTimestamp: item.DataTimestamp,
|
|
|
+ Value: item.Value,
|
|
|
+ }
|
|
|
dataTimeT, _ := time.Parse(utils.FormatDate, item.DataTime)
|
|
|
- if (startTmpT.Before(dataTimeT) && endTmpT.After(dataTimeT)) || startTmpT == dataTimeT || endTmpT == dataTimeT {
|
|
|
- if findVal, ok := quarterMap[name]; !ok {
|
|
|
- findVal = append(findVal, item)
|
|
|
- quarterMap[name] = findVal
|
|
|
- } else {
|
|
|
- findVal = append(findVal, item)
|
|
|
- quarterMap[name] = findVal
|
|
|
+ year := dataTimeT.Year()
|
|
|
+ newItemDate := dataTimeT.AddDate(nowYear-year, 0, 0)
|
|
|
+ if dateItem.EndDate.Year() > maxY {
|
|
|
+ if (dateItem.StartDate.Before(dataTimeT) && dateItem.EndDate.After(dataTimeT)) || dateItem.StartDate == dataTimeT || dateItem.EndDate == dataTimeT {
|
|
|
+ if jumpYear == 1 {
|
|
|
+
|
|
|
+ beforeYearMaxDate := fmt.Sprintf("%d-12-31", dateItem.StartDate.Year())
|
|
|
+ beforeYearMaxDateT, _ := time.Parse(utils.FormatDate, beforeYearMaxDate)
|
|
|
+ if dataTimeT.Before(beforeYearMaxDateT) || dataTimeT == beforeYearMaxDateT {
|
|
|
+ newItemDate = dataTimeT.AddDate(nowYear-year-1, 0, 0)
|
|
|
+ } else {
|
|
|
+ newItemDate = dataTimeT.AddDate(nowYear-year, 0, 0)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ newItemDate = dataTimeT.AddDate(nowYear-year, 0, 0)
|
|
|
+ }
|
|
|
+ timestamp := newItemDate.UnixNano() / 1e6
|
|
|
+ tmpVal.DataTimestamp = timestamp
|
|
|
+ tmpV := &tmpVal
|
|
|
+ if findVal, ok := quarterMap[name]; !ok {
|
|
|
+ findVal = append(findVal, tmpV)
|
|
|
+ quarterMap[name] = findVal
|
|
|
+ } else {
|
|
|
+ findVal = append(findVal, tmpV)
|
|
|
+ quarterMap[name] = findVal
|
|
|
+ }
|
|
|
+ if lv.Year >= latestDateYear {
|
|
|
+
|
|
|
+ cuttingDataTimeStr := latestDate.AddDate(0, 0, lv.BetweenDay).Format(utils.FormatDate)
|
|
|
+ if item.DataTime == cuttingDataTimeStr {
|
|
|
+ dateItem.CuttingDataTimestamp = timestamp
|
|
|
+ dataMap[name] = dateItem
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- if lv.Year >= latestDateYear {
|
|
|
-
|
|
|
- cuttingDataTimeStr := latestDate.AddDate(0, 0, lv.BetweenDay).Format(utils.FormatDate)
|
|
|
- if item.DataTime == cuttingDataTimeStr {
|
|
|
- dateItem.CuttingDataTimestamp = item.DataTimestamp
|
|
|
- dataMap[name] = dateItem
|
|
|
+ } else {
|
|
|
+ if (startTmpT.Before(dataTimeT) && endTmpT.After(dataTimeT)) || startTmpT == dataTimeT || endTmpT == dataTimeT {
|
|
|
+ if jumpYear == 1 {
|
|
|
+
|
|
|
+ beforeYearMaxDate := fmt.Sprintf("%d-12-31", startTmpT.Year())
|
|
|
+ beforeYearMaxDateT, _ := time.Parse(utils.FormatDate, beforeYearMaxDate)
|
|
|
+ if dataTimeT.Before(beforeYearMaxDateT) || dataTimeT == beforeYearMaxDateT {
|
|
|
+ newItemDate = dataTimeT.AddDate(nowYear-year-1, 0, 0)
|
|
|
+ } else {
|
|
|
+ newItemDate = dataTimeT.AddDate(nowYear-year, 0, 0)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ newItemDate = dataTimeT.AddDate(nowYear-year, 0, 0)
|
|
|
+ }
|
|
|
+ timestamp := newItemDate.UnixNano() / 1e6
|
|
|
+ tmpVal.DataTimestamp = timestamp
|
|
|
+ tmpV := &tmpVal
|
|
|
+ if findVal, ok := quarterMap[name]; !ok {
|
|
|
+ findVal = append(findVal, tmpV)
|
|
|
+ quarterMap[name] = findVal
|
|
|
+ } else {
|
|
|
+ findVal = append(findVal, tmpV)
|
|
|
+ quarterMap[name] = findVal
|
|
|
+ }
|
|
|
+ if lv.Year >= latestDateYear {
|
|
|
+
|
|
|
+ cuttingDataTimeStr := latestDate.AddDate(0, 0, lv.BetweenDay).Format(utils.FormatDate)
|
|
|
+ if item.DataTime == cuttingDataTimeStr {
|
|
|
+ dateItem.CuttingDataTimestamp = timestamp
|
|
|
+ dataMap[name] = dateItem
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|