@@ -523,6 +523,11 @@ func ProfitChartChartData(baseDataList []*models.EdbDataList, futureGoodEdbInfoM
calVal, err := engine.ParseAndExec(formulaFormStr)
//calVal, err := calResult.Float64()
if err != nil {
+ // 分母为0的报错,忽略该循环
+ if utils.IsDivideZero(err) {
+ //removeDateList = append(removeDateList, sk)
+ continue
+ }
err = errors.New("计算失败:获取计算值失败 Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
fmt.Println(err)
return nil, nil, err
@@ -481,6 +481,12 @@ func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoTag map
+
return err
@@ -460,6 +460,11 @@ func refreshAllPredictCalculate(to orm.TxOrmer, edbInfoIdList []*EdbInfo, edbInf
+ removeDateList = append(removeDateList, sk)
return "", 0, err
}
@@ -210,6 +210,11 @@ func CalculateByRuleBy9(to orm.TxOrmer, rule CalculateRule) (resultDataList []*E
return nil, err
@@ -1325,3 +1325,22 @@ func FormatFloatPlaces(val float64, places int32) (newVal float64, err error) {
newVal, _ = di.Float64()
return
+// IsDivideZero
+// @Description: 判断是否分母为0的bug
+// @author: Roc
+// @datetime 2024-08-23 11:21:25
+// @param err error
+// @return bool
+func IsDivideZero(err error) bool {
+ if err == nil {
+ return false
+ //if strings.Contains(err.Error(), "divide by zero") {
+ // return true
+ //}
+ if strings.Contains(err.Error(), "division by zero") {
+ return true
+}