Browse Source

创建区间计算配置信息

xyxie 7 months ago
parent
commit
c7aeb33b1f

+ 18 - 0
controllers/data_manage/range_analysis/chart_info.go

@@ -94,6 +94,24 @@ func (this *RangeChartChartInfoController) Preview() {
 		return
 	}
 
+	//添加配置信息
+	if req.ExtraConfig.MultipleGraphConfigId == 0 {
+		multipleGraphConfig := &data_manage.MultipleGraphConfig{
+			//MultipleGraphConfigId: 0,
+			SysUserId:       sysUser.AdminId,
+			SysUserRealName: sysUser.RealName,
+			ModifyTime:      time.Now(),
+			CreateTime:      time.Now(),
+		}
+		err = data_manage.AddMultipleGraphConfig(multipleGraphConfig)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "新增区间计算图表配置失败, Err: " + err.Error()
+			return
+		}
+		dataResp.MultipleGraphConfigId = multipleGraphConfig.MultipleGraphConfigId
+	}
+
 	resp := new(data_manage.ChartInfoDetailResp)
 	resp.ChartInfo = chartInfo
 	resp.EdbInfoList = edbList

+ 16 - 15
models/data_manage/chart_info_range_analysis.go

@@ -10,22 +10,23 @@ import (
 )
 
 type ChartRangeAnalysisExtraConf struct {
-	EdbInfoMode          int                                `description:"指标模式 0: 单指标,1: 多指标"`
-	DateRangeType        int                                `description:"区间划分类型 0:智能划分,1:手工划分,2:跨年划分"`
-	AutoDateConf         ChartRangeAnalysisAutoDateConf     `description:"智能划分时间区间配置"`
-	ManualDateConf       []ChartRangeAnalysisManualDateConf `description:"手工划分时间区间配置"`
-	YearDateConf         ChartRangeAnalysisYearDateConf     `description:"跨年划分时间区间配置"`
-	CalculateType        int                                `description:"计算类型 0: 区间均值,1: 区间累计值,2:区间涨幅,3:区间年化增长率,4:区间最大值,5:区间最小值"`
-	UnNormalDataDealType int                                `description:"异常值处理配置 0:不处理,1:剔除,2替换"`
-	UnNormalDataConf     ChartRangeAnalysisDeleteDataConf
-	DataConvertType      int                               `description:"数据转换类型 0不转, 1乘 2除 3对数"`
-	DataConvertConf      ChartRangeAnalysisDataConvertConf `description:"数据转换详情"`
-	SeriesName           string                            `description:"指标系列名称"`
-	EdbInfoType          int                               `description:"指标类型:0普通指标,1预测指标"`
+	EdbInfoMode           int                                `description:"指标模式 0: 单指标,1: 多指标"`
+	DateRangeType         int                                `description:"区间划分类型 0:智能划分,1:手工划分,2:跨年划分"`
+	AutoDateConf          ChartRangeAnalysisAutoDateConf     `description:"智能划分时间区间配置"`
+	ManualDateConf        []ChartRangeAnalysisManualDateConf `description:"手工划分时间区间配置"`
+	YearDateConf          ChartRangeAnalysisYearDateConf     `description:"跨年划分时间区间配置"`
+	CalculateType         int                                `description:"计算类型 0: 区间均值,1: 区间累计值,2:区间涨幅,3:区间年化增长率,4:区间最大值,5:区间最小值"`
+	UnNormalDataDealType  int                                `description:"异常值处理配置 0:不处理,1:剔除,2替换"`
+	UnNormalDataConf      ChartRangeAnalysisDeleteDataConf
+	DataConvertType       int                               `description:"数据转换类型 0不转, 1乘 2除 3对数"`
+	DataConvertConf       ChartRangeAnalysisDataConvertConf `description:"数据转换详情"`
+	SeriesName            string                            `description:"指标系列名称"`
+	EdbInfoType           int                               `description:"指标类型:0普通指标,1预测指标"`
+	MultipleGraphConfigId int                               `description:"配置ID"`
 }
 
 type ChartRangeAnalysisAutoDateChangeConf struct {
-	BaseDateType int `description:"基准日期类型:0指标日期,1系统日期,2固定日期"`
+	BaseDateType int `description:"基准日期类型:0指标日期,1系统日期"`
 	MoveForward  int `description:"前移的期数"`
 	DateChange   []*EdbDateConfDateChange
 }
@@ -90,8 +91,8 @@ func (a ChartRangeAnalysisManualDateConfList) Less(i, j int) bool {
 
 type ChartRangeAnalysisDataResp struct { //图表详情返回值
 	*ChartRangeAnalysisExtraConf
-	SeriesId              int `description:"指标系列ID"`
-	MultipleGraphConfigId int `description:"配置ID"`
+	SeriesId     int `description:"指标系列ID"`
+	ConfigEdbNum int `description:"生成的指标数"`
 }
 
 type ChartRangeAnalysisDateDataItem struct {

+ 29 - 25
services/data/range_analysis/chart_info.go

@@ -302,14 +302,14 @@ func GetChartDataByEdbInfoList(chartInfoId int, dateType, startYear int, startDa
 		}
 	}
 	dataResp = data_manage.ChartRangeAnalysisDataResp{ChartRangeAnalysisExtraConf: req}
-	// 查询配置关联关系
-	if chartInfoId > 0 {
-		multipleGraphConfigChartMapping, e := data_manage.GetMultipleGraphConfigChartMappingByChartId(chartInfoId)
+	if req.MultipleGraphConfigId > 0 {
+		multipleGraphConfigEdbMappingList, e := data_manage.GetMultipleGraphConfigEdbMappingListById(req.MultipleGraphConfigId)
 		if e != nil && e.Error() != utils.ErrNoRow() {
-			err = fmt.Errorf("获取配置与图表的关联关系失败,ERR:" + e.Error())
+			err = fmt.Errorf("获取区间计算图表, 指标信息失败, Err:" + e.Error())
 			return
 		}
-		dataResp.MultipleGraphConfigId = multipleGraphConfigChartMapping.MultipleGraphConfigId
+		// 查询是否已经生成指标
+		dataResp.ConfigEdbNum = len(multipleGraphConfigEdbMappingList)
 	}
 	edbList, err = GetChartEdbInfoFormat(chartInfoId, edbInfoMappingList)
 	if err != nil {
@@ -417,13 +417,14 @@ func GetChartDataByEdbInfoListBySeries(chartInfoId int, dateType, startYear int,
 	}
 	dataResp = data_manage.ChartRangeAnalysisDataResp{ChartRangeAnalysisExtraConf: req, SeriesId: seriesMappingItem.FactorEdbSeriesId}
 	// 查询配置关联关系
-	if chartInfoId > 0 {
-		multipleGraphConfigChartMapping, e := data_manage.GetMultipleGraphConfigChartMappingByChartId(chartInfoId)
+	if req.MultipleGraphConfigId > 0 {
+		multipleGraphConfigEdbMappingList, e := data_manage.GetMultipleGraphConfigEdbMappingListById(req.MultipleGraphConfigId)
 		if e != nil && e.Error() != utils.ErrNoRow() {
-			err = fmt.Errorf("获取配置与图表的关联关系失败,ERR:" + e.Error())
+			err = fmt.Errorf("获取区间计算图表, 指标信息失败, Err:" + e.Error())
 			return
 		}
-		dataResp.MultipleGraphConfigId = multipleGraphConfigChartMapping.MultipleGraphConfigId
+		// 查询是否已经生成指标
+		dataResp.ConfigEdbNum = len(multipleGraphConfigEdbMappingList)
 	}
 
 	edbList, err = GetChartEdbInfoFormat(chartInfoId, edbInfoMappingList)
@@ -905,7 +906,7 @@ func AddChartInfo(req data_manage.AddChartInfoReq, source int, sysUser *system.A
 		mapItem.ModifyTime = time.Now()
 		edbTimestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 		mapItem.UniqueCode = utils.MD5(utils.CHART_PREFIX + "_" + edbTimestamp + "_" + strconv.Itoa(v.EdbInfoId))
-		mapItem.IsOrder = true
+		mapItem.IsOrder = false
 		mapItem.EdbInfoType = 1
 		mapItem.Source = utils.CHART_SOURCE_RANGE_ANALYSIS
 		mapList = append(mapList, mapItem)
@@ -930,7 +931,7 @@ func AddChartInfo(req data_manage.AddChartInfoReq, source int, sysUser *system.A
 		}
 		//todo 如果保存失败是否要删除
 	}
-	//添加配置信息
+	/*//添加配置信息
 	multipleGraphConfig := &data_manage.MultipleGraphConfig{
 		//MultipleGraphConfigId: 0,
 		SysUserId:       sysUser.AdminId,
@@ -943,21 +944,24 @@ func AddChartInfo(req data_manage.AddChartInfoReq, source int, sysUser *system.A
 		errMsg = "操作失败"
 		err = errors.New("新增区间计算图表配置失败, Err: " + err.Error())
 		return
+	}*/
+	if extraConfig.MultipleGraphConfigId > 0 {
+		multipleGraphConfigChartMapping := &data_manage.MultipleGraphConfigChartMapping{
+			//Id:                    0,
+			MultipleGraphConfigId: extraConfig.MultipleGraphConfigId,
+			ChartInfoId:           chartInfo.ChartInfoId,
+			Source:                utils.CHART_SOURCE_RANGE_ANALYSIS,
+			ModifyTime:            time.Now(),
+			CreateTime:            time.Now(),
+		}
+		err = data_manage.AddMultipleGraphConfigChartMapping(multipleGraphConfigChartMapping)
+		if err != nil {
+			errMsg = "操作失败"
+			err = errors.New("新增区间计算图表和配置关联关系失败, Err: " + err.Error())
+			return
+		}
 	}
-	multipleGraphConfigChartMapping := &data_manage.MultipleGraphConfigChartMapping{
-		//Id:                    0,
-		MultipleGraphConfigId: multipleGraphConfig.MultipleGraphConfigId,
-		ChartInfoId:           chartInfo.ChartInfoId,
-		Source:                utils.CHART_SOURCE_RANGE_ANALYSIS,
-		ModifyTime:            time.Now(),
-		CreateTime:            time.Now(),
-	}
-	err = data_manage.AddMultipleGraphConfigChartMapping(multipleGraphConfigChartMapping)
-	if err != nil {
-		errMsg = "操作失败"
-		err = errors.New("新增区间计算图表和配置关联关系失败, Err: " + err.Error())
-		return
-	}
+
 	// 添加指标引用记录
 	_ = data.SaveChartEdbInfoRelation(edbInfoIdArr, chartInfo)
 	//添加es数据