Browse Source

Merge branch 'feature/eta1.9.6_chart_series' into debug

# Conflicts:
#	models/data_manage/chart_info.go
#	services/data/chart_info.go
xyxie 7 months ago
parent
commit
8328ec1414
2 changed files with 99 additions and 98 deletions
  1. 75 75
      models/data_manage/chart_info.go
  2. 24 23
      services/data/chart_info.go

+ 75 - 75
models/data_manage/chart_info.go

@@ -2621,58 +2621,6 @@ type RadarYData struct {
 	Value []float64 `description:"每个指标的值"`
 }
 
-// ChartInfoSourcesFrom 图表来源
-type ChartInfoSourcesFrom struct {
-	IsShow   bool   `description:"是否展示" json:"isShow"`
-	Text     string `description:"来源文本" json:"text"`
-	Color    string `description:"来源颜色" json:"color"`
-	FontSize int    `description:"来源字号" json:"fontSize"`
-}
-
-// UpdateChartInfoSortByClassifyIdV2 根据分类id更新排序
-func UpdateChartInfoSortByClassifyIdV2(classifyId, nowSort int, prevChartInfoId int, updateSort string) (err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` update chart_info set sort = ` + updateSort + ` WHERE chart_classify_id = ?`
-	if prevChartInfoId > 0 {
-		sql += ` AND ( sort > ? or ( chart_info_id > ` + fmt.Sprint(prevChartInfoId) + ` and sort=` + fmt.Sprint(nowSort) + ` )) `
-	} else {
-		sql += ` AND ( sort > ? )`
-	}
-	_, err = o.Raw(sql, classifyId, nowSort).Exec()
-	return
-}
-
-// GetChartInfoMaxSortByClassifyId 获取分类下指标的最大的排序数
-func GetChartInfoMaxSortByClassifyId(classifyId int) (sort int, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := `SELECT Max(sort) AS sort FROM chart_info WHERE chart_classify_id = ? `
-	err = o.Raw(sql, classifyId).QueryRow(&sort)
-	return
-}
-
-// GetChartInfoBySourceAndParentId 根据图表来源及父级ID获取图表
-func GetChartInfoBySourceAndParentId(source, parentId, adminId int) (items []*ChartClassifyItems, err error) {
-	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT chart_info_id,chart_classify_id,chart_name AS chart_classify_name,chart_name_en AS chart_classify_name_en,
-             unique_code,sys_user_id,sys_user_real_name,date_type,start_date,end_date,chart_type,calendar,season_start_date,season_end_date,source
-            FROM chart_info WHERE source = ? AND chart_classify_id = ?`
-	pars := make([]interface{}, 0)
-	pars = append(pars, source, parentId)
-	if adminId > 0 {
-		sql += ` AND sys_user_id = ?`
-		pars = append(pars, adminId)
-	}
-	sql += ` ORDER BY sort asc,chart_info_id ASC `
-	_, err = o.Raw(sql, pars).QueryRows(&items)
-	return
-}
-
-// PreviewSeasonChartReq 预览季节性图的请求入参
-type PreviewSeasonChartReq struct {
-	ChartEdbInfoList  []*ChartSaveItem `description:"指标及配置信息"`
-	SeasonExtraConfig SeasonExtraItem  `description:"季节图额外配置信息,json字符串"`
-}
-
 // 截面组合图额外配置
 type ChartSectionExtraConf struct {
 	DateConfList        []*ChartSectionDateConfItem
@@ -2784,6 +2732,81 @@ type ChartSectionCombineUnit struct {
 	RightTwoNameEn string `description:"右2轴英文单位"`
 }
 
+// 时序组合图额外配置
+type ChartTimeCombineExtraConf struct {
+	IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
+}
+
+type ChartTimeCombineDataResp struct {
+	IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
+}
+
+type PreviewSectionCombineDateCalculateResp struct {
+	Date string
+}
+
+type PreviewSectionCombineDateCalculateReq struct {
+	MoveForward  int    `description:"前移的期数"`
+	EdbInfoId    int    `description:"指标ID"`
+	Frequency    string `description:"频度"`
+	DateConfName string `description:"引用日期名称"` // 引用日期名称不能重复
+	DateChange   []*ChartSectionDateChange
+	DateConfList []*ChartSectionDateConfItem
+	DateType     int `description:"日期类型,0指标最新日期, 1引用日期"`
+}
+
+// ChartInfoSourcesFrom 图表来源
+type ChartInfoSourcesFrom struct {
+	IsShow   bool   `description:"是否展示" json:"isShow"`
+	Text     string `description:"来源文本" json:"text"`
+	Color    string `description:"来源颜色" json:"color"`
+	FontSize int    `description:"来源字号" json:"fontSize"`
+}
+
+// UpdateChartInfoSortByClassifyIdV2 根据分类id更新排序
+func UpdateChartInfoSortByClassifyIdV2(classifyId, nowSort int, prevChartInfoId int, updateSort string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` update chart_info set sort = ` + updateSort + ` WHERE chart_classify_id = ?`
+	if prevChartInfoId > 0 {
+		sql += ` AND ( sort > ? or ( chart_info_id > ` + fmt.Sprint(prevChartInfoId) + ` and sort=` + fmt.Sprint(nowSort) + ` )) `
+	} else {
+		sql += ` AND ( sort > ? )`
+	}
+	_, err = o.Raw(sql, classifyId, nowSort).Exec()
+	return
+}
+
+// GetChartInfoMaxSortByClassifyId 获取分类下指标的最大的排序数
+func GetChartInfoMaxSortByClassifyId(classifyId int) (sort int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT Max(sort) AS sort FROM chart_info WHERE chart_classify_id = ? `
+	err = o.Raw(sql, classifyId).QueryRow(&sort)
+	return
+}
+
+// GetChartInfoBySourceAndParentId 根据图表来源及父级ID获取图表
+func GetChartInfoBySourceAndParentId(source, parentId, adminId int) (items []*ChartClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT chart_info_id,chart_classify_id,chart_name AS chart_classify_name,chart_name_en AS chart_classify_name_en,
+             unique_code,sys_user_id,sys_user_real_name,date_type,start_date,end_date,chart_type,calendar,season_start_date,season_end_date,source
+            FROM chart_info WHERE source = ? AND chart_classify_id = ?`
+	pars := make([]interface{}, 0)
+	pars = append(pars, source, parentId)
+	if adminId > 0 {
+		sql += ` AND sys_user_id = ?`
+		pars = append(pars, adminId)
+	}
+	sql += ` ORDER BY sort asc,chart_info_id ASC `
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}
+
+// PreviewSeasonChartReq 预览季节性图的请求入参
+type PreviewSeasonChartReq struct {
+	ChartEdbInfoList  []*ChartSaveItem `description:"指标及配置信息"`
+	SeasonExtraConfig SeasonExtraItem  `description:"季节图额外配置信息,json字符串"`
+}
+
 // EditChartInfoImageV2
 // @Description: 修改图表的缩略图
 // @author: Roc
@@ -2804,15 +2827,6 @@ func EditChartInfoImageV2(chartInfoId int, imageUrl string) (err error) {
 	return
 }
 
-// 时序组合图额外配置
-type ChartTimeCombineExtraConf struct {
-	IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
-}
-
-type ChartTimeCombineDataResp struct {
-	IsHeap int `description:"是否堆积(1.堆积,0不堆积)"`
-}
-
 func getThsHfEdbDataListByMongo(source, subSource, edbInfoId int, startDate, endDate string) (list []*EdbDataList, err error) {
 	list = make([]*EdbDataList, 0)
 
@@ -2881,17 +2895,3 @@ func getThsHfEdbDataListMinAndMaxByMongo(source, subSource, edbInfoId int, start
 	maxData = result.MaxValue
 	return
 }
-
-type PreviewSectionCombineDateCalculateResp struct {
-	Date string
-}
-
-type PreviewSectionCombineDateCalculateReq struct {
-	MoveForward  int    `description:"前移的期数"`
-	EdbInfoId    int    `description:"指标ID"`
-	Frequency    string `description:"频度"`
-	DateConfName string `description:"引用日期名称"` // 引用日期名称不能重复
-	DateChange   []*ChartSectionDateChange
-	DateConfList []*ChartSectionDateConfItem
-	DateType     int `description:"日期类型,0指标最新日期, 1引用日期"`
-}

+ 24 - 23
services/data/chart_info.go

@@ -522,6 +522,15 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 
 	// 特殊图形数据处理
 	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: // 季节性图
 		if seasonExtraConfig != "" {
 			// 季节性图计算不管图上数据时间,拿所有数据
@@ -535,15 +544,6 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 			// 兼容无配置的老图
 			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: // 柱形图
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
@@ -2618,9 +2618,6 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
 		return
 	}
 
-	// 添加指标引用记录
-	_ = SaveChartEdbInfoRelation(edbInfoIdArr, chartInfo)
-
 	if chartType == utils.CHART_TYPE_SECTION_COMBINE {
 		err = data_manage.AddChartSeriesAndEdbMapping(allExtraConfig, int(newId))
 		if err != nil {
@@ -2629,6 +2626,9 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
 			return
 		}
 	}
+
+	// 添加指标引用记录
+	_ = SaveChartEdbInfoRelation(edbInfoIdArr, chartInfo)
 	//添加es数据
 	go EsAddOrEditChartInfo(chartInfo.ChartInfoId)
 
@@ -2980,8 +2980,6 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin, lang
 	resp.UniqueCode = chartItem.UniqueCode
 	resp.ChartType = req.ChartType
 
-	// todo 添加指标引用记录
-	_ = SaveChartEdbInfoRelation(edbInfoIdArr, chartItem)
 	if chartItem.ChartType == utils.CHART_TYPE_SECTION_COMBINE {
 		err = data_manage.EditChartSeriesAndEdbMapping(allExtraConfig, chartItem.ChartInfoId)
 		if err != nil {
@@ -2990,6 +2988,9 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin, lang
 			return
 		}
 	}
+
+	// todo 添加指标引用记录
+	_ = SaveChartEdbInfoRelation(edbInfoIdArr, chartItem)
 	//添加es数据
 	go EsAddOrEditChartInfo(chartItem.ChartInfoId)
 	//修改my eta es数据
@@ -3757,6 +3758,15 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 
 	// 特殊图形数据处理
 	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: // 季节性图
 		if seasonExtraConfig != "" {
 			// 季节性图计算不管图上数据时间,拿所有数据
@@ -3770,15 +3780,6 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
 			// 兼容无配置的老图
 			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: // 柱形图
 		barChartConf := extraConfig.(data_manage.BarChartInfoReq)
 		xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)