|
@@ -3420,6 +3420,18 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
|
|
|
|
|
|
var extraConfig interface{}
|
|
|
switch chartType {
|
|
|
+ case 6:
|
|
|
+ var tmpConfig data_manage.ChartTimeCombineExtraConf
|
|
|
+ if extraConfigStr != `` {
|
|
|
+ err = json.Unmarshal([]byte(extraConfigStr), &tmpConfig)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "雷达图配置异常"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ extraConfig = tmpConfig
|
|
|
case 7: // 柱形图
|
|
|
var barConfig data_manage.BarChartInfoReq
|
|
|
if extraConfigStr == `` {
|
|
@@ -3471,12 +3483,98 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
|
|
|
err = errors.New(errMsg)
|
|
|
return
|
|
|
}
|
|
|
- err = json.Unmarshal([]byte(extraConfigStr), §ionExtraConfig)
|
|
|
- if err != nil {
|
|
|
- errMsg = "截面组合图配置异常"
|
|
|
- err = errors.New(errMsg)
|
|
|
- return
|
|
|
+ if chartInfoId > 0 {
|
|
|
+ var sectionExtraConfigTmp data_manage.ChartSectionExtraConf
|
|
|
+ err = json.Unmarshal([]byte(extraConfigStr), §ionExtraConfigTmp)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "截面组合图配置异常"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sectionExtraConfig.XDataList = sectionExtraConfigTmp.XDataList
|
|
|
+ sectionExtraConfig.BaseChartSeriesName = sectionExtraConfigTmp.BaseChartSeriesName
|
|
|
+ sectionExtraConfig.UnitList = sectionExtraConfigTmp.UnitList
|
|
|
+ sectionExtraConfig.DateConfList = sectionExtraConfigTmp.DateConfList
|
|
|
+ sectionExtraConfig.IsHeap = sectionExtraConfigTmp.IsHeap
|
|
|
+ sectionExtraConfig.SortType = sectionExtraConfigTmp.SortType
|
|
|
+ // 查询所有的seriesEdb
|
|
|
+ seriesEdbList, e := data_manage.GetChartSeriesEdbByChartInfoId(chartInfoId)
|
|
|
+ if e != nil {
|
|
|
+ errMsg = "查询seriesEdb失败"
|
|
|
+ err = errors.New(errMsg + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // todo 是否有必要返回单位信息
|
|
|
+ // 组装成map
|
|
|
+ seriesEdbMap := make(map[int][]*data_manage.ChartSectionSeriesEdbConf)
|
|
|
+ for _, v := range seriesEdbList {
|
|
|
+ var dateConf *data_manage.ChartSectionSeriesDateConfItem
|
|
|
+ if v.DateConf != "" {
|
|
|
+ err = json.Unmarshal([]byte(v.DateConf), &dateConf)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "截面组合图配置异常"
|
|
|
+ err = errors.New(errMsg + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tmp := &data_manage.ChartSectionSeriesEdbConf{
|
|
|
+ ChartSeriesEdbMappingId: v.ChartSeriesEdbMappingId,
|
|
|
+ ChartSeriesId: v.ChartSeriesId,
|
|
|
+ //ChartInfoId: v.ChartInfoId,
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ DateConf: dateConf,
|
|
|
+ EdbName: "",
|
|
|
+ EdbNameEn: "",
|
|
|
+ Unit: "",
|
|
|
+ UnitEn: "",
|
|
|
+ DateConfName: v.DateConfName,
|
|
|
+ DateConfType: v.DateConfType,
|
|
|
+ }
|
|
|
+ seriesEdbMap[v.ChartSeriesId] = append(seriesEdbMap[v.ChartSeriesId], tmp)
|
|
|
+ }
|
|
|
+ //查询series
|
|
|
+ seriesListTmp, e := data_manage.GetChartSeriesByChartInfoId(chartInfoId)
|
|
|
+ if e != nil {
|
|
|
+ errMsg = "查询series失败"
|
|
|
+ err = errors.New(errMsg + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ seriesList := make([]*data_manage.ChartSectionSeriesItem, 0)
|
|
|
+ for _, v := range seriesListTmp {
|
|
|
+
|
|
|
+ tmpSeries := &data_manage.ChartSectionSeriesItem{
|
|
|
+ ChartSeriesId: v.ChartSeriesId,
|
|
|
+ SeriesName: v.SeriesName,
|
|
|
+ SeriesNameEn: v.SeriesNameEn,
|
|
|
+ ChartStyle: v.ChartStyle,
|
|
|
+ ChartColor: v.ChartColor,
|
|
|
+ ChartWidth: v.ChartWidth,
|
|
|
+ IsPoint: v.IsPoint,
|
|
|
+ IsNumber: v.IsNumber,
|
|
|
+ IsAxis: v.IsAxis,
|
|
|
+ MaxData: v.MaxData,
|
|
|
+ MinData: v.MinData,
|
|
|
+ //IsOrder: false,
|
|
|
+ EdbInfoList: nil,
|
|
|
+ DataList: nil,
|
|
|
+ }
|
|
|
+ edbInfoList, ok := seriesEdbMap[v.ChartSeriesId]
|
|
|
+ if ok {
|
|
|
+ tmpSeries.EdbInfoList = edbInfoList
|
|
|
+ }
|
|
|
+ seriesList = append(seriesList, tmpSeries)
|
|
|
+ }
|
|
|
+ sectionExtraConfig.SeriesList = seriesList
|
|
|
+
|
|
|
+ } else {
|
|
|
+ err = json.Unmarshal([]byte(extraConfigStr), §ionExtraConfig)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "截面组合图配置异常"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//校验引用日期名称是否重复
|
|
|
dateNameMap := make(map[string]int)
|
|
|
dateNameEnMap := make(map[string]int)
|
|
@@ -3529,6 +3627,7 @@ func GetChartEdbDataV2(chartInfoId, chartType int, calendar, startDate, endDate
|
|
|
return
|
|
|
}
|
|
|
//todo 如果是详情接口,应该要从其他表里查询配置
|
|
|
+ extraConfig = sectionExtraConfig
|
|
|
default:
|
|
|
xEdbIdValue = make([]int, 0)
|
|
|
yDataList = make([]data_manage.YData, 0)
|
|
@@ -3542,6 +3641,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 7: // 柱形图
|
|
|
barChartConf := extraConfig.(data_manage.BarChartInfoReq)
|
|
|
xEdbIdValue, yDataList, err = BarChartData(mappingList, edbDataListMap, barChartConf.DateList, barChartConf.Sort)
|