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/EmisInvoiceCancellationServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisInvoiceCancellationServiceImpl.java
index a4a1577e9..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
@@ -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;
}
/**
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..b8a255def 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">
-
+
@@ -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"
@@ -155,15 +208,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and update_site = #{updateSite}
limit 1
-
+
@@ -178,6 +231,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 +252,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{billFee},
#{costFee},
#{billProfit},
+ #{satisfyMoney},
+ #{allowanceMoney},
+ #{deductionMoney},
+ #{otherMoney},
#{remark},
#{delFlag},
#{createBy},
@@ -215,6 +276,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},
@@ -237,4 +302,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
-
\ No newline at end of file
+