From 3ca3c9dba442c5fbf02b3f8bf6b649d077207983 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 16 四月 2026 09:28:12 +0800
Subject: [PATCH] 新增调用外部接口api

---
 api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java |  100 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 90 insertions(+), 10 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 340b0d7..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
@@ -2,12 +2,8 @@
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.cwgl.domain.PayableBillManagement;
-import com.ruoyi.cwgl.domain.PayableFeeDetail;
-import com.ruoyi.cwgl.domain.PayableFeeManagement;
-import com.ruoyi.cwgl.domain.ReceivableBillManagement;
-import com.ruoyi.cwgl.domain.ReceivableFeeDetail;
-import com.ruoyi.cwgl.domain.ReceivableFeeManagement;
+import com.ruoyi.cwgl.domain.*;
+import com.ruoyi.cwgl.domain.dto.BillAuditDto;
 import com.ruoyi.cwgl.domain.dto.PayableBillApiDto;
 import com.ruoyi.cwgl.domain.dto.ReceivableBillApiDto;
 import com.ruoyi.cwgl.service.IPayableBillManagementService;
@@ -82,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);
@@ -185,6 +181,8 @@
         billManagement.setSettlementCategory(billDto.getSettlementCategory());
         billManagement.setSettlementPeriod(billDto.getSettlementPeriod());
         billManagement.setStatus(billDto.getStatus() != null ? billDto.getStatus() : "draft");
+        billManagement.setAuditStatus(billDto.getAuditStatus() != null ? billDto.getAuditStatus() : 0);
+        billManagement.setSourceSystemId(billDto.getSourceSystemId());
         billManagement.setRemark(billDto.getRemark());
         billManagement.setCreateTime(DateUtils.getNowDate());
         billManagement.setCreateBy("api_system");
@@ -336,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);
@@ -430,6 +428,8 @@
         
         // 璁剧疆鍏朵粬淇℃伅
         billManagement.setStatus(billDto.getStatus() != null ? billDto.getStatus() : "draft");
+        billManagement.setAuditStatus(billDto.getAuditStatus() != null ? billDto.getAuditStatus() : 0);
+        billManagement.setSourceSystemId(billDto.getSourceSystemId());
         billManagement.setRemark(billDto.getRemark());
         billManagement.setCreateTime(DateUtils.getNowDate());
         billManagement.setCreateBy("api_system");
@@ -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 鍋ュ悍鐘舵��
      */

--
Gitblit v1.8.0