Browse Source

预览截面组合图处理上下限

xyxie 8 months ago
parent
commit
178873c792
2 changed files with 52 additions and 0 deletions
  1. 51 0
      controllers/data_manage/chart_info_section.go
  2. 1 0
      services/data/chart_extra_config.go

+ 51 - 0
controllers/data_manage/chart_info_section.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/services/data"
 	"eta/eta_api/utils"
+	"strconv"
 	"strings"
 )
 
@@ -118,6 +119,56 @@ func (this *ChartInfoController) PreviewSectionCombineChartInfo() {
 		br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
 		return
 	}
+	// 处理图表上下限
+	extraConfig := dataResp.(data_manage.ChartSectionCombineDataResp)
+	var (
+		LeftMin   float64
+		LeftMax   float64
+		RightMin  float64
+		RightMax  float64
+		Right2Min float64
+		Right2Max float64
+	)
+	for _, v := range extraConfig.SeriesList {
+		var minData, maxData float64
+		for _, d := range v.DataList {
+			if minData > d {
+				minData = d
+			}
+			if maxData < d {
+				maxData = d
+			}
+		}
+		if v.IsAxis == 1 {
+			if LeftMin > minData {
+				LeftMin = minData
+			}
+			if LeftMax < maxData {
+				LeftMax = maxData
+			}
+		} else if v.IsAxis == 0 {
+			if RightMin > minData {
+				RightMin = minData
+			}
+			if RightMax < maxData {
+				RightMax = maxData
+			}
+		} else {
+			if Right2Min > minData {
+				Right2Min = minData
+			}
+			if Right2Max < maxData {
+				Right2Max = maxData
+			}
+		}
+	}
+	chartInfo.LeftMin = strconv.FormatFloat(LeftMin, 'f', -1, 64)
+	chartInfo.LeftMax = strconv.FormatFloat(LeftMax, 'f', -1, 64)
+	chartInfo.RightMin = strconv.FormatFloat(RightMin, 'f', -1, 64)
+	chartInfo.RightMax = strconv.FormatFloat(RightMax, 'f', -1, 64)
+	chartInfo.Right2Min = strconv.FormatFloat(Right2Min, 'f', -1, 64)
+	chartInfo.Right2Max = strconv.FormatFloat(Right2Max, 'f', -1, 64)
+
 	warnEdbList := make([]string, 0)
 	for _, v := range edbList {
 		if v.IsNullData {

+ 1 - 0
services/data/chart_extra_config.go

@@ -365,6 +365,7 @@ func GetChartSectionCombineData(chartInfoId int, mappingList []*data_manage.Char
 	// 组装数据
 	baseSeries := new(data_manage.ChartSectionSeriesItem) //y轴的系列
 	var firstUnit, leftUnit, rightUnit, right2Unit *data_manage.XData
+
 	for _, seriesItem := range extraConfig.SeriesList {
 		var maxDate time.Time
 		var minVal, maxVal float64