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

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java |   84 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 82 insertions(+), 2 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java
index 87f0157..15a08ad 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java
@@ -21,7 +21,9 @@
 
 import com.ruoyi.cwgl.mapper.InvoiceManageMapper;
 import com.ruoyi.cwgl.domain.InvoiceManage;
+import com.ruoyi.cwgl.domain.InvoiceManageLog;
 import com.ruoyi.cwgl.service.IInvoiceManageService;
+import com.ruoyi.cwgl.service.IInvoiceManageLogService;
 import com.ruoyi.common.core.text.Convert;
 
 /**
@@ -37,6 +39,9 @@
     protected final Logger logger = LoggerFactory.getLogger(getClass());
     @Resource
     private InvoiceManageMapper invoiceManageMapper;
+    
+    @Resource
+    private IInvoiceManageLogService invoiceManageLogService;
 
 
     /**
@@ -110,6 +115,12 @@
         invoiceManage.setCreateTime(DateUtils.getNowDate());
         int rows = invoiceManageMapper.insertInvoiceManage(invoiceManage);
         insertInvoiceDetail(invoiceManage);
+        
+        // 璁板綍鏂板鍙戠エ绠$悊鏃ュ織
+        if (rows > 0) {
+            recordInvoiceManageLog(invoiceManage, "鏂板鍙戠エ绠$悊");
+        }
+        
         return rows;
     }
 
@@ -123,6 +134,14 @@
     public int insertInvoiceManageBatch(List<InvoiceManage> invoiceManages)
     {
         int rows = invoiceManageMapper.insertInvoiceManageBatch(invoiceManages);
+        
+        // 璁板綍鎵归噺鏂板鍙戠エ绠$悊鏃ュ織
+        if (rows > 0 && invoiceManages != null && !invoiceManages.isEmpty()) {
+            for (InvoiceManage invoiceManage : invoiceManages) {
+                recordInvoiceManageLog(invoiceManage, "鎵归噺鏂板鍙戠エ绠$悊");
+            }
+        }
+        
         return rows;
     }
 
@@ -139,7 +158,14 @@
         invoiceManage.setUpdateTime(DateUtils.getNowDate());
 //        invoiceManageMapper.deleteInvoiceDetailByInvoiceManageId(invoiceManage.getId());
 //        insertInvoiceDetail(invoiceManage);
-        return invoiceManageMapper.updateInvoiceManage(invoiceManage);
+        int rows = invoiceManageMapper.updateInvoiceManage(invoiceManage);
+        
+        // 璁板綍淇敼鍙戠エ绠$悊鏃ュ織
+        if (rows > 0) {
+            recordInvoiceManageLog(invoiceManage, "淇敼鍙戠エ绠$悊");
+        }
+        
+        return rows;
     }
 
     /**
@@ -150,7 +176,16 @@
      */
     @Override
     public int updateInvoiceManageBatch(List<InvoiceManage> invoiceManages){
-        return invoiceManageMapper.updateInvoiceManageBatch(invoiceManages);
+        int rows = invoiceManageMapper.updateInvoiceManageBatch(invoiceManages);
+        
+        // 璁板綍鎵归噺淇敼鍙戠エ绠$悊鏃ュ織
+        if (rows > 0 && invoiceManages != null && !invoiceManages.isEmpty()) {
+            for (InvoiceManage invoiceManage : invoiceManages) {
+                recordInvoiceManageLog(invoiceManage, "鎵归噺淇敼鍙戠エ绠$悊");
+            }
+        }
+        
+        return rows;
     }
 
     /**
@@ -218,4 +253,49 @@
             }
         }
     }
+
+    /**
+     * 璁板綍鍙戠エ绠$悊鎿嶄綔鏃ュ織
+     *
+     * @param invoiceManage 鍙戠エ绠$悊瀵硅薄
+     * @param operationType 鎿嶄綔绫诲瀷
+     */
+    private void recordInvoiceManageLog(InvoiceManage invoiceManage, String operationType)
+    {
+        try {
+            InvoiceManageLog log = new InvoiceManageLog();
+            log.setInvoiceManageId(invoiceManage.getId());
+            log.setOperator(invoiceManage.getCreateBy());
+            log.setOperationTime(DateUtils.getNowDate());
+            
+            // 鏋勫缓鎿嶄綔鎻忚堪锛屽寘鍚紑绁ㄩ噾棰濄�佸叧鑱旇处鍗曠紪鍙峰拰瀵瑰簲寮�绁ㄩ噾棰�
+            StringBuilder descBuilder = new StringBuilder();
+            descBuilder.append(operationType).append(": ");
+            
+            if (invoiceManage.getInvoiceAmount() != null) {
+                descBuilder.append("寮�绁ㄩ噾棰�=").append(invoiceManage.getInvoiceAmount()).append("; ");
+            }
+            
+            // 鑾峰彇鍏宠仈璐﹀崟淇℃伅
+            if (invoiceManage.getInvoiceDetailList() != null && !invoiceManage.getInvoiceDetailList().isEmpty()) {
+                descBuilder.append("鍏宠仈璐﹀崟淇℃伅: ");
+                for (InvoiceDetail detail : invoiceManage.getInvoiceDetailList()) {
+                    if (detail.getReceivableBillNo() != null) {
+                        descBuilder.append("璐﹀崟缂栧彿=").append(detail.getReceivableBillNo());
+                    }
+                    if (detail.getCurrentBilledAmount() != null) {
+                        descBuilder.append(", 鏈寮�绁ㄩ噾棰�=").append(detail.getCurrentBilledAmount());
+                    }
+                    descBuilder.append("; ");
+                }
+            }
+            
+            log.setOperationDesc(descBuilder.toString());
+            log.setCreateTime(DateUtils.getNowDate());
+            
+            invoiceManageLogService.insertInvoiceManageLog(log);
+        } catch (Exception e) {
+            logger.error("璁板綍鍙戠エ绠$悊鎿嶄綔鏃ュ織澶辫触: {}", e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0