From 254a2998c07916de66c464928bbb1beeacfe72d6 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期五, 15 八月 2025 10:50:27 +0800
Subject: [PATCH] 新增移除

---
 service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java         |    7 +++++++
 service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java          |    3 +++
 service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java |   29 +++++++++++++++++++++++++++++
 service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml                |    4 ++++
 service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java    |   12 ++++++++++++
 5 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java b/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java
index 755def7..70287ac 100644
--- a/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java
+++ b/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java
@@ -116,4 +116,16 @@
     {
         return toAjax(estimatedReceivableBillService.deleteEstimatedReceivableBillByIds(ids));
     }
+
+    /**
+     * 鍙栨秷鍏宠仈
+     * @param id
+     * @return
+     */
+    @GetMapping("cancel/relevancy/{id}")
+    public AjaxResult cancelRelevancy(@PathVariable("id") Integer id)
+    {
+        return toAjax(estimatedReceivableBillService.cancelRelevancy(id));
+    }
+
 }
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 526b6c7..409fb3f 100644
--- a/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
+++ b/service/src/main/java/com/ruoyi/cwgl/mapper/PendingSettlementBusinessMapper.java
@@ -103,4 +103,7 @@
     List<String> selectCustomName();
 
     List<String> selectPendingSettlementBusinessDispatchNos(Integer id);
+
+
+    int cancelRelevancy(Integer id);
 }
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java b/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java
index 55b6365..cbbf537 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java
@@ -106,4 +106,11 @@
      * @return
      */
     int settlement(EstimatedReceivableBill estimatedReceivableBill);
+
+    /**
+     * 鍙栨秷鍏宠仈
+     * @param id
+     * @return
+     */
+    int cancelRelevancy(Integer id);
 }
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
index 516d3e3..c8c528b 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java
@@ -1,8 +1,10 @@
 package com.ruoyi.cwgl.service.impl;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
 
@@ -226,4 +228,31 @@
         }
         return estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
     }
+
+    @Override
+    public int cancelRelevancy(Integer id) {
+        PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessById(id);
+        if (pendingSettlementBusiness==null){
+            throw new ServiceException("寰呭叆璐︿笟鍔′笉瀛樺湪");
+        }
+        Integer billId = pendingSettlementBusiness.getBillId();
+        EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(billId);
+        estimatedReceivableBill.setDispatchCount(estimatedReceivableBill.getDispatchCount()-1);
+        //搴旂粨绠楅噾棰濅慨鏀�
+        Long totalAmount = estimatedReceivableBill.getTotalAmount();
+        estimatedReceivableBill.setTotalAmount(totalAmount-pendingSettlementBusiness.getEstimatedTotalIncome());
+        EstimatedReceivableBillLog estimatedReceivableBillLog = new EstimatedReceivableBillLog();
+        estimatedReceivableBillLog.setCreateTime(new Date());
+        estimatedReceivableBillLog.setBillId(billId);
+        estimatedReceivableBillLog.setCreateBy(SecurityUtils.getUsername());
+        String dispatchNo = pendingSettlementBusiness.getDispatchNo();
+        estimatedReceivableBillLog.setOperation("鍙栨秷璋冨害鍗�"+ dispatchNo +"鍏宠仈");
+        logService.insertEstimatedReceivableBillLog(estimatedReceivableBillLog);
+        List<String> dispatchNos = new ArrayList<>();
+        dispatchNos.add(dispatchNo);
+        estimatedReceivableMapper.updateEstimatedReceivableBillStatus(dispatchNos,0);
+
+        return  pendingSettlementBusinessMapper.cancelRelevancy(id);
+
+    }
 }
diff --git a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
index 6a690e7..7d18ae6 100644
--- a/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -536,5 +536,9 @@
             #{id}
         </foreach>
     </delete>
+    <delete id="cancelRelevancy">
+         UPDATE pending_settlement_business set bill_id = null ,bill_name = null
+         where id = #{id}
+    </delete>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0