From a573ff1f9eed00e0b5c4807001bb167ca237fbfb Mon Sep 17 00:00:00 2001 From: linfso Date: Fri, 4 Jul 2025 14:55:22 +0800 Subject: [PATCH] md --- .../impl/EmisTmsCostFeeServiceImpl.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java index 06393aeec..7556b4e38 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java @@ -521,6 +521,12 @@ public class EmisTmsCostFeeServiceImpl extends EmisBaseService implements IEmisT log.info("网点机场短驳费:计算公式:" + calcExprStr + ",重量:" + waybill.getBillWeight().stripTrailingZeros().toPlainString()); + // 如果计算出来的成本大于单项收费取成本费用 + if(costFee > totalDbCostFee.doubleValue()){ + costFee=totalDbCostFee.doubleValue(); + calcExprStr=totalDbCostFee.stripTrailingZeros().toPlainString(); + } + costFee = WaybillHelper.calcSettledFee(costFee, quotePriceItem.getPriceType()); BigDecimal splitCostFee = BigDecimal.valueOf(costFee); @@ -620,6 +626,12 @@ public class EmisTmsCostFeeServiceImpl extends EmisBaseService implements IEmisT log.info("机场提货费操作费:计算公式:" + calcExprStr + ",重量:" + waybill.getBillWeight().stripTrailingZeros().toPlainString()); + // 如果计算出来的成本大于单项收费取成本费用 + if(costFee > totalDbCostFee.doubleValue()){ + costFee=totalDbCostFee.doubleValue(); + calcExprStr=totalDbCostFee.stripTrailingZeros().toPlainString(); + } + costFee = WaybillHelper.calcSettledFee(costFee, quotePriceItem.getPriceType()); BigDecimal splitCostFee = BigDecimal.valueOf(costFee); @@ -951,6 +963,12 @@ public class EmisTmsCostFeeServiceImpl extends EmisBaseService implements IEmisT log.info("按票分摊:计算公式:" + calcExprStr + ",票数:1"); } + // 如果计算出来的成本大于单项收费取成本费用 + if(costFee > feeItem.getCnyFee().doubleValue()){ + costFee=feeItem.getCnyFee().doubleValue(); + calcExprStr=feeItem.getCnyFee().stripTrailingZeros().toPlainString(); + } + BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP); splitItem.setCostFee(splitCostFee); splitItem.setCalcExpr(itemCalcExpr);