Selaa lähdekoodia

同步eta_api

xyxie 8 kuukautta sitten
vanhempi
commit
d0bfae00c3
2 muutettua tiedostoa jossa 39 lisäystä ja 72 poistoa
  1. 37 70
      services/data/chart_extra_config.go
  2. 2 2
      services/data/chart_info.go

+ 37 - 70
services/data/chart_extra_config.go

@@ -13,7 +13,7 @@ import (
 	"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
 	switch chartType {
 	case 10: // 截面散点图
@@ -46,7 +46,7 @@ func HandleExtraConfig(chartType int, extraConfigStr string) (newExtraConfigStr
 			err = errors.New(errMsg)
 			return
 		}
-		newAllExtraConfig, e, msg := handleChartSectionCombineData(sectionExtraConfig)
+		newAllExtraConfig, e, msg := handleChartSectionCombineData(chartInfoId, sectionExtraConfig)
 		if e != nil {
 			err = e
 			errMsg = msg
@@ -244,95 +244,62 @@ func GetEnNameMapByCnNameList(cnNameList []string) (contentEnMap map[string]stri
 }
 
 // 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 _, 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
 		}
-		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
 }
 

+ 2 - 2
services/data/chart_info.go

@@ -2419,7 +2419,7 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
 	// 图表额外配置
 	// 图表额外配置
 	var allExtraConfig string
-	extraConfig, allExtraConfig, err, errMsg = HandleExtraConfig(chartType, extraConfig)
+	extraConfig, allExtraConfig, err, errMsg = HandleExtraConfig(0, chartType, extraConfig)
 	if err != nil {
 		if 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 errMsg == `` {
 			errMsg = "指标异常!"