From a42263827ca2243ea27c195f8c8047333872b77b Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 16 Mar 2025 18:43:52 +0800 Subject: [PATCH] md --- .../impl/EmisCommissionProfitServiceImpl.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) 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();