From 252905374177e0d8d98430cb33cf79840479a3fe Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期五, 15 八月 2025 15:12:12 +0800
Subject: [PATCH] 修改关联

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java |   25 +++++++++++++++++++++++++
 service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java      |    2 ++
 service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml            |    6 ++++++
 3 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
index 9556a8d..0d5f51e 100644
--- a/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
+++ b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
@@ -108,4 +108,6 @@
     int cancelRelevancy(Integer id);
 
     void updatePendingSettlementBusinessByBillId(@Param("id") Integer id, @Param("billName")String billName);
+
+    PendingSettlementBusiness selectPendingSettlementBusinessByNo(String dispatchNo);
 }
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 a493210..6fcc699 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
@@ -11,7 +11,10 @@
 import com.ruoyi.common.utils.RandomUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.cwgl.domain.EstimatedReceivableBill;
+import com.ruoyi.cwgl.domain.PendingSettlementBusiness;
+import com.ruoyi.cwgl.mapper.EstimatedReceivableBillMapper;
 import com.ruoyi.cwgl.mapper.EstimatedReceivableLogMapper;
+import com.ruoyi.cwgl.mapper.PendingSettlementBusinessMapper;
 import com.ruoyi.cwgl.service.IEstimatedReceivableLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -45,6 +48,10 @@
     private EstimatedReceivableMapper estimatedReceivableMapper;
     @Autowired
     private IEstimatedReceivableLogService logService;
+    @Resource
+    private PendingSettlementBusinessMapper pendingSettlementBusinessMapper;
+    @Resource
+    private EstimatedReceivableBillMapper estimatedReceivableBillMapper;
 
     /**
      * 鏌ヨ棰勪及搴旀敹绠$悊
@@ -150,6 +157,24 @@
         if (estimatedReceivable1.getRelatedBillStatus().equals(2)||estimatedReceivable1.getRelatedBillStatus().equals(3)){
             throw new ServiceException("缁撶畻涓垨宸茬粨绠楁棤娉曚慨鏀�");
         }
+        //鍘熸湰閲戦
+        Long oldAmount = estimatedReceivable1.getEstimatedAmount();
+        //鏂伴噾棰�
+        Long newAmount = estimatedReceivable.getEstimatedAmount();
+        if (!oldAmount.equals(newAmount)) {
+
+              PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo());
+              if (pendingSettlementBusiness!=null) {
+                  Long estimatedTotalIncome = pendingSettlementBusiness.getEstimatedTotalIncome();
+                  pendingSettlementBusiness.setEstimatedTotalIncome(estimatedTotalIncome-oldAmount+newAmount);
+                  pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
+                  if (pendingSettlementBusiness.getBillId() != null) {
+                      EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
+                            estimatedReceivableBill.setTotalAmount(estimatedReceivableBill.getTotalAmount() -oldAmount + newAmount);
+                            estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
+                  }
+              }
+        }
         estimatedReceivable.setUpdateTime(DateUtils.getNowDate());
         String username = SecurityUtils.getUsername();
         logService.insertEstimatedReceivableLog("淇敼搴旀敹",estimatedReceivable.getId(),username);
diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
index 5b41d7a..32289c7 100644
--- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -278,6 +278,12 @@
         SELECT dispatch_no from pending_settlement_business where  bill_id =    #{id}
 
     </select>
+    <select id="selectPendingSettlementBusinessByNo"
+            resultMap="PendingSettlementBusinessResult">
+        <include refid="selectPendingSettlementBusinessVo"/>
+        where dispatch_no = #{dispatchNo}
+
+    </select>
 
     <!-- 鏂板 -->
     <insert id="insertPendingSettlementBusiness" parameterType="com.ruoyi.cwgl.domain.PendingSettlementBusiness"  useGeneratedKeys="true" keyProperty="id">

--
Gitblit v1.8.0