zwxi 7 months ago
parent
commit
c1897fd134
2 changed files with 57 additions and 0 deletions
  1. 56 0
      controllers/data_manage/chart_info.go
  2. 1 0
      models/data_manage/chart_info.go

+ 56 - 0
controllers/data_manage/chart_info.go

@@ -3401,6 +3401,62 @@ func (this *ChartInfoController) PreviewBarChartInfo() {
 		IsSetName: chartInfo.IsSetName,
 	}
 
+	// 标识线计算
+	if req.MarkersLines != "" {
+		markerLines := make([]data_manage.MarkersLine, 0)
+		err = json.Unmarshal([]byte(req.MarkersLines), &markerLines)
+		if err != nil {
+			br.Msg = "标识线配置异常"
+			br.ErrMsg = "标识线配置异常" + err.Error()
+			return
+		}
+		for i := range markerLines {
+			if markerLines[i].EdbType == 1 {
+				// 指标计算
+				edbInfo, err := data_manage.GetEdbInfoById(markerLines[i].EdbInfoId)
+				if err != nil {
+					br.Msg = "指标计算标识线获取指标信息异常"
+					br.ErrMsg = "指标计算标识线获取指标信息异常" + err.Error()
+					return
+				}
+				dataList, err := data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbInfoId, markerLines[i].StartDate.Date, markerLines[i].EndDate.Date)
+				if err != nil {
+					br.Msg = "指标计算标识线获取指标数据异常"
+					br.ErrMsg = "指标计算标识线获取指标数据异常" + err.Error()
+					return
+				}
+				value, err := data.MarkerLineCalculate(markerLines[i], dataList, chartInfo)
+				if err != nil {
+					br.Msg = "标识线配置异常"
+					br.ErrMsg = "标识线配置异常" + err.Error()
+					return
+				}
+				markerLines[i].Value = value
+
+			} else {
+				// 跟随图表
+				if edbList[0].IsAxis == 1 {
+					value, err := data.MarkerLineCalculate(markerLines[i], edbList[0].DataList, chartInfo)
+					if err != nil {
+						br.Msg = "标识线配置异常"
+						br.ErrMsg = "标识线配置异常" + err.Error()
+						return
+					}
+					markerLines[i].Value = value
+				}
+			}
+		}
+
+		markerLineStr, err := json.Marshal(markerLines)
+		if err != nil {
+			br.Msg = "标识线配置异常"
+			br.ErrMsg = "标识线配置异常" + err.Error()
+			return
+		}
+
+		chartInfo.MarkersLines = string(markerLineStr)
+	}
+
 	resp := new(data_manage.ChartInfoDetailResp)
 	resp.ChartInfo = chartInfo
 	resp.EdbInfoList = edbList

+ 1 - 0
models/data_manage/chart_info.go

@@ -2085,6 +2085,7 @@ type BarChartInfoReq struct {
 	YEdbList      []BarChartInfoEdbItemReq `description:"Y轴选择的指标列表"`
 	Unit          string                   `description:"中文单位"`
 	UnitEn        string                   `description:"英文单位"`
+	MarkersLines  string                   `description:"标识线"`
 }
 
 // BarChartInfoEdbItemReq 柱方图预览请求数据(指标相关)