From 82a1cf87de473e970185d6a60291f8087efa5afd Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期一, 18 八月 2025 13:42:24 +0800
Subject: [PATCH] 新增确认取消判断
---
quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java | 3 +++
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java | 27 +++++++++++++++++++++++++++
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml | 6 +-----
3 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java b/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
index 2ad1316..a32967c 100644
--- a/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
+++ b/quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
@@ -49,6 +49,9 @@
List<EstimatedReceivable> estimatedReceivables = new ArrayList<>();
for (PendingSettlementBusiness pendingSettlementBusiness : pendingSettlementBusinesses) {
pendingSettlementBusiness.setIsCreate(0);
+ pendingSettlementBusiness.setEstimatedTotalCost(BigDecimal.ZERO);
+
+ pendingSettlementBusiness.setEstimatedTotalIncome(BigDecimal.ZERO);
ReceivableLineTruckPriceRule exactMatchingRule = ExactPricingRuleMatcher.findExactMatchingRule(receivableLineTruckPriceRules, pendingSettlementBusiness.getCustomerName(), pendingSettlementBusiness.getDepartureLocation(), pendingSettlementBusiness.getArrivalLocation(), pendingSettlementBusiness.getVehicleType());
if (exactMatchingRule!=null) {
//搴旀敹鏁版嵁
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
index 564fa6a..2940f2f 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
@@ -267,6 +267,9 @@
BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
estimatedReceivableBill.setTotalAmount(totalAmount.add(estimatedReceivable.getEstimatedAmount()));
estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
+ pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getEstimatedTotalIncome().add(estimatedReceivable.getEstimatedAmount()));
+ pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
+ estimatedReceivable.setRelatedBillStatus(1);
}
String username = SecurityUtils.getUsername();
@@ -305,6 +308,9 @@
BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount()));
estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
+ pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getConfirmedTotalIncome().subtract(estimatedReceivable.getEstimatedAmount()));
+ pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
+ estimatedReceivable.setRelatedBillStatus(0);
}
String username = SecurityUtils.getUsername();
@@ -324,6 +330,27 @@
throw new ServiceException("鏃犻渶閲嶅浣滃簾");
}
+ PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo());
+ if (pendingSettlementBusiness == null){
+ throw new ServiceException("璋冨害鍗曚笉瀛樺湪");
+
+ }
+ Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus();
+ if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){
+ throw new ServiceException("褰撳墠璋冨害鍗曞凡缁撶畻鎴栭儴鍒嗙粨绠楁棤娉曚綔搴�");
+ }
+ //纭鐘舵�佷笅浣滃簾鎵嶆墽琛�
+ if (estimatedReceivable.getIsConfirmed().equals(1)) {
+ if (pendingSettlementBusiness.getBillId()!=null){
+ EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
+ BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
+ estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount()));
+ estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
+ pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getConfirmedTotalIncome().subtract(estimatedReceivable.getEstimatedAmount()));
+ pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
+ estimatedReceivable.setRelatedBillStatus(0);
+ }
+ }
String username = SecurityUtils.getUsername();
logService.insertEstimatedReceivableLog("浣滃簾搴旀敹",id,username);
diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
index 4864194..5015b18 100644
--- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -561,11 +561,7 @@
</update>
<update id="updateEstimatedReceivableBillStatus">
UPDATE pending_settlement_business
- SET
- is_create = 1,
- bill_id = #{id},
- bill_name = #{billName},
- related_bill_status = 1,
+ SET related_bill_status = #{status}
WHERE dispatch_no IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
--
Gitblit v1.8.0