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