From 03c59a351565fe1b00c852bc821d7695b39084fc Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期五, 10 四月 2026 16:12:54 +0800
Subject: [PATCH] 修改作废

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java |   13 +++-
 api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java          |   88 ++++++++++++++++++++++++++++-
 service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java    |   32 ++++++++--
 3 files changed, 119 insertions(+), 14 deletions(-)

diff --git a/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java b/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
index 039aa7a..b0022f0 100644
--- a/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
+++ b/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
@@ -78,9 +78,9 @@
             
             result.put("status", "0000");
             result.put("message", "搴旀敹璐﹀崟娣诲姞鎴愬姛");
-            result.put("billNo", billManagement.getSystemNo());
+            result.put("sourceSystemId", billManagement.getId().toString());
             
-            logger.info("搴旀敹璐﹀崟娣诲姞鎴愬姛锛岃处鍗曠紪鍙凤細{}", billManagement.getSystemNo());
+            logger.info("搴旀敹璐﹀崟娣诲姞鎴愬姛锛屾潵婧愯处鍗昳d锛歿}", billManagement.getId());
             
         } catch (Exception e) {
             logger.error("搴旀敹璐﹀崟娣诲姞澶辫触锛�", e);
@@ -334,9 +334,9 @@
             
             result.put("status", "0000");
             result.put("message", "搴斾粯璐﹀崟娣诲姞鎴愬姛");
-            result.put("billNo", billManagement.getSystemNo());
+            result.put("sourceSystemId", billManagement.getId().toString());
             
-            logger.info("搴斾粯璐﹀崟娣诲姞鎴愬姛锛岃处鍗曠紪鍙凤細{}", billManagement.getSystemNo());
+            logger.info("搴斾粯璐﹀崟娣诲姞鎴愬姛锛屾潵婧愯处鍗昳d锛歿}", billManagement.getId());
             
         } catch (Exception e) {
             logger.error("搴斾粯璐﹀崟娣诲姞澶辫触锛�", e);
@@ -556,6 +556,86 @@
     }
 
     /**
+     * 搴旀敹璐﹀崟浣滃簾鎺ュ彛
+     * 鍏朵粬绯荤粺璋冪敤姝ゆ帴鍙d綔搴熷簲鏀惰处鍗�
+     * @param request 璇锋眰鏁版嵁
+     * @return 鎿嶄綔缁撴灉
+     */
+    @PostMapping("/cancelBill")
+    public Map<String, String> cancelReceivableBill(@RequestBody Map<String, Integer> request) {
+        logger.info("鎺ユ敹搴旀敹璐﹀崟浣滃簾璇锋眰锛歿}", request);
+
+        Map<String, String> result = new HashMap<>();
+        
+        try {
+            Integer sourceSystemId = request.get("sourceSystemId");
+            if (sourceSystemId == null) {
+                throw new IllegalArgumentException("sourceSystemId涓嶈兘涓虹┖");
+            }
+            
+            // 璋冪敤浣滃簾鏂规硶
+            int rows = receivableBillManagementService. voidReceivableBillManagement(sourceSystemId);
+            
+            if (rows > 0) {
+                result.put("status", "0000");
+                result.put("message", "搴旀敹璐﹀崟浣滃簾鎴愬姛");
+                logger.info("搴旀敹璐﹀崟浣滃簾鎴愬姛锛宻ourceSystemId锛歿}", sourceSystemId);
+            } else {
+                result.put("status", "9999");
+                result.put("message", "搴旀敹璐﹀崟浣滃簾澶辫触锛屾湭鎵惧埌瀵瑰簲璁板綍");
+                logger.warn("搴旀敹璐﹀崟浣滃簾澶辫触锛屾湭鎵惧埌瀵瑰簲璁板綍锛宻ourceSystemId锛歿}", sourceSystemId);
+            }
+            
+        } catch (Exception e) {
+            logger.error("搴旀敹璐﹀崟浣滃簾澶辫触锛�", e);
+            result.put("status", "9999");
+            result.put("message", "搴旀敹璐﹀崟浣滃簾澶辫触锛�" + e.getMessage());
+        }
+        
+        return result;
+    }
+
+    /**
+     * 搴斾粯璐﹀崟浣滃簾鎺ュ彛
+     * 鍏朵粬绯荤粺璋冪敤姝ゆ帴鍙d綔搴熷簲浠樿处鍗�
+     * @param request 璇锋眰鏁版嵁
+     * @return 鎿嶄綔缁撴灉
+     */
+    @PostMapping("/cancelPayableBill")
+    public Map<String, String> cancelPayableBill(@RequestBody Map<String, Integer> request) {
+        logger.info("鎺ユ敹搴斾粯璐﹀崟浣滃簾璇锋眰锛歿}", request);
+
+        Map<String, String> result = new HashMap<>();
+        
+        try {
+            Integer sourceSystemId = request.get("sourceSystemId");
+            if (sourceSystemId == null) {
+                throw new IllegalArgumentException("sourceSystemId涓嶈兘涓虹┖");
+            }
+            
+            // 璋冪敤浣滃簾鏂规硶
+            int rows = payableBillManagementService.voidPayableBillManagement(sourceSystemId);
+            
+            if (rows > 0) {
+                result.put("status", "0000");
+                result.put("message", "搴斾粯璐﹀崟浣滃簾鎴愬姛");
+                logger.info("搴斾粯璐﹀崟浣滃簾鎴愬姛锛宻ourceSystemId锛歿}", sourceSystemId);
+            } else {
+                result.put("status", "9999");
+                result.put("message", "搴斾粯璐﹀崟浣滃簾澶辫触锛屾湭鎵惧埌瀵瑰簲璁板綍");
+                logger.warn("搴斾粯璐﹀崟浣滃簾澶辫触锛屾湭鎵惧埌瀵瑰簲璁板綍锛宻ourceSystemId锛歿}", sourceSystemId);
+            }
+            
+        } catch (Exception e) {
+            logger.error("搴斾粯璐﹀崟浣滃簾澶辫触锛�", e);
+            result.put("status", "9999");
+            result.put("message", "搴斾粯璐﹀崟浣滃簾澶辫触锛�" + e.getMessage());
+        }
+        
+        return result;
+    }
+
+    /**
      * 鍋ュ悍妫�鏌ユ帴鍙�
      * @return 鍋ュ悍鐘舵��
      */
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java
index 2986d3b..5722038 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java
@@ -145,7 +145,11 @@
         if (result > 0) {
             PayableBillManagementLog log = new PayableBillManagementLog();
             log.setBillId(payableBillManagement.getId());
-            log.setCreateBy(SecurityUtils.getUsername());
+            try {
+                log.setCreateBy(SecurityUtils.getUsername());
+            } catch (Exception e) {
+                log.setCreateBy("api");
+            }
             log.setCreateTime(DateUtils.getNowDate());
             log.setOperation("淇敼搴斾粯璐﹀崟锛岃处鍗曠紪鍙凤細" + payableBillManagement.getSystemNo());
             logService.insertPayableBillManagementLog(log);
@@ -226,14 +230,30 @@
         bill.setStatus("2");
         bill.setUpdateTime(DateUtils.getNowDate());
         
-        int result = updatePayableBillManagement(bill);
+        // 鏇存柊搴斾粯璐﹀崟璁板綍
+        int result = payableBillManagementMapper.updatePayableBillManagement(bill);
         
+        // 濡傛灉鏇存柊鎴愬姛锛屾竻闄ゅ叧鑱斿簲浠樿垂鐢ㄧ殑璐﹀崟缂栧彿骞舵洿鏂扮姸鎬�
         if (result > 0) {
-            // 浣滃簾搴斾粯璐﹀崟鍚庯紝闇�瑕佸皢鍏宠仈鐨勫簲浠樿垂鐢ㄨ褰曟仮澶嶄负寰呯敓鎴愯处鍗曠姸鎬�
-            String relatedBillNo = bill.getSystemNo();
-            if (relatedBillNo != null && !relatedBillNo.isEmpty()) {
-                payableFeeManagementMapper.updatePayableFeeManagementByRelatedBillNo(relatedBillNo);
+            // 鑾峰彇璐﹀崟绯荤粺缂栧彿
+            String billSystemNo = bill.getSystemNo();
+            if (billSystemNo != null && !billSystemNo.trim().isEmpty()) {
+                // 鏌ヨ鍏宠仈璇ヨ处鍗曠殑搴斾粯璐圭敤璁板綍
+                payableFeeManagementMapper.updatePayableFeeManagementByRelatedBillNo(billSystemNo);
             }
+            
+            // 璁板綍浣滃簾鎿嶄綔鏃ュ織
+            PayableBillManagementLog log = new PayableBillManagementLog();
+            log.setBillId(id);
+            try {
+                log.setCreateBy(SecurityUtils.getUsername());
+            } catch (Exception e) {
+                // 杩滅▼璋冪敤鏃舵病鏈夌櫥褰曚俊鎭紝浣跨敤api浣滀负鍒涘缓浜�
+                log.setCreateBy("api");
+            }
+            log.setCreateTime(DateUtils.getNowDate());
+            log.setOperation("浣滃簾搴斾粯璐﹀崟锛岃处鍗曠紪鍙凤細" + bill.getSystemNo());
+            logService.insertPayableBillManagementLog(log);
         }
         
         return result;
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 1e6a475..6174b61 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
@@ -309,9 +309,9 @@
             String billSystemNo = billManagement.getSystemNo();
             if (billSystemNo != null && !billSystemNo.trim().isEmpty()) {
                 // 鏌ヨ鍏宠仈璇ヨ处鍗曠殑搴旀敹璐圭敤璁板綍
-                ReceivableFeeManagement queryFee = new ReceivableFeeManagement();
-                queryFee.setRelatedBillNo(billSystemNo);
-                List<ReceivableFeeManagement> feeList = receivableFeeManagementMapper.selectReceivableFeeManagementList(queryFee);
+//                ReceivableFeeManagement queryFee = new ReceivableFeeManagement();
+//                queryFee.setRelatedBillNo(billSystemNo);
+//                List<ReceivableFeeManagement> feeList = receivableFeeManagementMapper.selectReceivableFeeManagementList(queryFee);
                 
                 // 娓呴櫎鍏宠仈璐﹀崟缂栧彿骞跺皢鐘舵�佹敼涓�0锛堝緟鐢熸垚璐﹀崟锛�
                 receivableFeeManagementMapper.updateReceivableFeeManagementByRelatedBillNo(billSystemNo);
@@ -320,7 +320,12 @@
             // 璁板綍浣滃簾鎿嶄綔鏃ュ織
             ReceivableBillManagementLog log = new ReceivableBillManagementLog();
             log.setBillId(id);
-            log.setCreateBy(SecurityUtils.getUsername());
+            try {
+                log.setCreateBy(SecurityUtils.getUsername());
+            } catch (Exception e) {
+                // 杩滅▼璋冪敤鏃舵病鏈夌櫥褰曚俊鎭紝浣跨敤api浣滀负鍒涘缓浜�
+                log.setCreateBy("api");
+            }
             log.setCreateTime(DateUtils.getNowDate());
             log.setOperation("浣滃簾搴旀敹璐﹀崟锛岃处鍗曠紪鍙凤細" + billManagement.getSystemNo());
             receivableBillManagementLogMapper.insertReceivableBillManagementLog(log);

--
Gitblit v1.8.0