From ae17d63c823add96e0a2800fb95f468bc16531e1 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期一, 18 八月 2025 10:42:20 +0800
Subject: [PATCH] 新增确认取消判断
---
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java | 40 ++++++++++++++++++++++++++++++++++++++++
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml | 17 ++++++++++++-----
2 files changed, 52 insertions(+), 5 deletions(-)
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 02aef7d..564fa6a 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
@@ -128,6 +128,15 @@
estimatedReceivable.setCreateTime(nowDate);
estimatedReceivable.setFeeSystemNo("YF"+datePart+ RandomUtils.random(5));
estimatedReceivable.setFeeType(0);
+ 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("褰撳墠璋冨害鍗曞凡缁撶畻鎴栭儴鍒嗙粨绠楁棤娉曟柊澧炴槑缁�");
+ }
return estimatedReceivableMapper.insertEstimatedReceivable(estimatedReceivable);
}
@@ -244,6 +253,21 @@
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 (pendingSettlementBusiness.getBillId()!=null){
+ EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
+ BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
+ estimatedReceivableBill.setTotalAmount(totalAmount.add(estimatedReceivable.getEstimatedAmount()));
+ estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
+ }
String username = SecurityUtils.getUsername();
logService.insertEstimatedReceivableLog("纭搴旀敹",id,username);
@@ -267,10 +291,26 @@
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 (pendingSettlementBusiness.getBillId()!=null){
+ EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
+ BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
+ estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount()));
+ estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
+ }
String username = SecurityUtils.getUsername();
logService.insertEstimatedReceivableLog("鍙栨秷搴旀敹",id,username);
estimatedReceivable.setIsConfirmed(0);
+
return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
}
diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
index 7510e95..629b5bc 100644
--- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -540,10 +540,16 @@
</update>
<update id="updatePendingSettlementBusinessIsCreate">
-
- UPDATE pending_settlement_business
- SET is_create = 1 ,bill_id = #{id},bill_name = #{billName},related_bill_status = 1
- WHERE dispatch_no IN
+ UPDATE pending_settlement_business p
+ JOIN estimated_receivable e ON p.dispatch_no = e.dispatch_no
+ SET
+ p.is_create = 1,
+ p.bill_id = #{id},
+ p.bill_name = #{billName},
+ p.related_bill_status = 1,
+ e.related_bill_name = #{billName},
+ e.related_bill_status = 1
+ WHERE p.dispatch_no IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
@@ -554,7 +560,7 @@
SET
p.bill_name = #{billName},
e.related_bill_name = #{billName}
- WHERE p.bill_id = #{id};
+ WHERE p.bill_id = #{id}
</update>
<update id="updateEstimatedReceivableBillStatus">
UPDATE pending_settlement_business p
@@ -565,6 +571,7 @@
p.bill_name = #{billName},
p.related_bill_status = 1,
e.related_bill_name = #{billName}
+ e.related_bill_status = 1
WHERE p.dispatch_no IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
--
Gitblit v1.8.0