From 849648e82e5dec96f9f30fcc9c9bd799268b1f4c Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 09 四月 2026 10:40:44 +0800
Subject: [PATCH] 新增资金流水导入

---
 service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java |   71 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java b/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
index a8f80f6..69a406a 100644
--- a/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
+++ b/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
@@ -1,6 +1,9 @@
 package com.ruoyi.cwgl.controller;
 
+import java.util.Date;
 import java.util.List;
+
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -21,10 +24,12 @@
 import java.util.Objects;
 import com.ruoyi.cwgl.domain.InvoiceManage;
 import com.ruoyi.cwgl.domain.PayableBillManagement;
+import com.ruoyi.cwgl.domain.PayableBillManagementLog;
 import com.ruoyi.cwgl.domain.PayableInvoiceBusiness;
 import com.ruoyi.cwgl.domain.dto.BillAuditDto;
 import com.ruoyi.cwgl.domain.dto.PayableAuditLog;
 import com.ruoyi.cwgl.service.IInvoiceManageService;
+import com.ruoyi.cwgl.service.IPayableBillManagementLogService;
 import com.ruoyi.cwgl.service.IPayableBillManagementService;
 import com.ruoyi.cwgl.service.IPayableInvoiceBusinessService;
 import com.ruoyi.cwgl.service.ITmsAuditLogPushService;
@@ -52,6 +57,9 @@
 
     @Autowired
     private ITmsAuditLogPushService tmsAuditLogPushService;
+
+    @Autowired
+    private IPayableBillManagementLogService payableBillManagementLogService;
 
 
 
@@ -210,7 +218,7 @@
             // 6. 濡傛灉鏉ユ簮绯荤粺鏄疶MS锛屾帹閫佸鏍告棩蹇楀埌TMS
             if (tmsAuditLogPushService.isPayableBillFromTms(bill.getSystemNo())) {
                 try {
-                    PayableAuditLog auditLog = createPayableAuditLog(billAuditDto, bill, beforeAuditStatus);
+                    PayableAuditLog auditLog = createPayableAuditLog(billAuditDto, bill);
                     tmsAuditLogPushService.pushPayableAuditLog(auditLog);
                 } catch (Exception e) {
                     logger.error("鎺ㄩ�佸簲浠樿处鍗曞鏍告棩蹇楀埌TMS澶辫触锛岃处鍗旾D锛歿}", bill.getId(), e);
@@ -229,13 +237,30 @@
      * 淇濆瓨搴斾粯璐﹀崟瀹℃牳鏃ュ織
      */
     private void savePayableAuditLog(BillAuditDto billAuditDto, PayableBillManagement bill, Integer beforeAuditStatus) {
-        // 杩欓噷闇�瑕佸疄鐜版棩蹇楄褰曢�昏緫
-        // 鍙互浣跨敤鍘熸湁鐨勬棩蹇楁湇鍔℃垨绯荤粺鏃ュ織
-        logger.info("搴斾粯璐﹀崟瀹℃牳鏃ュ織 - 璐﹀崟ID锛歿}锛岃处鍗曠紪鍙凤細{}锛屽鏍稿墠鐘舵�侊細{}锛屽鏍哥粨鏋滐細{}锛屽鏍告剰瑙侊細{}",
-            bill.getId(), bill.getSystemNo(), 
-            getAuditStatusText(beforeAuditStatus),
-            getAuditResultText(billAuditDto.getAuditResult()),
-            billAuditDto.getAuditComment() != null ? billAuditDto.getAuditComment() : "鏃�");
+        try {
+            PayableBillManagementLog log = new PayableBillManagementLog();
+            log.setBillId(bill.getId());
+            log.setSourceSystemId(bill.getSourceSystemId()); // 璁剧疆鏉ユ簮绯荤粺ID
+            log.setCreateBy(getUsername());
+            log.setCreateTime(new Date());
+            
+            // 鏋勫缓鎿嶄綔璇存槑
+            String operation = String.format("搴斾粯璐﹀崟瀹℃牳 - 璐﹀崟缂栧彿锛�%s锛屽鏍稿墠鐘舵�侊細%s锛屽鏍哥粨鏋滐細%s锛屽鏍告剰瑙侊細%s",
+                bill.getSystemNo(),
+                getAuditStatusText(beforeAuditStatus),
+                getAuditResultText(billAuditDto.getAuditResult()),
+                billAuditDto.getAuditComment() != null ? billAuditDto.getAuditComment() : "鏃�");
+            log.setOperation(operation);
+            
+            // 淇濆瓨鍒版暟鎹簱
+            payableBillManagementLogService.insertPayableBillManagementLog(log);
+            
+            logger.info("搴斾粯璐﹀崟瀹℃牳鏃ュ織淇濆瓨鎴愬姛 - 璐﹀崟ID锛歿}锛屾潵婧愮郴缁烮D锛歿}", bill.getId(), bill.getSourceSystemId());
+            
+        } catch (Exception e) {
+            logger.error("淇濆瓨搴斾粯璐﹀崟瀹℃牳鏃ュ織澶辫触锛岃处鍗旾D锛歿}", bill.getId(), e);
+            // 鏃ュ織淇濆瓨澶辫触涓嶅奖鍝嶄富娴佺▼锛屽彧璁板綍閿欒鏃ュ織
+        }
     }
 
     /**
@@ -264,19 +289,25 @@
     /**
      * 鍒涘缓搴斾粯璐﹀崟瀹℃牳鏃ュ織瀵硅薄
      */
-    private PayableAuditLog createPayableAuditLog(BillAuditDto billAuditDto, PayableBillManagement bill, Integer beforeAuditStatus) {
+    private PayableAuditLog createPayableAuditLog(BillAuditDto billAuditDto, PayableBillManagement bill) {
         PayableAuditLog auditLog = new PayableAuditLog();
-        auditLog.setBillId(bill.getId());
-        auditLog.setBillNo(bill.getSystemNo());
-        auditLog.setBillName(bill.getBillName());
-        auditLog.setSupplierName(bill.getSupplierName());
-        auditLog.setSourceSystem(tmsAuditLogPushService.getPayableBillSourceSystem(bill.getSystemNo()));
-        auditLog.setBeforeAuditStatus(beforeAuditStatus);
-        auditLog.setAuditResult(billAuditDto.getAuditResult());
-        auditLog.setAuditComment(billAuditDto.getAuditComment());
-        auditLog.setAuditUser(getUsername());
-        auditLog.setAuditTime(new java.util.Date());
-        auditLog.setTotalAmount(bill.getTotalAmount());
+        auditLog.setHeadId(bill.getSourceSystemId());
+        auditLog.setCreateBy(getUsername());
+        auditLog.setCreateTime(new Date());
+
+        String opertion = "";
+        if (billAuditDto.getAuditResult() != null&& billAuditDto.getAuditResult().equals(1)) {
+            opertion = "瀹℃牳閫氳繃";
+            if (StringUtils.isNotEmpty(billAuditDto.getAuditComment())){
+                opertion +=  ",瀹℃牳鎰忚 :" + billAuditDto.getAuditComment();
+            }
+        }else {
+            opertion = "瀹℃牳椹冲洖";
+            if (StringUtils.isNotEmpty(billAuditDto.getAuditComment())){
+                opertion += ",瀹℃牳鎰忚:" + billAuditDto.getAuditComment();
+            }
+        }        auditLog.setOperation(opertion);
+
         return auditLog;
     }
 }

--
Gitblit v1.8.0