Browse Source

Merge branch 'hotfix/edb_calculate_tbz' into debug

xyxie 6 months ago
parent
commit
d912b7d4f0
2 changed files with 17 additions and 17 deletions
  1. 1 1
      services/data/edb_data.go
  2. 16 16
      services/data/predict_edb_info_rule.go

+ 1 - 1
services/data/edb_data.go

@@ -327,7 +327,7 @@ func TbzDiv(a, b float64) float64 {
 		bf := decimal.NewFromFloat(b)
 		val, _ := af.Div(bf).Float64()
 		val = val - 1
-		valFloat, _ = decimal.NewFromFloat(val).RoundCeil(4).Float64()
+		valFloat, _ = decimal.NewFromFloat(val).Round(4).Float64()
 	} else {
 		valFloat = 0
 	}

+ 16 - 16
services/data/predict_edb_info_rule.go

@@ -166,7 +166,7 @@ func TbzDivMul(a, b float64) (result float64) {
 	val := bf.Add(cf)
 
 	// 计算
-	result, _ = val.Mul(af).RoundCeil(4).Float64()
+	result, _ = val.Mul(af).Round(4).Float64()
 	return
 }
 
@@ -287,7 +287,7 @@ func TczDiv(a, b float64) (result float64) {
 		bf := decimal.NewFromFloat(b)
 
 		// 计算
-		result, _ = af.Add(bf).RoundCeil(4).Float64()
+		result, _ = af.Add(bf).Round(4).Float64()
 	} else {
 		result = 0
 	}
@@ -352,7 +352,7 @@ func HbzDiv(a, b float64) (result float64) {
 		val := bf.Add(cf)
 
 		// 计算
-		result, _ = val.Mul(af).RoundCeil(4).Float64()
+		result, _ = val.Mul(af).Round(4).Float64()
 	} else {
 		result = 0
 	}
@@ -411,7 +411,7 @@ func HczDiv(a, b float64) (result float64) {
 		bf := decimal.NewFromFloat(b)
 
 		// 计算
-		result, _ = af.Add(bf).RoundCeil(4).Float64()
+		result, _ = af.Add(bf).Round(4).Float64()
 	} else {
 		result = 0
 	}
@@ -450,7 +450,7 @@ func GetChartPredictEdbInfoDataListByRuleNMoveMeanValue(edbInfoId int, nValue in
 		}
 
 		// N期移动均值计算
-		val, _ := tmpDecimalVal.Div(decimalN).RoundCeil(4).Float64()
+		val, _ := tmpDecimalVal.Div(decimalN).Round(4).Float64()
 
 		currentDateStr := currentDate.Format(utils.FormatDate)
 		tmpData := &data_manage.EdbDataList{
@@ -520,7 +520,7 @@ func GetChartPredictEdbInfoDataListByRuleNLinearRegression(edbInfoId int, nValue
 		xDecimal := decimal.NewFromInt(int64(tmpK))
 		bDecimal := decimal.NewFromFloat(b)
 
-		val, _ := aDecimal.Mul(xDecimal).Add(bDecimal).RoundCeil(4).Float64()
+		val, _ := aDecimal.Mul(xDecimal).Add(bDecimal).Round(4).Float64()
 
 		currentDateStr := currentDate.Format(utils.FormatDate)
 		tmpData := &data_manage.EdbDataList{
@@ -583,7 +583,7 @@ func GetChartPredictEdbInfoDataListByRuleTrendsHC(edbInfoId int, dayList []time.
 		lastValueDecimal := decimal.NewFromFloat(lastValue)
 		hcValDecimal := decimal.NewFromFloat(hcVal)
 
-		val, _ := lastValueDecimal.Add(hcValDecimal).RoundCeil(4).Float64()
+		val, _ := lastValueDecimal.Add(hcValDecimal).Round(4).Float64()
 
 		tmpData := &data_manage.EdbDataList{
 			EdbDataId:     edbInfoId + 100000 + lenAllData + k,
@@ -838,7 +838,7 @@ func GetChartPredictEdbInfoDataListByRuleSeason(edbInfoId int, configValue strin
 			continue
 		}
 		lastDayValDec := decimal.NewFromFloat(lastDayVal)
-		val, _ := tmpHistoryVal.Div(decimal.NewFromInt(int64(tmpHistoryValNum))).Add(lastDayValDec).RoundCeil(4).Float64()
+		val, _ := tmpHistoryVal.Div(decimal.NewFromInt(int64(tmpHistoryValNum))).Add(lastDayValDec).Round(4).Float64()
 
 		currentDateStr := currentDate.Format(utils.FormatDate)
 		tmpData := &data_manage.EdbDataList{
@@ -1002,7 +1002,7 @@ func GetChartPredictEdbInfoDataListByRuleMoveAverageTb(edbInfoId int, nValue, ye
 		tbVal := tmpAverageVal.Div(tmpHistoryAverageVal)
 
 		// 预测值结果 = 同比年份同期值(tmpHistoryCurrentVal的值)* 同比值(tbVal的值)
-		val, _ := decimal.NewFromFloat(tmpHistoryCurrentVal).Mul(tbVal).RoundCeil(4).Float64()
+		val, _ := decimal.NewFromFloat(tmpHistoryCurrentVal).Mul(tbVal).Round(4).Float64()
 
 		currentDateStr := currentDate.Format(utils.FormatDate)
 		tmpData := &data_manage.EdbDataList{
@@ -1139,7 +1139,7 @@ func GetChartPredictEdbInfoDataListByRuleTbzscz(edbInfoId int, tbEndValue float6
 		preDate := currentDate.AddDate(-1, 0, 0)
 		preDateStr := preDate.Format(utils.FormatDate)
 		if preValue, ok := existMap[preDateStr]; ok { //上一年同期找到
-			val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).RoundCeil(4).Float64()
+			val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).Round(4).Float64()
 			calculateStatus = true
 		} else {
 			switch frequency {
@@ -1150,13 +1150,13 @@ func GetChartPredictEdbInfoDataListByRuleTbzscz(edbInfoId int, tbEndValue float6
 				for i := 0; i <= 35; i++ {
 					nextDateDayStr := nextDateDay.Format(utils.FormatDate)
 					if preValue, ok := existMap[nextDateDayStr]; ok { //上一年同期->下一个月找到
-						val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).RoundCeil(4).Float64()
+						val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).Round(4).Float64()
 						calculateStatus = true
 						break
 					} else {
 						preDateDayStr := preDateDay.Format(utils.FormatDate)
 						if preValue, ok := existMap[preDateDayStr]; ok { //上一年同期->上一个月找到
-							val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).RoundCeil(4).Float64()
+							val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).Round(4).Float64()
 							calculateStatus = true
 							break
 						}
@@ -1167,7 +1167,7 @@ func GetChartPredictEdbInfoDataListByRuleTbzscz(edbInfoId int, tbEndValue float6
 
 			case "季度", "年度":
 				if preValue, ok := existMap[preDateStr]; ok { //上一年同期->下一个月找到
-					val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).RoundCeil(4).Float64()
+					val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).Round(4).Float64()
 					calculateStatus = true
 					break
 				}
@@ -1178,13 +1178,13 @@ func GetChartPredictEdbInfoDataListByRuleTbzscz(edbInfoId int, tbEndValue float6
 				for i := 0; i < 35; i++ {
 					nextDateDayStr := nextDateDay.Format(utils.FormatDate)
 					if preValue, ok := existMap[nextDateDayStr]; ok { //上一年同期->下一个月找到
-						val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).RoundCeil(4).Float64()
+						val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).Round(4).Float64()
 						calculateStatus = true
 						break
 					} else {
 						preDateDayStr := preDateDay.Format(utils.FormatDate)
 						if preValue, ok := existMap[preDateDayStr]; ok { //上一年同期->上一个月找到
-							val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).RoundCeil(4).Float64()
+							val, _ = decimal.NewFromFloat(preValue).Mul(tbValue).Round(4).Float64()
 							calculateStatus = true
 							break
 						} else {
@@ -1383,7 +1383,7 @@ func getCalculateNhccData(secondDataList []*data_manage.EdbDataList, ruleConf Ru
 		bDecimal := decimal.NewFromFloat(b)
 		for _, aData := range aDataList {
 			xDecimal := decimal.NewFromFloat(aData.Value)
-			val, _ := aDecimal.Mul(xDecimal).Add(bDecimal).RoundCeil(4).Float64()
+			val, _ := aDecimal.Mul(xDecimal).Add(bDecimal).Round(4).Float64()
 			newBDataMap[aData.DataTime] = val
 		}