Browse Source

区间分析另存为bug

xyxie 6 months ago
parent
commit
5041a5cf5e
1 changed files with 39 additions and 14 deletions
  1. 39 14
      services/data/range_analysis/chart_info.go

+ 39 - 14
services/data/range_analysis/chart_info.go

@@ -503,13 +503,21 @@ func GetChartDataByEdbInfoList(chartInfoId int, dateType, startYear int, startDa
 	}
 	dataResp = data_manage.ChartRangeAnalysisDataResp{ChartRangeAnalysisExtraConf: req}
 	if req.MultipleGraphConfigId > 0 {
-		multipleGraphConfigEdbMappingList, e := data_manage.GetMultipleGraphConfigEdbMappingListByIdAndSource(req.MultipleGraphConfigId, utils.CHART_SOURCE_RANGE_ANALYSIS)
+		//判断MultipleGraphConfigId和图表关系是否正确
+		chartMappingList, e := data_manage.GetMultipleGraphConfigChartMappingListById(req.MultipleGraphConfigId)
 		if e != nil && e.Error() != utils.ErrNoRow() {
 			err = fmt.Errorf("获取区间计算图表, 指标信息失败, Err:" + e.Error())
 			return
 		}
-		// 查询是否已经生成指标
-		dataResp.ConfigEdbNum = len(multipleGraphConfigEdbMappingList)
+		if len(chartMappingList) > 0 {
+			multipleGraphConfigEdbMappingList, e := data_manage.GetMultipleGraphConfigEdbMappingListByIdAndSource(req.MultipleGraphConfigId, utils.CHART_SOURCE_RANGE_ANALYSIS)
+			if e != nil && e.Error() != utils.ErrNoRow() {
+				err = fmt.Errorf("获取区间计算图表, 指标信息失败, Err:" + e.Error())
+				return
+			}
+			// 查询是否已经生成指标
+			dataResp.ConfigEdbNum = len(multipleGraphConfigEdbMappingList)
+		}
 	}
 	edbList, err = GetChartEdbInfoFormat(chartInfoId, edbInfoMappingList)
 	if err != nil {
@@ -628,13 +636,21 @@ func GetChartDataByEdbInfoListBySeries(chartInfoId int, dateType, startYear int,
 	dataResp = data_manage.ChartRangeAnalysisDataResp{ChartRangeAnalysisExtraConf: req, SeriesId: seriesMappingItem.FactorEdbSeriesId}
 	// 查询配置关联关系
 	if req.MultipleGraphConfigId > 0 {
-		multipleGraphConfigEdbMappingList, e := data_manage.GetMultipleGraphConfigEdbMappingListByIdAndSource(req.MultipleGraphConfigId, utils.CHART_SOURCE_RANGE_ANALYSIS)
+		//判断MultipleGraphConfigId和图表关系是否正确
+		chartMappingList, e := data_manage.GetMultipleGraphConfigChartMappingListById(req.MultipleGraphConfigId)
 		if e != nil && e.Error() != utils.ErrNoRow() {
 			err = fmt.Errorf("获取区间计算图表, 指标信息失败, Err:" + e.Error())
 			return
 		}
-		// 查询是否已经生成指标
-		dataResp.ConfigEdbNum = len(multipleGraphConfigEdbMappingList)
+		if len(chartMappingList) > 0 {
+			multipleGraphConfigEdbMappingList, e := data_manage.GetMultipleGraphConfigEdbMappingListByIdAndSource(req.MultipleGraphConfigId, utils.CHART_SOURCE_RANGE_ANALYSIS)
+			if e != nil && e.Error() != utils.ErrNoRow() {
+				err = fmt.Errorf("获取区间计算图表, 指标信息失败, Err:" + e.Error())
+				return
+			}
+			// 查询是否已经生成指标
+			dataResp.ConfigEdbNum = len(multipleGraphConfigEdbMappingList)
+		}
 	}
 
 	edbList, err = GetChartEdbInfoFormat(chartInfoId, edbInfoMappingList)
@@ -1410,6 +1426,21 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin, lang
 func CopyChartInfo(classifyId int, chartName string, oldChartInfo *data_manage.ChartInfo, sysUser *system.Admin, lang string) (chartInfo *data_manage.ChartInfo, err error, errMsg string, isSendEmail bool) {
 	isSendEmail = true
 	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
+	var extraConfig data_manage.ChartRangeAnalysisExtraConf
+	err = json.Unmarshal([]byte(oldChartInfo.ExtraConfig), &extraConfig)
+	if err != nil {
+		errMsg = "配置信息错误"
+		err = errors.New(errMsg + ", Err: " + err.Error())
+		return
+	}
+	extraConfig.MultipleGraphConfigId = 0
+	newExtraConfigBytes, err := json.Marshal(extraConfig)
+	if err != nil {
+		errMsg = "配置信息错误"
+		err = errors.New(errMsg + ", Err: " + err.Error())
+		return
+	}
+	newExtraConfig := string(newExtraConfigBytes)
 	chartInfo = &data_manage.ChartInfo{
 		ChartInfoId:     0,
 		ChartName:       chartName,
@@ -1439,7 +1470,7 @@ func CopyChartInfo(classifyId int, chartName string, oldChartInfo *data_manage.C
 		Right2Max:         oldChartInfo.Right2Max,
 		Disabled:          oldChartInfo.Disabled,
 		Source:            oldChartInfo.Source,
-		ExtraConfig:       oldChartInfo.ExtraConfig,
+		ExtraConfig:       newExtraConfig,
 		SeasonExtraConfig: oldChartInfo.SeasonExtraConfig,
 		StartYear:         oldChartInfo.StartYear,
 		Unit:              oldChartInfo.Unit,
@@ -1514,13 +1545,7 @@ func CopyChartInfo(classifyId int, chartName string, oldChartInfo *data_manage.C
 	} else {
 		// 新增指标系列
 		// 区间计算图表配置校验
-		var extraConfig data_manage.ChartRangeAnalysisExtraConf
-		err = json.Unmarshal([]byte(chartInfo.ExtraConfig), &extraConfig)
-		if err != nil {
-			errMsg = "配置信息错误"
-			err = errors.New(errMsg + ", Err: " + err.Error())
-			return
-		}
+
 		err = AddSeries(edbInfoIdArr, chartInfo.ChartInfoId, utils.CHART_SOURCE_RANGE_ANALYSIS, extraConfig, chartInfo.ExtraConfig)
 		if err != nil {
 			errMsg = "操作失败"