diff --git a/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java b/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java index a0767e492..29e0f0ea5 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/ExpressFormulaBO.java @@ -98,8 +98,10 @@ public class ExpressFormulaBO { // 公式变量的值 String formulaVarValue = formulaVarValueMap.getOrDefault(formulaVar.getFieldId(), StringUtils.EMPTY); // 如果公式的返回值类型为number,公式中的变量的值如果为空,公式运行的时候会报错,所以需要替换成0 - if (StringUtils.isEmpty(formulaVarValue) && "number".equals(expressFormula.getReturnType())) { + if (StringUtils.isEmpty(formulaVarValue) && "number".equals(formulaVar.getFieldType())) { formulaVarValue = BigDecimal.ZERO.toPlainString(); + } else if (StringUtils.isEmpty(formulaVarValue) && "string".equals(formulaVar.getFieldType())) { + formulaVarValue = ""; } formulaVar.setContent(formulaVarValue); }