Browse Source

Merge branch 'fix/2714' into debug

Roc 2 years ago
parent
commit
1e021bf404
1 changed files with 21 additions and 11 deletions
  1. 21 11
      services/data/correlation/chart_info.go

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

@@ -260,29 +260,39 @@ func GetChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *models.ChartEdbInfo
 			"年度": 6,
 		}
 
-		// 如果A指标是高频,那么就需要对B指标进行升频
-		if frequencyIntMap[edbInfoMappingA.Frequency] < frequencyIntMap[edbInfoMappingB.Frequency] {
-			tmpNewChangeDataList, e := HandleDataByLinearRegression(aDataList, baseDataMap)
+		if frequencyIntMap[edbInfoMappingB.Frequency] == frequencyIntMap[edbInfoMappingA.Frequency] {
+			baseDataList = aDataList
+			for _, v := range baseDataList {
+				baseDataMap[v.DataTime] = v.Value
+			}
+			changeDataList = bDataList
+			for _, v := range changeDataList {
+				changeDataMap[v.DataTime] = v.Value
+			}
+		} else if frequencyIntMap[edbInfoMappingB.Frequency] > frequencyIntMap[edbInfoMappingA.Frequency] {
+			// 如果B指标是低频,那么需要对B指标进行升频
+			tmpNewChangeDataList, e := HandleDataByLinearRegression(bDataList, changeDataMap)
 			if e != nil {
 				err = fmt.Errorf("获取变频指标插值法Map失败, Err: %s", e.Error())
 				return
 			}
-			baseDataList = tmpNewChangeDataList
-		} else {
+			changeDataList = tmpNewChangeDataList
+
+			// 那么A指标不管是高频,或者同频,那么就直接赋值A指标吧
 			baseDataList = aDataList
 			for _, v := range baseDataList {
 				baseDataMap[v.DataTime] = v.Value
 			}
-		}
-		// 如果B指标是高频,那么就需要对A指标进行升频
-		if frequencyIntMap[edbInfoMappingA.Frequency] > frequencyIntMap[edbInfoMappingB.Frequency] {
-			tmpNewChangeDataList, e := HandleDataByLinearRegression(bDataList, changeDataMap)
+		} else {
+			// 如果A指标是低频,那么需要对A指标进行升频
+			tmpNewChangeDataList, e := HandleDataByLinearRegression(aDataList, baseDataMap)
 			if e != nil {
 				err = fmt.Errorf("获取变频指标插值法Map失败, Err: %s", e.Error())
 				return
 			}
-			changeDataList = tmpNewChangeDataList
-		} else {
+			baseDataList = tmpNewChangeDataList
+
+			// 那么B指标不管是高频,或者同频,那么就直接赋值B指标吧
 			changeDataList = bDataList
 			for _, v := range changeDataList {
 				changeDataMap[v.DataTime] = v.Value