From 72a702735b61e75a51dad0c3a5a50dd60873dcb8 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 Jan 2026 10:56:54 +0800 Subject: [PATCH 1/8] =?UTF-8?q?demand:=20tms-=E5=AE=A2=E6=88=B7=E8=B4=A6?= =?UTF-8?q?=E5=8D=95=E7=AE=A1=E7=90=86-=E5=8F=91=E7=A5=A8=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E5=AE=A1=E6=A0=B8-=E5=8F=91=E7=A5=A8=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8D=E5=90=8C=E6=AD=A5=E5=8F=91=E7=A5=A8=E8=A1=A8?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisInvoiceCancellationServiceImpl.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java index a4a1577e9..0e2e36041 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java @@ -44,7 +44,15 @@ public class EmisInvoiceCancellationServiceImpl implements IEmisInvoiceCancellat @Override public EmisInvoiceCancellation selectEmisInvoiceCancellationById(Long id) { - return emisInvoiceCancellationMapper.selectEmisInvoiceCancellationById(id); + EmisInvoiceCancellation emisInvoiceCancellation = emisInvoiceCancellationMapper.selectEmisInvoiceCancellationById(id); + if (emisInvoiceCancellation == null) { + return emisInvoiceCancellation; + } + if (emisInvoiceCancellation.getEmisSettleInvoiceRecord() == null) { + return emisInvoiceCancellation; + } + emisInvoiceCancellation.getEmisSettleInvoiceRecord().setInvoiceStatus("2"); + return emisInvoiceCancellation; } /** 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 2/8] =?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}, From 9a5a50293e187376a56a3b7cbf2106a05ebc3875 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 Jan 2026 16:45:05 +0800 Subject: [PATCH 3/8] =?UTF-8?q?demand:=20=20tms-=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E8=B4=A6=E5=8D=95=E7=AE=A1=E7=90=86-=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E5=AE=A1=E6=A0=B8-=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8D=E5=90=8C=E6=AD=A5=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E8=A1=A8=E7=8A=B6=E6=80=81-=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisInvoiceCancellationServiceImpl.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java index 0e2e36041..01a38635e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java @@ -45,13 +45,13 @@ public class EmisInvoiceCancellationServiceImpl implements IEmisInvoiceCancellat public EmisInvoiceCancellation selectEmisInvoiceCancellationById(Long id) { EmisInvoiceCancellation emisInvoiceCancellation = emisInvoiceCancellationMapper.selectEmisInvoiceCancellationById(id); - if (emisInvoiceCancellation == null) { - return emisInvoiceCancellation; - } - if (emisInvoiceCancellation.getEmisSettleInvoiceRecord() == null) { - return emisInvoiceCancellation; - } - emisInvoiceCancellation.getEmisSettleInvoiceRecord().setInvoiceStatus("2"); +// if (emisInvoiceCancellation == null) { +// return emisInvoiceCancellation; +// } +// if (emisInvoiceCancellation.getEmisSettleInvoiceRecord() == null) { +// return emisInvoiceCancellation; +// } +// emisInvoiceCancellation.getEmisSettleInvoiceRecord().setInvoiceStatus("2"); return emisInvoiceCancellation; } From a2d72a2dab2239e35fe366d665f4b3440cbf8c74 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 27 Jan 2026 17:55:22 +0800 Subject: [PATCH 4/8] =?UTF-8?q?demand:=20=20tms-=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E8=B4=A6=E5=8D=95=E7=AE=A1=E7=90=86-=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E5=AE=A1=E6=A0=B8-=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8D=E5=90=8C=E6=AD=A5=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E8=A1=A8=E7=8A=B6=E6=80=81-=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/EmisTmsCostProfitMapper.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml index 97c127643..ed51c7c6b 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsCostProfitMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -158,13 +158,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + and EXISTS (SELECT 1 FROM emis_waybill_batch_status ewbs WHERE ewbs.bill_code = a.bill_code AND ewbs.del_flag = '0') - + and NOT EXISTS (SELECT 1 FROM emis_tms_site_batch_dtl etsbd INNER JOIN emis_tms_site_batch etsb ON etsbd.batch_no = etsb.batch_no WHERE etsbd.bill_code = a.bill_code AND etsbd.del_flag = '0' AND etsb.del_flag = '0') - + and ( NOT EXISTS (SELECT 1 FROM emis_waybill_batch_status ewbs WHERE ewbs.bill_code = a.bill_code AND ewbs.del_flag = '0') AND EXISTS (SELECT 1 FROM emis_tms_site_batch_dtl etsbd INNER JOIN emis_tms_site_batch etsb ON etsbd.batch_no = etsb.batch_no WHERE etsbd.bill_code = a.bill_code AND etsbd.del_flag = '0' AND etsb.del_flag = '0') @@ -172,15 +172,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + and EXISTS (SELECT 1 FROM emis_waybill_batch_status ewbs WHERE ewbs.bill_code = a.bill_code AND ewbs.del_flag = '0') and EXISTS (SELECT 1 FROM emis_tms_site_batch_dtl etsbd INNER JOIN emis_tms_site_batch etsb ON etsbd.batch_no = etsb.batch_no WHERE etsbd.bill_code = a.bill_code AND etsbd.del_flag = '0' AND etsb.del_flag = '0') and NOT EXISTS (SELECT 1 FROM emis_tms_site_batch_dtl etsbd INNER JOIN emis_tms_site_batch etsb ON etsbd.batch_no = etsb.batch_no WHERE etsbd.bill_code = a.bill_code AND etsbd.del_flag = '0' AND etsb.del_flag = '0' AND (etsb.bl_entering IS NULL OR etsb.bl_entering != '1')) - + and NOT EXISTS (SELECT 1 FROM emis_tms_site_batch_dtl etsbd INNER JOIN emis_tms_site_batch etsb ON etsbd.batch_no = etsb.batch_no WHERE etsbd.bill_code = a.bill_code AND etsbd.del_flag = '0' AND etsb.del_flag = '0' AND etsb.bl_entering = '1') - + and ( NOT EXISTS (SELECT 1 FROM emis_waybill_batch_status ewbs WHERE ewbs.bill_code = a.bill_code AND ewbs.del_flag = '0') OR ( @@ -212,7 +212,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and update_site = #{updateSite} limit 1 - +