|
@@ -508,9 +508,26 @@ func GetChartSectionCombineData(chartInfo *data_manage.ChartInfo, mappingList []
|
|
|
err = fmt.Errorf("基准系列不存在")
|
|
|
return
|
|
|
}
|
|
|
+ defaultIndexXDataList := make([]int, 0) //默认排序时的横轴
|
|
|
+ defaultXDataMap := make(map[int]data_manage.XData) //默认排序时的横轴单位
|
|
|
+ for index, item := range baseSeries.EdbInfoList {
|
|
|
+ if index == 0 {
|
|
|
+ firstUnit = &data_manage.XData{
|
|
|
+ Name: item.Unit,
|
|
|
+ NameEn: item.UnitEn,
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp := data_manage.XData{
|
|
|
+ Name: item.EdbName,
|
|
|
+ NameEn: item.EdbNameEn,
|
|
|
+ }
|
|
|
+ defaultXDataMap[index] = tmp
|
|
|
+ defaultIndexXDataList = append(defaultIndexXDataList, index)
|
|
|
+ }
|
|
|
// 处理系列排序
|
|
|
if extraConfig.SortType > 0 {
|
|
|
- newSeriesDataListMap, newSeriesNoDataIndexMap := SortChartSeriesDataSet(baseSeries.SeriesName, baseSeries.DataList, baseSeries.NoDataEdbIndex, seriesDataListMap, seriesNoDataIndexMap, extraConfig.SortType)
|
|
|
+ newSeriesDataListMap, newSeriesNoDataIndexMap, newIndexXDataList := SortChartSeriesDataSet(baseSeries.SeriesName, baseSeries.DataList, baseSeries.NoDataEdbIndex, seriesDataListMap, seriesNoDataIndexMap, extraConfig.SortType)
|
|
|
for k, item := range extraConfig.SeriesList {
|
|
|
dataList, ok := newSeriesDataListMap[item.SeriesName]
|
|
|
if ok {
|
|
@@ -521,28 +538,24 @@ func GetChartSectionCombineData(chartInfo *data_manage.ChartInfo, mappingList []
|
|
|
extraConfig.SeriesList[k].NoDataEdbIndex = noIndex
|
|
|
}
|
|
|
}
|
|
|
+ defaultIndexXDataList = newIndexXDataList
|
|
|
}
|
|
|
|
|
|
xDataList := make([]data_manage.XData, 0)
|
|
|
- for index, item := range baseSeries.EdbInfoList {
|
|
|
- if index == 0 {
|
|
|
- firstUnit = &data_manage.XData{
|
|
|
- Name: item.Unit,
|
|
|
- NameEn: item.UnitEn,
|
|
|
- }
|
|
|
- }
|
|
|
- tmp := data_manage.XData{
|
|
|
- Name: item.EdbName,
|
|
|
- NameEn: item.EdbNameEn,
|
|
|
+ for index, itemIndex := range defaultIndexXDataList {
|
|
|
+ nameItem, ok := defaultXDataMap[itemIndex]
|
|
|
+ if !ok {
|
|
|
+ err = fmt.Errorf("单位不存在")
|
|
|
+ return
|
|
|
}
|
|
|
// 如果已经设置了横轴名称,则用设置的名称替换
|
|
|
if len(extraConfig.XDataList) > index {
|
|
|
newItem := extraConfig.XDataList[index]
|
|
|
if newItem.Name != "" {
|
|
|
- tmp = newItem
|
|
|
+ nameItem = newItem
|
|
|
}
|
|
|
}
|
|
|
- xDataList = append(xDataList, tmp)
|
|
|
+ xDataList = append(xDataList, nameItem)
|
|
|
}
|
|
|
dataListResp.XDataList = xDataList
|
|
|
|
|
@@ -829,7 +842,7 @@ func handleSystemAppointDateT(currDate time.Time, appointDay, frequency string)
|
|
|
}
|
|
|
|
|
|
// sortTripleDataSet 以第一组数据为基准,排序之后,空数组的位置也要同步变更
|
|
|
-func SortChartSeriesDataSet(baseName string, baseDataList []float64, baseSeriesNoDataIndexList []int, dataListMap map[string][]float64, noDataListIndexMap map[string][]int, asc int) (newDataListMap map[string][]float64, newNoDataListIndexMap map[string][]int) {
|
|
|
+func SortChartSeriesDataSet(baseName string, baseDataList []float64, baseSeriesNoDataIndexList []int, dataListMap map[string][]float64, noDataListIndexMap map[string][]int, asc int) (newDataListMap map[string][]float64, newNoDataListIndexMap map[string][]int, newIndexXDataList []int) {
|
|
|
newDataListMap = make(map[string][]float64)
|
|
|
newNoDataListIndexMap = make(map[string][]int)
|
|
|
|
|
@@ -868,6 +881,7 @@ func SortChartSeriesDataSet(baseName string, baseDataList []float64, baseSeriesN
|
|
|
newDataListMap[k][i] = dataListMap[k][idx]
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
dataListMap = newDataListMap
|
|
|
noDataListIndexMap = newNoDataListIndexMap
|
|
|
newDataListMap = make(map[string][]float64)
|
|
@@ -919,5 +933,6 @@ func SortChartSeriesDataSet(baseName string, baseDataList []float64, baseSeriesN
|
|
|
newDataListMap[k][i] = dataListMap[k][idx]
|
|
|
}
|
|
|
}
|
|
|
+ newIndexXDataList = newIndices
|
|
|
return
|
|
|
}
|