diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java index fb91162cb..458795768 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java @@ -1328,18 +1328,28 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements String calcExprStr=""; for (EmisCommissionExpression exprItem : exprList) { - log.info("计算项目表达式:" + JSONObject.toJSONString(exprItem)); - String calcExp = exprItem.getCalculateExpression(); + double profitMoney = 0.0D; - // 按柜内票数 - if ("5".equals(quoteItem.getCalcType())) { - calcExprStr = calcExp.replaceAll("w", siteBatch.getTotalWaybillQty().toString()) - .replaceAll("s", exprItem.getInitialWeight().toString()) - .replaceAll("d", exprItem.getAdditionalWeight().toString()); - log.info("按柜内票数:计算公式:" + calcExprStr + ",按柜内票数:"+siteBatch.getTotalWaybillQty()); - profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString()); + + if (exprItem.getStartWeight().doubleValue() < siteBatch.getTotalWaybillQty().doubleValue() + && exprItem.getEndWeight().doubleValue() >= siteBatch.getTotalWaybillQty().doubleValue() + ) { + log.info("计算项目表达式:" + JSONObject.toJSONString(exprItem)); + String calcExp = exprItem.getCalculateExpression(); + + // 按柜内票数 + if ("5".equals(quoteItem.getCalcType())) { + calcExprStr = calcExp.replaceAll("w", siteBatch.getTotalWaybillQty().toString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜内票数:计算公式:" + calcExprStr + ",按柜内票数:"+siteBatch.getTotalWaybillQty()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString()); + } + }else{ + continue; } + // 插入参与分成人员 String empName=quoteItem.getEmpName();