|
@@ -335,11 +335,18 @@ func editPredictCalculate(br *models.BaseResponse, req models.EdbInfoCalculateSa
|
|
|
formulaStr += v.FromTag + ","
|
|
|
edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
|
|
|
}
|
|
|
- formulaMap := utils.CheckFormula(req.CalculateFormula)
|
|
|
- for _, v := range formulaMap {
|
|
|
- if !strings.Contains(formulaStr, v) {
|
|
|
- br.Msg = "公式错误,请重新填写"
|
|
|
- return
|
|
|
+ formulaSlice, err := utils.CheckFormulaJson(req.CalculateFormula)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "公式格式错误,请重新填写"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, formula := range formulaSlice {
|
|
|
+ formulaMap := utils.CheckFormula(formula)
|
|
|
+ for _, v := range formulaMap {
|
|
|
+ if !strings.Contains(formulaStr, v) {
|
|
|
+ br.Msg = "公式错误,请重新填写"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -408,12 +415,14 @@ func editPredictCalculate(br *models.BaseResponse, req models.EdbInfoCalculateSa
|
|
|
calculateMappingList = append(calculateMappingList, calculateMappingItem)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //预先计算,判断公式是否正常
|
|
|
- ok, _ := models.CheckFormula2(edbInfoList, formulaMap, calculateFormula, edbInfoIdBytes)
|
|
|
- if !ok {
|
|
|
- br.Msg = "生成计算指标失败,请使用正确的计算公式"
|
|
|
- return
|
|
|
+ for _, v := range formulaSlice {
|
|
|
+ formulaMap := utils.CheckFormula(v)
|
|
|
+ //预先计算,判断公式是否正常
|
|
|
+ ok, _ := models.CheckFormula2(edbInfoList, formulaMap, v, edbInfoIdBytes)
|
|
|
+ if !ok {
|
|
|
+ br.Msg = "生成计算指标失败,请使用正确的计算公式"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//处理同名指标
|