From 5b9914dc73fcdaecbfe3cecb402121cdd9d70f4c Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期一, 05 一月 2026 18:01:01 +0800
Subject: [PATCH] 新增字段

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java
index 60e52b3..dad912e 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java
@@ -4,8 +4,11 @@
 
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
+
+import com.ruoyi.cwgl.mapper.ReceivableFeeManagementMapper;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -17,8 +20,14 @@
 
 import com.ruoyi.cwgl.mapper.ReceivableBillManagementMapper;
 import com.ruoyi.cwgl.domain.ReceivableBillManagement;
+import com.ruoyi.cwgl.domain.ReceivableFeeManagement;
+import com.ruoyi.cwgl.domain.ReceivableBillManagementLog;
+import com.ruoyi.cwgl.service.IReceivableBillManagementLogService;
 import com.ruoyi.cwgl.service.IReceivableBillManagementService;
+import com.ruoyi.cwgl.service.IReceivableFeeManagementService;
 import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 
 /**
  * 搴旀敹璐﹀崟绠$悊Service涓氬姟灞傚鐞�
@@ -33,6 +42,11 @@
     protected final Logger logger = LoggerFactory.getLogger(getClass());
     @Resource
     private ReceivableBillManagementMapper receivableBillManagementMapper;
+    @Resource
+    private ReceivableFeeManagementMapper receivableFeeManagementMapper;
+    
+    @Resource
+    private IReceivableBillManagementLogService receivableBillManagementLogService;
 
 
     /**
@@ -179,4 +193,56 @@
     {
         return receivableBillManagementMapper.deleteReceivableBillManagementById(id);
     }
+    
+    /**
+     * 浣滃簾搴旀敹璐﹀崟绠$悊璁板綍
+     *
+     * @param id 搴旀敹璐﹀崟绠$悊ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int voidReceivableBillManagement(Integer id) {
+        // 1. 鏌ヨ搴旀敹璐﹀崟璁板綍
+        ReceivableBillManagement billManagement = receivableBillManagementMapper.selectReceivableBillManagementById(id);
+        if (billManagement == null) {
+            throw new ServiceException("搴旀敹璐﹀崟璁板綍涓嶅瓨鍦�");
+        }
+        
+        // 2. 鍒ゆ柇鐘舵�佹槸鍚︿负0锛堟湭缁撶畻锛夛紝鍙湁鐘舵�佷负0鎵嶈兘浣滃簾
+        if (!"0".equals(billManagement.getStatus())) {
+            throw new ServiceException("鍙湁鐘舵�佷负鏈粨绠楃殑璐﹀崟鎵嶈兘浣滃簾");
+        }
+        
+        // 3. 璁剧疆鐘舵�佷负浣滃簾
+        billManagement.setStatus("2");
+        billManagement.setUpdateTime(DateUtils.getNowDate());
+        
+        // 4. 鏇存柊搴旀敹璐﹀崟璁板綍
+        int result = receivableBillManagementMapper.updateReceivableBillManagement(billManagement);
+        
+        // 5. 濡傛灉鏇存柊鎴愬姛锛屾竻闄ゅ叧鑱斿簲鏀惰垂鐢ㄧ殑璐﹀崟缂栧彿骞舵洿鏂扮姸鎬�
+        if (result > 0) {
+            // 鑾峰彇璐﹀崟绯荤粺缂栧彿
+            String billSystemNo = billManagement.getSystemNo();
+            if (billSystemNo != null && !billSystemNo.trim().isEmpty()) {
+                // 鏌ヨ鍏宠仈璇ヨ处鍗曠殑搴旀敹璐圭敤璁板綍
+                ReceivableFeeManagement queryFee = new ReceivableFeeManagement();
+                queryFee.setRelatedBillNo(billSystemNo);
+                List<ReceivableFeeManagement> feeList = receivableFeeManagementMapper.selectReceivableFeeManagementList(queryFee);
+                
+                // 娓呴櫎鍏宠仈璐﹀崟缂栧彿骞跺皢鐘舵�佹敼涓�0锛堝緟鐢熸垚璐﹀崟锛�
+                receivableFeeManagementMapper.updateReceivableFeeManagementByRelatedBillNo(billSystemNo);
+            }
+            
+            // 璁板綍浣滃簾鎿嶄綔鏃ュ織
+            ReceivableBillManagementLog log = new ReceivableBillManagementLog();
+            log.setBillId(id);
+            log.setCreateBy(SecurityUtils.getUsername());
+            log.setCreateTime(DateUtils.getNowDate());
+            log.setOperation("浣滃簾搴旀敹璐﹀崟锛岃处鍗曠紪鍙凤細" + billManagement.getSystemNo());
+            receivableBillManagementLogService.insertReceivableBillManagementLog(log);
+        }
+        
+        return result;
+    }
 }

--
Gitblit v1.8.0