Browse Source

农历数据调整

xyxie 1 year ago
parent
commit
f0548164b2

+ 1 - 1
controllers/data_manage/chart_info.go

@@ -124,7 +124,7 @@ func (this *ChartInfoController) ChartInfoSave() {
 
 	seasonExtraConfig := ""
 	if chartItem.ChartType == 2 {
-		if req.SeasonExtraConfig.XStartDate < req.SeasonExtraConfig.XEndDate && req.SeasonExtraConfig.JumpYear != 1 {
+		if req.SeasonExtraConfig.XStartDate > req.SeasonExtraConfig.XEndDate && req.SeasonExtraConfig.JumpYear != 1 {
 			br.Msg = "季节性图表配置信息异常:横坐标日期配置错误"
 			return
 		}

+ 4 - 1
models/data_manage/chart_info.go

@@ -568,6 +568,9 @@ func ModifyChartInfoAndMapping(edbInfoIdStr string, req *SaveChartInfoReq, chart
               edb_info_ids=?,
 			  modify_time = NOW(),
 			  calendar=?,
+			  date_type=?,
+			  start_date=?,
+			  end_date=?,
 			  season_start_date=?,
 			  season_end_date=?,
 			  left_min=?,
@@ -577,7 +580,7 @@ func ModifyChartInfoAndMapping(edbInfoIdStr string, req *SaveChartInfoReq, chart
 			  season_extra_config=?,
 			  start_year=?
 			WHERE chart_info_id = ?`
-		_, err = to.Raw(sql, edbInfoIdStr, req.Calendar, req.StartDate, req.EndDate, req.LeftMin, req.LeftMax, req.RightMin, req.RightMax, seasonExtra, req.StartYear, req.ChartInfoId).Exec()
+		_, err = to.Raw(sql, edbInfoIdStr, req.Calendar, req.DateType, req.StartDate, req.EndDate, req.StartDate, req.EndDate, req.LeftMin, req.LeftMax, req.RightMin, req.RightMax, seasonExtra, req.StartYear, req.ChartInfoId).Exec()
 		if err != nil {
 			fmt.Println("UPDATE  chart_info Err:", err.Error())
 			return err

+ 27 - 29
services/data/chart_info.go

@@ -981,8 +981,7 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 	//判断横轴的两个时间之间是不是跨年了,如果跨年了,则横轴截止年份比起始年份+1,如果不跨年,截止年份等于起始年份
 	//根据数据确定最早的年份,和最近年份
 	//根据横轴的日期,汇总所有的年份
-	startYear := result.List[0].Year
-
+	startYear := calendarPreYear
 	itemLength := len(result.List[length-1].Items)
 	//获取数据的最新日期
 	lastDate := result.List[length-1].Items[itemLength-1].DataTime
@@ -995,7 +994,7 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 	dataMap := make(map[string]data_manage.QuarterXDateItem)
 
 	quarterDataList := make([]*data_manage.QuarterData, 0)
-	//resultData := make([]*data_manage.QuarterData, 0)
+	resultData := make([]*data_manage.QuarterData, 0)
 	quarterMap := make(map[string][]*data_manage.EdbDataList)
 	//整理出日期
 	leftNameFlag := true
@@ -1052,33 +1051,33 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 		yearDataListMap[lv.Year] = lv
 	}
 
-	for name, dateItem := range dataMap {
-		lv, ok1 := yearDataListMap[dateItem.StartDate.Year()]
-		if startYear == calendarPreYear {
-			lv, ok1 = yearDataListMap[dateItem.EndDate.Year()]
-		}
-		if !ok1 {
-			lv, ok1 = yearDataListMap[dateItem.StartDate.Year()]
-			if !ok1 {
-				break
-			}
-		}
-		//判断哪些点应该落在同一条时间线上
-		maxY := 0
+	//判断哪些点应该落在同一条时间线上
+	maxY := 0
+	for _, lv := range result.List {
 		for _, item := range lv.Items {
 			dataTimeT, _ := time.Parse(utils.FormatDate, item.DataTime)
 			if dataTimeT.Year() > maxY {
 				maxY = dataTimeT.Year()
 			}
 		}
-		endTmp := fmt.Sprintf("%d-%s", maxY, xEndDate)
-		endTmpT, _ := time.Parse(utils.FormatDate, endTmp)
-		minY := maxY
-		if jumpYear == 1 {
-			minY = maxY - 1
+	}
+	endTmp := fmt.Sprintf("%d-%s", maxY, xEndDate)
+	endTmpT, _ := time.Parse(utils.FormatDate, endTmp)
+	minY := maxY
+	if jumpYear == 1 {
+		minY = maxY - 1
+	}
+	startTmp := fmt.Sprintf("%d-%s", minY, xStartDate)
+	startTmpT, _ := time.Parse(utils.FormatDate, startTmp)
+
+	for name, dateItem := range dataMap {
+		lv, ok1 := yearDataListMap[dateItem.EndDate.Year()]
+		if result.List[0].Year == calendarPreYear {
+			lv, ok1 = yearDataListMap[dateItem.StartDate.Year()]
+		}
+		if !ok1 {
+			break
 		}
-		startTmp := fmt.Sprintf("%d-%s", minY, xStartDate)
-		startTmpT, _ := time.Parse(utils.FormatDate, startTmp)
 
 		for _, item := range lv.Items {
 			dataTimeT, _ := time.Parse(utils.FormatDate, item.DataTime)
@@ -1091,7 +1090,6 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 					findVal = append(findVal, item)
 					quarterMap[name] = findVal
 				}
-
 				// todo 统计截止日
 				if lv.Year == endYear && item.DataTime == latestDateStr {
 					if dv, ok1 := dataMap[name]; ok1 {
@@ -1125,7 +1123,7 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 		quarterDataList = append(quarterDataList, quarterItem)
 	}
 
-	/*if startYear != calendarPreYear {
+	if result.List[0].Year != calendarPreYear {
 		itemList := make([]*data_manage.EdbDataList, 0)
 		items := new(data_manage.QuarterData)
 		//items.Year = calendarPreYear
@@ -1137,10 +1135,10 @@ func GetSeasonEdbInfoDataListByXDateNong(result *data_manage.EdbDataResult, late
 		resultData = newResult
 	} else {
 		resultData = quarterDataList
-	}*/
+	}
 
 	if len(quarterDataList) > 0 {
-		quarterDataListSort = quarterDataList
+		quarterDataListSort = resultData
 		sort.Sort(quarterDataListSort)
 	}
 	return
@@ -1916,7 +1914,7 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
 
 				// 处理季节性图表横轴配置
 				{
-					if req.SeasonExtraConfig.XStartDate < req.SeasonExtraConfig.XEndDate && req.SeasonExtraConfig.JumpYear != 1 {
+					if req.SeasonExtraConfig.XStartDate > req.SeasonExtraConfig.XEndDate && req.SeasonExtraConfig.JumpYear != 1 {
 						errMsg = "季节性图表配置信息异常:横坐标日期配置错误"
 						err = errors.New("季节性图表配置信息异常: 横坐标日期配置错误")
 						return
@@ -2250,7 +2248,7 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin) (cha
 
 				// 处理季节性图表横轴配置
 				{
-					if req.SeasonExtraConfig.XStartDate < req.SeasonExtraConfig.XEndDate && req.SeasonExtraConfig.JumpYear != 1 {
+					if req.SeasonExtraConfig.XStartDate > req.SeasonExtraConfig.XEndDate && req.SeasonExtraConfig.JumpYear != 1 {
 						errMsg = "季节性图表配置信息异常:横坐标日期配置错误"
 						err = errors.New("季节性图表配置信息异常: 横坐标日期配置错误")
 						return