From 775ffd91e457c4496d696897793097059d2bc7c8 Mon Sep 17 00:00:00 2001
From: aike <17730485278@139.com>
Date: Tue, 27 Jan 2026 13:57:04 +0800
Subject: [PATCH] =?UTF-8?q?demand:=20=20TMS=E7=B3=BB=E7=BB=9F=20-=20?=
=?UTF-8?q?=E6=88=90=E6=9C=AC=E7=AE=A1=E7=90=86=20-=20=E8=BF=90=E5=8D=95?=
=?UTF-8?q?=E5=88=A9=E6=B6=A6=E7=BB=9F=E8=AE=A1=20-=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=90=86=E8=B5=94=E9=87=91=E9=A2=9D=E3=80=81?=
=?UTF-8?q?=E6=8A=98=E8=AE=A9=E9=87=91=E9=A2=9D=E3=80=81=E6=8A=B5=E6=89=A3?=
=?UTF-8?q?=E9=87=91=E9=A2=9D=E3=80=81=E5=85=B6=E4=BB=96=E9=87=91=E9=A2=9D?=
=?UTF-8?q?=E3=80=81=E6=89=B9=E6=AC=A1=E7=8A=B6=E6=80=81=E3=80=81=E6=88=90?=
=?UTF-8?q?=E6=9C=AC=E7=8A=B6=E6=80=81=EF=BC=9B=20TMS=E7=B3=BB=E7=BB=9F=20?=
=?UTF-8?q?-=20=E6=88=90=E6=9C=AC=E7=AE=A1=E7=90=86=20-=20=E8=BF=90?=
=?UTF-8?q?=E5=8D=95=E5=88=A9=E6=B6=A6=E7=BB=9F=E8=AE=A1=20-=20=E6=89=B9?=
=?UTF-8?q?=E9=87=8F=E9=87=8D=E7=AE=97=20-=20=E9=87=8D=E7=AE=97=E5=88=A9?=
=?UTF-8?q?=E6=B6=A6=E5=A2=9E=E5=8A=A0=E7=90=86=E8=B5=94=E9=87=91=E9=A2=9D?=
=?UTF-8?q?=E3=80=81=E6=8A=98=E8=AE=A9=E9=87=91=E9=A2=9D=E3=80=81=E6=8A=B5?=
=?UTF-8?q?=E6=89=A3=E9=87=91=E9=A2=9D=E3=80=81=E5=85=B6=E4=BB=96=E9=87=91?=
=?UTF-8?q?=E9=A2=9D=EF=BC=8C=E8=BF=90=E5=8D=95=E6=AF=9B=E5=88=A9=E6=B6=A6?=
=?UTF-8?q?=E9=87=8D=E7=AE=97=E5=85=AC=E5=BC=8F=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../erp/emis/domain/EmisTmsCostProfit.java | 16 +++-
.../impl/EmisTmsCostFeeServiceImpl.java | 37 ++++++++-
.../mapper/EmisTmsCostProfitMapper.xml | 75 ++++++++++++++++++-
3 files changed, 122 insertions(+), 6 deletions(-)
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostProfit.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostProfit.java
index 221c061a0..0b9f7224c 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostProfit.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostProfit.java
@@ -1,10 +1,10 @@
-/**
+/**
* @Project: emis
* @Title: EmisTmsCostProfit.java
* @author linfso
* @date 2024-10-10 01:53:23
* @Copyright: ShangHai Duta 2022 All rights reserved.
- * @version v1.0
+ * @version v1.0
* @Description:
运输运单利润统计表 实体类
*/
@@ -52,6 +52,18 @@ public class EmisTmsCostProfit extends BaseEntity
private BigDecimal costFee;
/* 运单利润 */
private BigDecimal billProfit;
+ /* 理赔金额 */
+ private BigDecimal satisfyMoney;
+ /* 折让金额 */
+ private BigDecimal allowanceMoney;
+ /* 抵扣金额 */
+ private BigDecimal deductionMoney;
+ /* 其他金额 */
+ private BigDecimal otherMoney;
+ /* 批次状态 1:已完成,2:未完成,3:部分完成 */
+ private String batchStatus;
+ /* 成本状态 1:已完成,2:未完成,3:部分完成 */
+ private String costStatus;
// 扩展参数
private EmisWaybill waybillDetail;
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 1dbaa8e48..7cf979c33 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
@@ -77,6 +77,12 @@ public class EmisTmsCostFeeServiceImpl extends EmisBaseService implements IEmisT
@Autowired
private EmisTmsCostQuotePriceMapper emisTmsCostQuotePriceMapper;
+ @Autowired
+ private EmisSettleSubBillMapper emisSettleSubBillMapper;
+
+ @Autowired
+ private EmisSettleBillMapper emisSettleBillMapper;
+
/**
* 查询TMS运输成本账单
* @param id TMS运输成本账单主键
@@ -1260,7 +1266,36 @@ public class EmisTmsCostFeeServiceImpl extends EmisBaseService implements IEmisT
// 获取主单成本费用
double costFee=emisTmsCostFeeSplitMapper.getCostFeeByMainBillCode(mainBillCode);
updProfit.setCostFee(BigDecimal.valueOf(costFee));
- updProfit.setBillProfit(emisTmsCostProfit.getBillFee().subtract(updProfit.getCostFee()));
+
+ // 根据mainBillCode查询账单表获取理赔金额、折让金额、抵扣金额、其他金额
+ List settleSubBillList = emisSettleSubBillMapper.selectSettleSubBillListByBillCode(mainBillCode);
+ if (CollectionUtils.isNotEmpty(settleSubBillList)) {
+ // 获取第一个子账单的settleBillNo
+ String settleBillNo = settleSubBillList.get(0).getSettleBillNo();
+ if (StringUtils.isNotBlank(settleBillNo)) {
+ // 查询该总账单下的所有子账单,判断是否只对应一个运单
+ List allSubBillList = emisSettleSubBillMapper.selectSubBillListBySettleBillNo(settleBillNo);
+ if (CollectionUtils.isNotEmpty(allSubBillList) && allSubBillList.size() == 1) {
+ // 账单只对应一个运单,查询总账单获取理赔金额、折让金额、抵扣金额、其他金额
+ EmisSettleBill settleBill = emisSettleBillMapper.selectSettleBillBySettleBillNo(settleBillNo);
+ if (settleBill != null) {
+ updProfit.setSatisfyMoney(settleBill.getSatisfyMoney() != null ? settleBill.getSatisfyMoney() : BigDecimal.ZERO);
+ updProfit.setAllowanceMoney(settleBill.getAllowanceMoney() != null ? settleBill.getAllowanceMoney() : BigDecimal.ZERO);
+ updProfit.setDeductionMoney(settleBill.getDeductionMoney() != null ? settleBill.getDeductionMoney() : BigDecimal.ZERO);
+ updProfit.setOtherMoney(settleBill.getOtherMoney() != null ? settleBill.getOtherMoney() : BigDecimal.ZERO);
+ }
+ }
+ }
+ }
+
+ // 计算运单利润:运单费用 - 运输成本 - 理赔金额 - 折让金额 - 抵扣金额 - 其他金额
+ BigDecimal billProfit = emisTmsCostProfit.getBillFee()
+ .subtract(updProfit.getCostFee())
+ .subtract(updProfit.getSatisfyMoney() != null ? updProfit.getSatisfyMoney() : BigDecimal.ZERO)
+ .subtract(updProfit.getAllowanceMoney() != null ? updProfit.getAllowanceMoney() : BigDecimal.ZERO)
+ .subtract(updProfit.getDeductionMoney() != null ? updProfit.getDeductionMoney() : BigDecimal.ZERO)
+ .subtract(updProfit.getOtherMoney() != null ? updProfit.getOtherMoney() : BigDecimal.ZERO);
+ updProfit.setBillProfit(billProfit);
emisTmsCostProfitMapper.updateEmisTmsCostProfit(updProfit);
}
diff --git a/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml
index b1cfdcad1..97c127643 100644
--- a/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml
@@ -12,6 +12,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+
+
+
+
@@ -24,6 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select id, bill_code,bill_month, standard_fee, bill_fee, cost_fee, bill_profit,
+ satisfy_money, allowance_money, deduction_money, other_money,
remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_cost_profit
@@ -32,7 +39,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
@@ -157,13 +214,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
@@ -178,6 +235,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bill_fee,
cost_fee,
bill_profit,
+ satisfy_money,
+ allowance_money,
+ deduction_money,
+ other_money,
remark,
del_flag,
create_by,
@@ -195,6 +256,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{billFee},
#{costFee},
#{billProfit},
+ #{satisfyMoney},
+ #{allowanceMoney},
+ #{deductionMoney},
+ #{otherMoney},
#{remark},
#{delFlag},
#{createBy},
@@ -215,6 +280,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bill_fee = #{billFee},
cost_fee = #{costFee},
bill_profit = #{billProfit},
+ satisfy_money = #{satisfyMoney},
+ allowance_money = #{allowanceMoney},
+ deduction_money = #{deductionMoney},
+ other_money = #{otherMoney},
remark = #{remark},
del_flag = #{delFlag},
create_by = #{createBy},