Browse Source

Merge remote-tracking branch 'origin/debug' into debug

zwxi 9 months ago
parent
commit
7c818b25df
3 changed files with 59 additions and 94 deletions
  1. 1 1
      models/data_manage/chart_info.go
  2. 37 70
      services/data/chart_extra_config.go
  3. 21 23
      services/data/chart_info.go

+ 1 - 1
models/data_manage/chart_info.go

@@ -2754,4 +2754,4 @@ type MaxMinLimitsData struct {
 	DataTimestamp int64   `description:"数据日期时间戳"`
 	DataTimestamp int64   `description:"数据日期时间戳"`
 	MaxValue      float64 `description:"最大值"`
 	MaxValue      float64 `description:"最大值"`
 	MinValue      float64 `description:"最小值"`
 	MinValue      float64 `description:"最小值"`
-}
+}

+ 37 - 70
services/data/chart_extra_config.go

@@ -13,7 +13,7 @@ import (
 	"time"
 	"time"
 )
 )
 
 
-func HandleExtraConfig(chartType int, extraConfigStr string) (newExtraConfigStr string, newAllExtraConfigStr string, err error, errMsg string) {
+func HandleExtraConfig(chartInfoId int, chartType int, extraConfigStr string) (newExtraConfigStr string, newAllExtraConfigStr string, err error, errMsg string) {
 	newExtraConfigStr = extraConfigStr
 	newExtraConfigStr = extraConfigStr
 	switch chartType {
 	switch chartType {
 	case 10: // 截面散点图
 	case 10: // 截面散点图
@@ -46,7 +46,7 @@ func HandleExtraConfig(chartType int, extraConfigStr string) (newExtraConfigStr
 			err = errors.New(errMsg)
 			err = errors.New(errMsg)
 			return
 			return
 		}
 		}
-		newAllExtraConfig, e, msg := handleChartSectionCombineData(sectionExtraConfig)
+		newAllExtraConfig, e, msg := handleChartSectionCombineData(chartInfoId, sectionExtraConfig)
 		if e != nil {
 		if e != nil {
 			err = e
 			err = e
 			errMsg = msg
 			errMsg = msg
@@ -244,95 +244,62 @@ func GetEnNameMapByCnNameList(cnNameList []string) (contentEnMap map[string]stri
 }
 }
 
 
 // handleSectionScatterChartData 截面组合图的英文文案处理
 // handleSectionScatterChartData 截面组合图的英文文案处理
-func handleChartSectionCombineData(extraConfig data_manage.ChartSectionAllExtraConf) (newExtraConfig data_manage.ChartSectionAllExtraConf, err error, errMsg string) {
-	translateNameList := make([]string, 0)
-	translateNameMap := make(map[string]bool, 0)
-	for _, v := range extraConfig.DateConfList {
-		if _, ok := translateNameMap[v.DateConfName]; !ok && v.DateConfNameEn == "" {
-			translateNameMap[v.DateConfName] = true
-			tmpName := strings.TrimSuffix(v.DateConfName, " ")
-			tmpName = strings.TrimPrefix(tmpName, " ")
-			translateNameList = append(translateNameList, tmpName)
+func handleChartSectionCombineData(chartInfoId int, extraConfig data_manage.ChartSectionAllExtraConf) (newExtraConfig data_manage.ChartSectionAllExtraConf, err error, errMsg string) {
+	dateConfListMapSave := make(map[string]bool)
+	for k, v := range extraConfig.DateConfList {
+		if v.DateConfNameEn == "" {
+			extraConfig.DateConfList[k].DateConfNameEn = v.DateConfName
 		}
 		}
 	}
 	}
 
 
-	if _, ok := translateNameMap[extraConfig.UnitList.LeftName]; !ok && extraConfig.UnitList.LeftNameEn == "" {
-		translateNameMap[extraConfig.UnitList.LeftName] = true
-		tmpName := strings.TrimSuffix(extraConfig.UnitList.LeftName, " ")
-		tmpName = strings.TrimPrefix(tmpName, " ")
-		translateNameList = append(translateNameList, tmpName)
+	if extraConfig.UnitList.LeftNameEn == "" {
+		extraConfig.UnitList.LeftNameEn = extraConfig.UnitList.LeftName
 	}
 	}
-	if _, ok := translateNameMap[extraConfig.UnitList.RightName]; !ok && extraConfig.UnitList.RightNameEn == "" {
-		translateNameMap[extraConfig.UnitList.RightName] = true
-		tmpName := strings.TrimSuffix(extraConfig.UnitList.RightName, " ")
-		tmpName = strings.TrimPrefix(tmpName, " ")
-		translateNameList = append(translateNameList, tmpName)
+	if extraConfig.UnitList.RightNameEn == "" {
+		extraConfig.UnitList.RightNameEn = extraConfig.UnitList.RightName
 	}
 	}
-	if _, ok := translateNameMap[extraConfig.UnitList.RightTwoName]; !ok && extraConfig.UnitList.RightTwoNameEn == "" {
-		translateNameMap[extraConfig.UnitList.RightTwoName] = true
-		tmpName := strings.TrimSuffix(extraConfig.UnitList.RightTwoName, " ")
-		tmpName = strings.TrimPrefix(tmpName, " ")
-		translateNameList = append(translateNameList, tmpName)
+	if extraConfig.UnitList.RightTwoNameEn == "" {
+		extraConfig.UnitList.RightTwoNameEn = extraConfig.UnitList.RightTwoName
 	}
 	}
 
 
-	for _, v := range extraConfig.XDataList {
-		if _, ok := translateNameMap[v.Name]; !ok && v.NameEn == "" {
-			translateNameMap[v.Name] = true
-			tmpName := strings.TrimSuffix(v.Name, " ")
-			tmpName = strings.TrimPrefix(tmpName, " ")
-			translateNameList = append(translateNameList, tmpName)
+	for k, v := range extraConfig.XDataList {
+		if v.NameEn == "" {
+			extraConfig.XDataList[k].NameEn = v.Name
 		}
 		}
 	}
 	}
-	for _, v := range extraConfig.SeriesList {
+	for k, v := range extraConfig.SeriesList {
 		if v.SeriesNameEn == `` {
 		if v.SeriesNameEn == `` {
-			if _, ok := translateNameMap[v.SeriesName]; !ok {
-				translateNameMap[v.SeriesName] = true
-				tmpName := strings.TrimSuffix(v.SeriesName, " ")
-				tmpName = strings.TrimPrefix(tmpName, " ")
-				translateNameList = append(translateNameList, tmpName)
+			extraConfig.SeriesList[k].SeriesNameEn = v.SeriesName
+		}
+		for _, info := range v.EdbInfoList {
+			if info.DateConfType == 1 && info.DateConfName != "" {
+				dateConfListMapSave[info.DateConfName] = true
 			}
 			}
 		}
 		}
 	}
 	}
 
 
-	// 获取英文名称map
-	enNameMap, _, _ := GetEnNameMapByCnNameList(translateNameList)
-
-	for k, seriesItem := range extraConfig.SeriesList {
-		if len(seriesItem.EdbInfoList) <= 0 {
-			errMsg = "指标不能为空"
-			err = errors.New(errMsg)
+	if chartInfoId > 0 {
+		// 查询表里的系列信息
+		chartSectionCombineEdbList, e := data_manage.GetChartSeriesEdbByChartInfoId(chartInfoId)
+		if e != nil {
+			err = e
+			errMsg = "查询图表系列信息失败"
 			return
 			return
 		}
 		}
-		if seriesItem.SeriesNameEn == `` { //系列英文名称
-			if tmpNameEn, ok := enNameMap[seriesItem.SeriesName]; ok {
-				seriesItem.SeriesNameEn = tmpNameEn
+		for _, info := range chartSectionCombineEdbList {
+			if info.DateConfType == 1 && info.DateConfName != "" {
+				dateConfListMapSave[info.DateConfName] = true
 			}
 			}
 		}
 		}
-		extraConfig.SeriesList[k] = seriesItem
-	}
-
-	for k, v := range extraConfig.XDataList {
-		if tmpNameEn, ok := enNameMap[v.Name]; ok && v.NameEn == "" {
-			extraConfig.XDataList[k].NameEn = tmpNameEn
-		}
 	}
 	}
-
-	if tmpNameEn, ok := enNameMap[extraConfig.UnitList.LeftName]; ok && extraConfig.UnitList.LeftNameEn == "" {
-		extraConfig.UnitList.LeftName = tmpNameEn
-	}
-	if tmpNameEn, ok := enNameMap[extraConfig.UnitList.RightName]; ok && extraConfig.UnitList.RightNameEn == "" {
-		extraConfig.UnitList.RightName = tmpNameEn
-	}
-	if tmpNameEn, ok := enNameMap[extraConfig.UnitList.RightTwoName]; ok && extraConfig.UnitList.RightTwoNameEn == "" {
-		extraConfig.UnitList.RightTwoName = tmpNameEn
-	}
-	for k, v := range extraConfig.DateConfList {
-		if tmpNameEn, ok := enNameMap[v.DateConfName]; ok && v.DateConfNameEn == "" {
-			extraConfig.DateConfList[k].DateConfNameEn = tmpNameEn
+	newExtraConfig = extraConfig
+	// 去掉没有被引用的配置
+	newExtraConfig.DateConfList = make([]*data_manage.ChartSectionDateConfItem, 0)
+	for _, v := range extraConfig.DateConfList {
+		if _, ok := dateConfListMapSave[v.DateConfName]; ok {
+			newExtraConfig.DateConfList = append(newExtraConfig.DateConfList, v)
 		}
 		}
 	}
 	}
-
-	newExtraConfig = extraConfig
 	return
 	return
 }
 }
 
 

+ 21 - 23
services/data/chart_info.go

@@ -522,6 +522,15 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 
 
 	// 特殊图形数据处理
 	// 特殊图形数据处理
 	switch chartType {
 	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: // 季节性图
 	case 2: // 季节性图
 		if seasonExtraConfig != "" {
 		if seasonExtraConfig != "" {
 			// 季节性图计算不管图上数据时间,拿所有数据
 			// 季节性图计算不管图上数据时间,拿所有数据
@@ -535,15 +544,6 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 			// 兼容无配置的老图
 			// 兼容无配置的老图
 			dataResp = new(data_manage.SeasonChartResp)
 			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: // 柱形图
 	case 7: // 柱形图
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
@@ -2419,7 +2419,7 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
 	// 图表额外配置
 	// 图表额外配置
 	// 图表额外配置
 	// 图表额外配置
 	var allExtraConfig string
 	var allExtraConfig string
-	extraConfig, allExtraConfig, err, errMsg = HandleExtraConfig(chartType, extraConfig)
+	extraConfig, allExtraConfig, err, errMsg = HandleExtraConfig(0, chartType, extraConfig)
 	if err != nil {
 	if err != nil {
 		if errMsg == `` {
 		if errMsg == `` {
 			errMsg = "指标异常!"
 			errMsg = "指标异常!"
@@ -2812,7 +2812,7 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin, lang
 	}
 	}
 
 
 	// 图表额外配置
 	// 图表额外配置
-	extraConfig, allExtraConfig, err, errMsg := HandleExtraConfig(req.ChartType, req.ExtraConfig)
+	extraConfig, allExtraConfig, err, errMsg := HandleExtraConfig(req.ChartInfoId, req.ChartType, req.ExtraConfig)
 	if err != nil {
 	if err != nil {
 		if errMsg == `` {
 		if errMsg == `` {
 			errMsg = "指标异常!"
 			errMsg = "指标异常!"
@@ -3736,6 +3736,15 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 
 
 	// 特殊图形数据处理
 	// 特殊图形数据处理
 	switch chartType {
 	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: // 季节性图
 	case 2: // 季节性图
 		if seasonExtraConfig != "" {
 		if seasonExtraConfig != "" {
 			// 季节性图计算不管图上数据时间,拿所有数据
 			// 季节性图计算不管图上数据时间,拿所有数据
@@ -3749,15 +3758,6 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 			// 兼容无配置的老图
 			// 兼容无配置的老图
 			dataResp = new(data_manage.SeasonChartResp)
 			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: // 柱形图
 	case 7: // 柱形图
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
@@ -3821,7 +3821,6 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 	return
 	return
 }
 }
 
 
-
 // SeasonChartData 季节性图的数据处理
 // SeasonChartData 季节性图的数据处理
 func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraConfig string) (dataResp data_manage.SeasonChartResp, err error) {
 func SeasonChartData(dataList []*data_manage.ChartEdbInfoMapping, seasonExtraConfig string) (dataResp data_manage.SeasonChartResp, err error) {
 	var seasonConfig data_manage.SeasonExtraItem
 	var seasonConfig data_manage.SeasonExtraItem
@@ -4387,7 +4386,6 @@ func HandleDateChange(date string, edbDateConf data_manage.EdbDateChangeConf) (n
 	return
 	return
 }
 }
 
 
-
 // handleSystemAppointDateT
 // handleSystemAppointDateT
 // @Description: 处理系统日期相关的指定频率(所在周/旬/月/季/半年/年的最后/最早一天)
 // @Description: 处理系统日期相关的指定频率(所在周/旬/月/季/半年/年的最后/最早一天)
 // @author: Roc
 // @author: Roc
@@ -4515,4 +4513,4 @@ func handleSystemAppointDateT2(currDate time.Time, appointDay, frequency string)
 	}
 	}
 
 
 	return
 	return
-}
+}