Browse Source

fix:滚动相关性图表数据返回调整

Roc 1 year ago
parent
commit
7f184ed4d2

+ 10 - 9
controllers/data_manage/correlation/correlation_chart_info.go

@@ -696,7 +696,6 @@ func (this *CorrelationChartInfoController) Detail() {
 
 	var dataResp interface{} // 绘图数据返回(目前是滚动相关性的图)
 	var xEdbIdValue []int
-	var xDateTimeValue []string
 	var yDataList []data_manage.YData
 	switch chartInfo.Source {
 	case utils.CHART_SOURCE_CORRELATION: // 相关性图
@@ -717,10 +716,11 @@ func (this *CorrelationChartInfoController) Detail() {
 		}
 	case utils.CHART_SOURCE_ROLLING_CORRELATION: // 滚动相关性图
 		startDate, endDate := utils.GetDateByDateType(correlationChart.DateType, correlationChart.StartDate.Format(utils.FormatDate), correlationChart.EndDate.Format(utils.FormatDate))
-		xDateTimeValue, yDataList, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate)
-		dataResp = data_manage.RollingCorrelationChartDataResp{
-			XDateTimeValue: xDateTimeValue,
-			YDataList:      yDataList,
+		dataResp, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
+			return
 		}
 	}
 
@@ -1197,10 +1197,11 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
 	case utils.CHART_SOURCE_ROLLING_CORRELATION: // 滚动相关性图
 		startDate, endDate := utils.GetDateByDateType(correlationChart.DateType, correlationChart.StartDate.Format(utils.FormatDate), correlationChart.EndDate.Format(utils.FormatDate))
 
-		xDateTimeValue, yDataList, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate)
-		dataResp = data_manage.RollingCorrelationChartDataResp{
-			XDateTimeValue: xDateTimeValue,
-			YDataList:      yDataList,
+		dataResp, e = correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, correlationChart.LeadValue, correlationChart.LeadUnit, correlationChart.CalculateValue, correlationChart.CalculateUnit, startDate, endDate)
+		if e != nil {
+			msg = "获取失败"
+			errMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
+			return
 		}
 	}
 

+ 4 - 5
controllers/data_manage/multiple_graph_config.go

@@ -354,7 +354,7 @@ func (this *ChartInfoController) MultipleGraphPreview() {
 			rollingCorrelationData := make([]interface{}, 0)
 			for _, rollingCorrelationConf := range rollingCorrelationConfList {
 				if rollingCorrelationConf.CalculateValue > 0 && rollingCorrelationConf.CalculateUnit != `` {
-					xDateTimeValue, yDataList, e := correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, rollingCorrelationConf.LeadValue, rollingCorrelationConf.LeadUnit, rollingCorrelationConf.CalculateValue, rollingCorrelationConf.CalculateUnit, startDate, endDate)
+					dataList, e := correlationServ.GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB, rollingCorrelationConf.LeadValue, rollingCorrelationConf.LeadUnit, rollingCorrelationConf.CalculateValue, rollingCorrelationConf.CalculateUnit, startDate, endDate)
 					if e != nil {
 						br.Msg = "获取失败"
 						br.ErrMsg = "获取滚动相关性图表, 图表计算值失败, Err:" + e.Error()
@@ -375,10 +375,9 @@ func (this *ChartInfoController) MultipleGraphPreview() {
 						tmpChartInfo.ChartName = fmt.Sprintf(`%s与%s(领先%d%s)%d%s滚动相关性`, edbInfoMappingA.EdbName, edbInfoMappingB.EdbName, int(math.Abs(float64(rollingCorrelationConf.LeadValue))), rollingCorrelationConf.LeadUnit, rollingCorrelationConf.CalculateValue, rollingCorrelationConf.CalculateUnit)
 					}
 					rollingCorrelationData = append(rollingCorrelationData, response.RollingCorrelationResp{
-						ChartInfo:      tmpChartInfo,
-						EdbInfoList:    mappingList,
-						XDateTimeValue: xDateTimeValue,
-						YDataList:      yDataList,
+						ChartInfo:   tmpChartInfo,
+						EdbInfoList: mappingList,
+						DataList:    dataList,
 						CorrelationChartInfo: data_manage.CorrelationInfo{
 							LeadValue:       rollingCorrelationConf.LeadValue,
 							LeadUnit:        rollingCorrelationConf.LeadUnit,

+ 1 - 2
models/data_manage/response/multiple_graph_config.go

@@ -26,8 +26,7 @@ type CorrelationResp struct {
 type RollingCorrelationResp struct {
 	ChartInfo            data_manage.ChartInfoView
 	EdbInfoList          []*data_manage.ChartEdbInfoMapping
-	XDateTimeValue       []string                    `description:"柱方图的x轴数据,指标id"`
-	YDataList            []data_manage.YData         `description:"柱方图的y轴数据"`
+	DataList             []data_manage.EdbDataList
 	CorrelationChartInfo data_manage.CorrelationInfo `description:"相关性图表信息"`
 }
 

+ 11 - 11
services/data/correlation/chart_info.go

@@ -380,9 +380,8 @@ func GetChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *data_manage.ChartEd
 }
 
 // GetRollingCorrelationChartDataByEdbInfo 滚动相关性计算
-func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *data_manage.ChartEdbInfoMapping, leadValue int, leadUnit string, calculateValue int, calculateUnit string, startDate, endDate string) (xDateTimeValue []string, yDataList []data_manage.YData, err error) {
-	xDateTimeValue = make([]string, 0)
-	yData := make([]float64, 0)
+func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *data_manage.ChartEdbInfoMapping, leadValue int, leadUnit string, calculateValue int, calculateUnit string, startDate, endDate string) (dataList []data_manage.EdbDataList, err error) {
+	dataList = make([]data_manage.EdbDataList, 0)
 
 	// 计算窗口,不包含第一天
 	startDateTime, _ := time.ParseInLocation(utils.FormatDate, startDate, time.Local)
@@ -480,17 +479,18 @@ func GetRollingCorrelationChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *d
 			if len(baseCalculateData) > 0 {
 				ratio = utils.CalculateCorrelationByIntArr(baseCalculateData, yCalculateData)
 			}
-			yData = append(yData, ratio)
-			xDateTimeValue = append(xDateTimeValue, currDay.AddDate(0, 0, calculateDay-1).Format(utils.FormatDate))
+
+			dataTime := currDay.AddDate(0, 0, calculateDay-1)
+			dataList = append(dataList, data_manage.EdbDataList{
+				//EdbDataId:     0,
+				EdbInfoId:     0,
+				DataTime:      dataTime.Format(utils.FormatDate),
+				DataTimestamp: dataTime.UnixNano() / 1e6,
+				Value:         ratio,
+			})
 		}
 	}
 
-	yDataList = make([]data_manage.YData, 0)
-	yDate := "0000-00-00"
-	yDataList = append(yDataList, data_manage.YData{
-		Date:  yDate,
-		Value: yData,
-	})
 	return
 }