|
@@ -394,26 +394,7 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
|
|
|
}
|
|
|
case utils.CHART_TYPE_RADAR: //雷达图
|
|
|
radarConf := extraConfig.(data_manage.RadarChartInfoReq)
|
|
|
- xEdbIdValue, dataResp, err = RadarChartData(edbDataListMap, radarConf)
|
|
|
-
|
|
|
- // todo 中英文单位设置
|
|
|
- /*
|
|
|
- chartDataResp := dataResp.(data_manage.RadarChartInfoResp)
|
|
|
- for k := range chartDataResp.YDataList {
|
|
|
- yDataList[k].Unit = radarConf.Unit
|
|
|
- yDataList[k].UnitEn = radarConf.UnitEn
|
|
|
- }*/
|
|
|
-
|
|
|
- for _, v := range edbList {
|
|
|
- // 指标别名
|
|
|
- if radarConf.EdbInfoIdList != nil && len(radarConf.EdbInfoIdList) > 0 {
|
|
|
- for _, reqEdb := range radarConf.EdbInfoIdList {
|
|
|
- if v.EdbInfoId == reqEdb.EdbInfoId {
|
|
|
- v.EdbAliasName = reqEdb.Name
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ xEdbIdValue, dataResp, err = RadarChartData(mappingList, edbDataListMap, radarConf)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -1512,25 +1493,17 @@ func CheckChartExtraConfig(chartType int, extraConfigStr string) (edbIdList []in
|
|
|
}
|
|
|
case utils.CHART_TYPE_RADAR:
|
|
|
var extraConfig data_manage.RadarChartInfoReq
|
|
|
- err = json.Unmarshal([]byte(extraConfigStr), &extraConfig)
|
|
|
- if err != nil {
|
|
|
+ if extraConfigStr == `` {
|
|
|
+ errMsg = "雷达图未配置"
|
|
|
+ err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
- // 判断是否有填写指标
|
|
|
- if len(extraConfig.EdbInfoIdList) <= 0 {
|
|
|
- errMsg = `请选择指标`
|
|
|
+ err = json.Unmarshal([]byte(extraConfigStr), &extraConfig)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "雷达图配置异常"
|
|
|
err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
- // 遍历指标列表获取指标id
|
|
|
- edbIdMap := make(map[int]int)
|
|
|
- for _, v := range extraConfig.EdbInfoIdList {
|
|
|
- // X 轴的指标id
|
|
|
- if _, ok := edbIdMap[v.EdbInfoId]; !ok {
|
|
|
- edbIdMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
- edbIdList = append(edbIdList, v.EdbInfoId)
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -1914,7 +1887,12 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
|
|
|
|
|
|
chartType := req.ChartType
|
|
|
extraConfig := req.ExtraConfig
|
|
|
-
|
|
|
+ var extraConfigEdbInfoIdArr []int
|
|
|
+ extraConfigEdbInfoIdArr, err, errMsg = CheckChartExtraConfig(chartType, extraConfig)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("添加失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
// 季节性图表额外配置信息
|
|
|
var seasonExtraConfig string
|
|
|
// 关联指标
|
|
@@ -1990,14 +1968,7 @@ func AddChartInfo(req data_manage.AddChartInfoReq, sysUserId int, sysUserRealNam
|
|
|
err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- tmpEdbInfoIdArr, tmpErr, tmpErrMsg := CheckChartExtraConfig(chartType, extraConfig)
|
|
|
- if err != nil {
|
|
|
- errMsg = tmpErrMsg
|
|
|
- err = errors.New("添加失败:" + tmpErr.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- edbInfoIdArr = tmpEdbInfoIdArr
|
|
|
+ edbInfoIdArr = extraConfigEdbInfoIdArr
|
|
|
lenEdbInfoIdArr := len(edbInfoIdArr)
|
|
|
if lenEdbInfoIdArr > 0 {
|
|
|
tmpEdbList, tmpErr := data_manage.GetEdbInfoByIdList(edbInfoIdArr)
|
|
@@ -2272,6 +2243,13 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin) (cha
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ var extraConfigEdbInfoIdArr []int
|
|
|
+ extraConfigEdbInfoIdArr, err, errMsg = CheckChartExtraConfig(req.ChartType, req.ExtraConfig)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("添加失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
// 季节性图表额外配置信息
|
|
|
var seasonExtraConfig string
|
|
|
// 图表关联指标id
|
|
@@ -2353,14 +2331,7 @@ func EditChartInfo(req data_manage.EditChartInfoReq, sysUser *system.Admin) (cha
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- // 校验配置的指标列表
|
|
|
- tmpEdbInfoIdArr, tmpErr, tmpErrMsg := CheckChartExtraConfig(req.ChartType, req.ExtraConfig)
|
|
|
- if tmpErr != nil {
|
|
|
- errMsg = tmpErrMsg
|
|
|
- err = errors.New("添加失败:" + tmpErr.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- edbInfoIdArr = tmpEdbInfoIdArr
|
|
|
+ edbInfoIdArr = extraConfigEdbInfoIdArr
|
|
|
lenEdbInfoIdArr := len(edbInfoIdArr)
|
|
|
if lenEdbInfoIdArr > 0 {
|
|
|
tmpEdbList, tmpErr := data_manage.GetEdbInfoByIdList(edbInfoIdArr)
|
|
@@ -2570,7 +2541,7 @@ func GetEdbSourceByEdbInfoIdList(chartEdbInfoMappingList []*data_manage.ChartEdb
|
|
|
}
|
|
|
|
|
|
// RadarChartData 雷达图的数据处理
|
|
|
-func RadarChartData(edbDataListMap map[int][]*data_manage.EdbDataList, extraConfig data_manage.RadarChartInfoReq) (edbIdList []int, chartDataResp data_manage.RadarChartInfoResp, err error) {
|
|
|
+func RadarChartData(mappingList []*data_manage.ChartEdbInfoMapping, edbDataListMap map[int][]*data_manage.EdbDataList, extraConfig data_manage.RadarChartInfoReq) (edbIdList []int, chartDataResp data_manage.RadarChartInfoResp, err error) {
|
|
|
// 指标数据数组(10086:{"2022-12-02":100.01,"2022-12-01":102.3})
|
|
|
edbDataMap := make(map[int]map[string]float64)
|
|
|
for edbInfoId, edbDataList := range edbDataListMap {
|
|
@@ -2582,7 +2553,7 @@ func RadarChartData(edbDataListMap map[int][]*data_manage.EdbDataList, extraConf
|
|
|
}
|
|
|
// edbIdList 指标展示顺序;x轴的指标顺序
|
|
|
edbIdList = make([]int, 0)
|
|
|
- for _, v := range extraConfig.EdbInfoIdList {
|
|
|
+ for _, v := range mappingList {
|
|
|
edbIdList = append(edbIdList, v.EdbInfoId)
|
|
|
}
|
|
|
chartDateList := extraConfig.DateList
|
|
@@ -2677,7 +2648,8 @@ func RadarChartData(edbDataListMap map[int][]*data_manage.EdbDataList, extraConf
|
|
|
}
|
|
|
|
|
|
chartDataResp = data_manage.RadarChartInfoResp{
|
|
|
- YDataList: yDataList,
|
|
|
+ YDataList: yDataList,
|
|
|
+ XEdbIdValue: edbIdList,
|
|
|
}
|
|
|
return
|
|
|
}
|