From d38c1bddd9064198d50563182d37944e45eb7898 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 22 Apr 2026 15:09:57 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=20=20=20TMS=E7=B3=BB=E7=BB=9F=20-?= =?UTF-8?q?=20=E6=8F=90=E6=88=90=E7=AE=A1=E7=90=86=20-=20=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E6=8F=90=E6=88=90=E6=96=B9=E6=A1=88=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20-=20=E6=B5=B7=E8=BF=90=E8=AE=A1=E6=8F=90?= =?UTF-8?q?=20=E6=96=B9=E5=BC=8F=E2=80=9C=E6=8C=89=E6=9F=9C=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E2=80=9D=EF=BC=8C=E6=9F=9C=E5=AD=90=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E5=8F=96=20=E8=BF=90=E5=8D=95=E8=A1=A8?= =?UTF-8?q?=E2=80=9C=E6=9F=9C=E6=95=B0=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisCommissionProfitServiceImpl.java | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) 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 2729f754f..201ec8052 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 @@ -598,6 +598,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements env.put("d", exprItem.getAdditionalWeight()); profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 参与分成人员计算 if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) { @@ -738,6 +754,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 插入参与分成人员 // 插入提成 @@ -888,6 +920,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements env.put("d", exprItem.getAdditionalWeight()); profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 插入提成 if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) { @@ -1044,6 +1092,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements env.put("d", exprItem.getAdditionalWeight()); profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 插入提成 if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) { @@ -1202,6 +1266,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 插入提成 if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) { @@ -1352,6 +1432,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 插入提成 if (BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO) > 0) { @@ -1575,6 +1671,22 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp,env).toString()); } + // 柜数 + else if ("5".equals(quoteItem.getCalcType())) { + BigDecimal cabinetNumber = BigDecimal.ZERO; + if (waybill.getWaybillOther() != null && waybill.getWaybillOther().getCabinetNumber() != null) { + cabinetNumber = new BigDecimal(waybill.getWaybillOther().getCabinetNumber().toString()); + } + calcExprStr = calcExp.replaceAll("w", cabinetNumber.stripTrailingZeros().toPlainString()) + .replaceAll("s", exprItem.getInitialWeight().toString()) + .replaceAll("d", exprItem.getAdditionalWeight().toString()); + log.info("按柜数:计算公式:" + calcExprStr + ",柜数:" + cabinetNumber.stripTrailingZeros().toPlainString()); + Map env = new HashMap<>(); + env.put("w", cabinetNumber); + env.put("s", exprItem.getInitialWeight()); + env.put("d", exprItem.getAdditionalWeight()); + profitMoney = Double.valueOf(AviatorEvaluator.execute(calcExp, env).toString()); + } // 插入提成 if(BigDecimal.valueOf(profitMoney).compareTo(BigDecimal.ZERO)>0) {