Browse Source

农历图例多余处理

xyxie 1 year ago
parent
commit
3bb3aee39d
1 changed files with 12 additions and 39 deletions
  1. 12 39
      services/data/chart_info.go

+ 12 - 39
services/data/chart_info.go

@@ -833,7 +833,6 @@ func GetSeasonEdbInfoDataListByXDate(dataList []*data_manage.EdbDataList, latest
 	quarterMap := make(map[string][]*data_manage.EdbDataList, 0)
 
 	//整理出日期
-	leftNameFlag := true
 	for currentStartYear := startYear; currentStartYear <= endYear; currentStartYear++ {
 		startStr := fmt.Sprintf("%d-%s", currentStartYear, xStartDate)
 		currentEndYear := currentStartYear
@@ -860,29 +859,15 @@ func GetSeasonEdbInfoDataListByXDate(dataList []*data_manage.EdbDataList, latest
 			//如果最新的日期在起始日之前,则跳出循环
 			break
 		}
-
-		if startT.Before(lastDateT) && endT.After(lastDateT) {
-			if endYear > currentStartYear {
-				leftNameFlag = false
-			}
-		}
 		item := data_manage.QuarterXDateItem{
-			StartDate: startT,
-			EndDate:   endT,
-			ShowName:  showName,
+			StartDate:   startT,
+			EndDate:     endT,
+			ShowName:    showName,
+			ChartLegend: strconv.Itoa(startT.Year()),
 		}
 		dataMap[name] = item
 	}
 
-	for k, v := range dataMap {
-		if leftNameFlag {
-			v.ChartLegend = strconv.Itoa(v.StartDate.Year())
-		} else {
-			v.ChartLegend = strconv.Itoa(v.EndDate.Year())
-		}
-		dataMap[k] = v
-	}
-
 	nowYear := time.Now().Year()
 	for _, v := range dataList {
 		dataTimeT, _ := time.Parse(utils.FormatDate, v.DataTime)
@@ -890,7 +875,7 @@ func GetSeasonEdbInfoDataListByXDate(dataList []*data_manage.EdbDataList, latest
 		newItemDate := dataTimeT.AddDate(nowYear-year, 0, 0)
 		for k, dateItem := range dataMap {
 			if (dateItem.StartDate.Before(dataTimeT) && dateItem.EndDate.After(dataTimeT)) || dateItem.StartDate == dataTimeT || dateItem.EndDate == dataTimeT {
-				if jumpYear == 1 {
+				if jumpYear == 1 && year < nowYear {
 					//计算前一年最大的日期, 只补齐数据到去年
 					beforeYearMaxDate := fmt.Sprintf("%d-12-31", dateItem.StartDate.Year())
 					beforeYearMaxDateT, _ := time.Parse(utils.FormatDate, beforeYearMaxDate)
@@ -912,7 +897,6 @@ func GetSeasonEdbInfoDataListByXDate(dataList []*data_manage.EdbDataList, latest
 					dateItem.CuttingDataTimestamp = v.DataTimestamp
 					dataMap[k] = dateItem
 				}
-				break
 			}
 		}
 	}
@@ -995,12 +979,14 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 	resultData := make([]*data_manage.QuarterData, 0)
 	quarterMap := make(map[string][]*data_manage.EdbDataList, 0)
 	//整理出日期
-	leftNameFlag := true
 	for currentStartYear := startYear; currentStartYear <= endYear; currentStartYear++ {
 		startStr := fmt.Sprintf("%d-%s", currentStartYear, xStartDate)
 		currentEndYear := currentStartYear
 		if jumpYear == 1 {
 			currentEndYear = currentStartYear + 1
+			if currentEndYear > endYear {
+				break
+			}
 		}
 		endStr := fmt.Sprintf("%d-%s", currentEndYear, xEndDate)
 		showName := fmt.Sprintf("%d_%d", currentStartYear, currentEndYear)
@@ -1021,27 +1007,14 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 			//如果最新的日期在起始日之前,则跳出循环
 			break
 		}
-
-		if (startT.Before(lastDateT) && endT.After(lastDateT)) || startT == lastDateT || endT == lastDateT {
-			if endYear > currentStartYear {
-				leftNameFlag = false
-			}
-		}
 		item := data_manage.QuarterXDateItem{
-			StartDate: startT,
-			EndDate:   endT,
-			ShowName:  showName,
+			StartDate:   startT,
+			EndDate:     endT,
+			ShowName:    showName,
+			ChartLegend: strconv.Itoa(endT.Year()),
 		}
 		dataMap[showName] = item
 	}
-	for k, v := range dataMap {
-		if leftNameFlag {
-			v.ChartLegend = strconv.Itoa(v.StartDate.Year())
-		} else {
-			v.ChartLegend = strconv.Itoa(v.EndDate.Year())
-		}
-		dataMap[k] = v
-	}
 
 	yearDataListMap := make(map[int]*data_manage.EdbDataItems, 0)