zwxi 1 anno fa
parent
commit
4694e55078
2 ha cambiato i file con 88 aggiunte e 29 eliminazioni
  1. 17 17
      controllers/data_manage/chart_info.go
  2. 71 12
      services/data/chart_info.go

+ 17 - 17
controllers/data_manage/chart_info.go

@@ -3348,21 +3348,21 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
 	// 图表额外数据参数
 	extraConfigStr := chartInfo.ExtraConfig
 	// 柱方图的一些配置
-	//var barConfig data_manage.BarChartInfoReq
-	//if chartInfo != nil && chartInfo.ChartType == 7 {
-	//	if chartInfo.BarConfig == `` {
-	//		br.Msg = "柱方图未配置"
-	//		br.ErrMsg = "柱方图未配置"
-	//		return
-	//	}
-	//	err := json.Unmarshal([]byte(chartInfo.BarConfig), &barConfig)
-	//	if err != nil {
-	//		br.Msg = "柱方图配置异常"
-	//		br.ErrMsg = "柱方图配置异常"
-	//		return
-	//	}
-	//	extraConfigStr = chartInfo.BarConfig
-	//}
+	var barConfig data_manage.BarChartInfoReq
+	if chartInfo != nil && chartInfo.ChartType == 7 {
+		if chartInfo.BarConfig == `` {
+			br.Msg = "柱方图未配置"
+			br.ErrMsg = "柱方图未配置"
+			return
+		}
+		err := json.Unmarshal([]byte(chartInfo.BarConfig), &barConfig)
+		if err != nil {
+			br.Msg = "柱方图配置异常"
+			br.ErrMsg = "柱方图配置异常"
+			return
+		}
+		extraConfigStr = chartInfo.BarConfig
+	}
 	yearMax := 0
 	if dateType == utils.DateTypeNYears {
 		for _, v := range mappingList {
@@ -3383,7 +3383,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
 	startDate, endDate = utils.GetDateByDateTypeV2(dateType, startDate, endDate, startYear, yearMax)
 
 	// 获取图表中的指标数据
-	edbList, xEdbIdValue, yDataList, dataResp, err, errMsg := data.GetChartEdbData(chartInfoId, chartType, calendar, startDate, endDate, mappingList, extraConfigStr, chartInfo.SeasonExtraConfig)
+	edbList, xEdbIdValue, yDataList, dataResp, err, errMsg := data.GetChartConvertEdbData(chartInfoId, chartType, calendar, startDate, endDate, mappingList, extraConfigStr, chartInfo.SeasonExtraConfig)
 	if err != nil {
 		br.Msg = "获取失败"
 		if errMsg != `` {
@@ -3461,7 +3461,7 @@ func (this *ChartInfoController) ChartInfoConvertDetail() {
 	resp.EdbInfoList = edbList
 	resp.XEdbIdValue = xEdbIdValue
 	resp.YDataList = yDataList
-	//resp.BarChartInfo = barConfig
+	resp.BarChartInfo = barConfig
 	resp.DataResp = dataResp
 	br.Ret = 200
 	br.Success = true

+ 71 - 12
services/data/chart_info.go

@@ -550,26 +550,20 @@ func getEdbDataMapList(chartInfoId, chartType int, calendar, startDate, endDate
 				for i, data := range dataList {
 					dataList[i].Value = data.Value * v.ConvertValue
 				}
-				item.MaxData = item.MaxData * v.ConvertValue
-				item.MinData = item.MinData * v.ConvertValue
+				//item.MaxData = item.MaxData * v.ConvertValue
+				//item.MinData = item.MinData * v.ConvertValue
 			case 2:
 				for i, data := range dataList {
 					dataList[i].Value = data.Value / v.ConvertValue
 				}
-				item.MaxData = item.MaxData / v.ConvertValue
-				item.MinData = item.MinData / v.ConvertValue
+				//item.MaxData = item.MaxData / v.ConvertValue
+				//item.MinData = item.MinData / v.ConvertValue
 			case 3:
 				for i, data := range dataList {
 					dataList[i].Value = math.Log(data.Value) / math.Log(v.ConvertValue)
 				}
-				item.MaxData = math.Log(item.MaxData) / math.Log(v.ConvertValue)
-				item.MinData = math.Log(item.MinData) / math.Log(v.ConvertValue)
-			}
-			if v.ConvertUnit != "" {
-				item.Unit = v.ConvertUnit
-			}
-			if v.ConvertEnUnit != "" {
-				item.UnitEn = v.ConvertEnUnit
+				//item.MaxData = math.Log(item.MaxData) / math.Log(v.ConvertValue)
+				//item.MinData = math.Log(item.MinData) / math.Log(v.ConvertValue)
 			}
 		}
 
@@ -2696,3 +2690,68 @@ func RadarChartData(mappingList []*data_manage.ChartEdbInfoMapping, edbDataListM
 	}
 	return
 }
+
+// GetChartConvertEdbData 获取图表数据转换的指标数据
+func GetChartConvertEdbData(chartInfoId, chartType int, calendar, startDate, endDate string, mappingList []*data_manage.ChartEdbInfoMapping, extraConfigStr string, seasonExtraConfig string) (edbList []*data_manage.ChartEdbInfoMapping, xEdbIdValue []int, yDataList []data_manage.YData, dataResp interface{}, err error, errMsg string) {
+	edbList = make([]*data_manage.ChartEdbInfoMapping, 0)
+	xEdbIdValue = make([]int, 0)
+	yDataList = make([]data_manage.YData, 0)
+
+	var extraConfig interface{}
+	xEdbIdValue = make([]int, 0)
+	yDataList = make([]data_manage.YData, 0)
+
+	// 指标对应的所有数据
+	edbDataListMap, edbList, err := getEdbDataMapList(chartInfoId, chartType, calendar, startDate, endDate, mappingList, seasonExtraConfig)
+	if err != nil {
+		return
+	}
+
+	// 特殊图形数据处理
+	switch chartType {
+	//case 7: // 柱形图
+	//	barChartConf := extraConfig.(data_manage.BarChartInfoReq)
+	//	xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
+	//
+	//	for k := range yDataList {
+	//		yDataList[k].Unit = barChartConf.Unit
+	//		yDataList[k].UnitEn = barChartConf.UnitEn
+	//	}
+	//
+	//	for _, v := range edbList {
+	//		// 指标别名
+	//		if barChartConf.EdbInfoIdList != nil && len(barChartConf.EdbInfoIdList) > 0 {
+	//			for _, reqEdb := range barChartConf.EdbInfoIdList {
+	//				if v.EdbInfoId == reqEdb.EdbInfoId {
+	//					v.EdbAliasName = reqEdb.Name
+	//				}
+	//			}
+	//		}
+	//	}
+	//case 10: // 截面散点图
+	//	sectionScatterConf := extraConfig.(data_manage.SectionScatterReq)
+	//	xEdbIdValue, dataResp, err = GetSectionScatterChartData(chartInfoId, mappingList, edbDataListMap, sectionScatterConf)
+	//
+	//	//var tmpExtraConfig data_manage.SectionScatterReq
+	//	//if extraConfigStr == `` {
+	//	//	errMsg = "截面散点图未配置"
+	//	//	err = errors.New(errMsg)
+	//	//	return
+	//	//}
+	//	//err = json.Unmarshal([]byte(extraConfigStr), &tmpExtraConfig)
+	//	//if err != nil {
+	//	//	errMsg = "截面散点配置异常"
+	//	//	err = errors.New(errMsg)
+	//	//	return
+	//	//}
+	//
+	//	// 这个数据没有必要返回给前端
+	//	for _, v := range edbList {
+	//		v.DataList = nil
+	//	}
+	case utils.CHART_TYPE_RADAR: //雷达图
+		radarConf := extraConfig.(data_manage.RadarChartInfoReq)
+		xEdbIdValue, dataResp, err = RadarChartData(mappingList, edbDataListMap, radarConf)
+	}
+	return
+}