Browse Source

截面组合图

xyxie 6 months ago
parent
commit
7d8ce9c1b8

+ 32 - 0
models/tables/chart_info/query.go

@@ -128,3 +128,35 @@ func GetChartInfoViewByUniqueCode(uniqueCode string) (item *ChartInfoView, err e
 	err = global.MYSQL["data"].Raw(sql, uniqueCode).First(&item).Error
 	return
 }
+
+type ChartSectionSeriesValSortAsc []ChartSectionSeriesValSort
+type ChartSectionSeriesValSortDesc []ChartSectionSeriesValSort
+
+type ChartSectionSeriesValSort struct {
+	Index int
+	Value float64
+}
+
+func (s ChartSectionSeriesValSortAsc) Len() int {
+	return len(s)
+}
+
+func (s ChartSectionSeriesValSortAsc) Less(i, j int) bool {
+	return s[i].Value < s[j].Value // 升序排序,如果想要降序则改为 s[i].Value > s[j].Value
+}
+
+func (s ChartSectionSeriesValSortAsc) Swap(i, j int) {
+	s[i], s[j] = s[j], s[i]
+}
+
+func (s ChartSectionSeriesValSortDesc) Len() int {
+	return len(s)
+}
+
+func (s ChartSectionSeriesValSortDesc) Less(i, j int) bool {
+	return s[i].Value > s[j].Value // 升序排序,如果想要降序则改为 s[i].Value > s[j].Value
+}
+
+func (s ChartSectionSeriesValSortDesc) Swap(i, j int) {
+	s[i], s[j] = s[j], s[i]
+}

+ 14 - 8
services/chart/chart_extra_config.go

@@ -70,7 +70,7 @@ func GetChartSectionCombineData(chartInfo *chart_info.ChartInfo, mappingList []*
 			}
 			seriesItem.EdbInfoList[index].EdbName = edbMappingInfo.EdbName
 			seriesItem.EdbInfoList[index].EdbNameEn = edbMappingInfo.EdbNameEn
-			seriesItem.EdbInfoList[index].EdbInfoType = edbMappingInfo.EdbInfoType
+			seriesItem.EdbInfoList[index].EdbInfoType = edbMappingInfo.EdbInfoCategoryType
 			seriesItem.EdbInfoList[index].Unit = edbMappingInfo.Unit
 			seriesItem.EdbInfoList[index].UnitEn = edbMappingInfo.UnitEn
 			if index == 0 {
@@ -578,15 +578,21 @@ func SortChartSeriesDataSet(baseName string, baseDataList []float64, baseSeriesN
 
 	}
 	length := len(indices)
-	// 根据Group1的数据进行排序,asc决定是升序还是降序
+	baseDataSortList := make([]chart_info.ChartSectionSeriesValSort, length)
+	for i, value := range baseDataList {
+		if i < length {
+			baseDataSortList[i] = chart_info.ChartSectionSeriesValSort{Index: i, Value: value}
+		}
+	}
 	if asc == 1 {
-		sort.Slice(indices, func(i, j int) bool {
-			return baseDataList[i] < baseDataList[j]
-		})
+		// 使用sort.Sort进行排序
+		sort.Sort(chart_info.ChartSectionSeriesValSortAsc(baseDataSortList))
 	} else {
-		sort.Slice(indices, func(i, j int) bool {
-			return baseDataList[i] > baseDataList[j]
-		})
+		sort.Sort(chart_info.ChartSectionSeriesValSortDesc(baseDataSortList))
+	}
+
+	for k, v := range baseDataSortList {
+		indices[k] = v.Index
 	}
 
 	for i := range newIndices {

+ 1 - 1
services/chart/chart_info.go

@@ -515,7 +515,7 @@ func GetChartEdbData(chartInfoId, chartType int, calendar, startDate, endDate st
 					err = json.Unmarshal([]byte(v.DateConf), &dateConf)
 					if err != nil {
 						errMsg = "截面组合图配置异常"
-						err = errors.New(errMsg + e.Error())
+						err = errors.New(errMsg + err.Error())
 						return
 					}
 				}