From 3ffbb4756bbddcf101d367fdde3dfc7f7ced6bb6 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期五, 20 三月 2026 11:26:18 +0800
Subject: [PATCH] 新增字段

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/VoucherSubjectFeeServiceImpl.java |   96 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 94 insertions(+), 2 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/VoucherSubjectFeeServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/VoucherSubjectFeeServiceImpl.java
index 2295ee1..f2ca341 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/VoucherSubjectFeeServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/VoucherSubjectFeeServiceImpl.java
@@ -17,8 +17,12 @@
 
 import com.ruoyi.cwgl.mapper.VoucherSubjectFeeMapper;
 import com.ruoyi.cwgl.domain.VoucherSubjectFee;
+import com.ruoyi.cwgl.domain.VoucherSubjectFeeLog;
 import com.ruoyi.cwgl.service.IVoucherSubjectFeeService;
+import com.ruoyi.cwgl.service.IVoucherSubjectFeeLogService;
 import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 
 /**
  * 绉戠洰璐圭敤瀵圭収璁剧疆Service涓氬姟灞傚鐞�
@@ -33,6 +37,9 @@
     protected final Logger logger = LoggerFactory.getLogger(getClass());
     @Resource
     private VoucherSubjectFeeMapper voucherSubjectFeeMapper;
+    
+    @Resource
+    private IVoucherSubjectFeeLogService voucherSubjectFeeLogService;
 
 
     /**
@@ -103,7 +110,18 @@
     public int insertVoucherSubjectFee(VoucherSubjectFee voucherSubjectFee)
     {
         voucherSubjectFee.setCreateTime(DateUtils.getNowDate());
-        return voucherSubjectFeeMapper.insertVoucherSubjectFee(voucherSubjectFee);
+        int result = voucherSubjectFeeMapper.insertVoucherSubjectFee(voucherSubjectFee);
+        
+        // 璁板綍鏂板鏃ュ織
+        if (result > 0) {
+            VoucherSubjectFeeLog log = new VoucherSubjectFeeLog();
+            log.setSubjectId(voucherSubjectFee.getId());
+            log.setCreateBy(SecurityUtils.getUsername());
+            log.setOperation("鏂板璐圭敤瀵圭収锛氥��" + voucherSubjectFee.getFeeName() + "銆�");
+            voucherSubjectFeeLogService.insertVoucherSubjectFeeLog(log);
+        }
+        
+        return result;
     }
 
     /**
@@ -128,8 +146,82 @@
     @Override
     public int updateVoucherSubjectFee(VoucherSubjectFee voucherSubjectFee)
     {
+        // 鑾峰彇鍘熷鏁版嵁鐢ㄤ簬姣旇緝
+        VoucherSubjectFee original = voucherSubjectFeeMapper.selectVoucherSubjectFeeById(voucherSubjectFee.getId());
+        
         voucherSubjectFee.setUpdateTime(DateUtils.getNowDate());
-        return voucherSubjectFeeMapper.updateVoucherSubjectFee(voucherSubjectFee);
+        int result = voucherSubjectFeeMapper.updateVoucherSubjectFee(voucherSubjectFee);
+        
+        // 璁板綍淇敼鏃ュ織
+        if (result > 0 && original != null) {
+            String changeLog = generateFeeChangeLog(original, voucherSubjectFee);
+            if (!changeLog.isEmpty()) {
+                VoucherSubjectFeeLog log = new VoucherSubjectFeeLog();
+                log.setSubjectId(voucherSubjectFee.getId());
+                log.setCreateBy(SecurityUtils.getUsername());
+                log.setOperation("淇敼璐圭敤瀵圭収锛氥��" + original.getFeeName() + "銆�" + changeLog);
+                voucherSubjectFeeLogService.insertVoucherSubjectFeeLog(log);
+            }
+        }
+        
+        return result;
+    }
+    
+    /**
+     * 鐢熸垚璐圭敤瀵圭収瀛楁鍙樻洿鏃ュ織
+     * @param original 鍘熷鏁版嵁
+     * @param updated 鏇存柊鍚庢暟鎹�
+     * @return 鍙樻洿鏃ュ織瀛楃涓�
+     */
+    private String generateFeeChangeLog(VoucherSubjectFee original, VoucherSubjectFee updated) {
+        StringBuilder changeLog = new StringBuilder();
+        
+        // 姣旇緝绉戠洰浠g爜
+        if (!StringUtils.equals(original.getSubjectCode(), updated.getSubjectCode())) {
+            changeLog.append("绉戠洰浠g爜銆�").append(original.getSubjectCode()).append("銆戜慨鏀逛负銆�").append(updated.getSubjectCode()).append("銆戯紱");
+        }
+        
+        // 姣旇緝绉戠洰鍚嶇О
+        if (!StringUtils.equals(original.getSubjectName(), updated.getSubjectName())) {
+            changeLog.append("绉戠洰鍚嶇О銆�").append(original.getSubjectName()).append("銆戜慨鏀逛负銆�").append(updated.getSubjectName()).append("銆戯紱");
+        }
+        
+        // 姣旇緝绉戠洰绫诲埆
+        if (!StringUtils.equals(original.getSubjectType(), updated.getSubjectType())) {
+            changeLog.append("绉戠洰绫诲埆銆�").append(original.getSubjectType()).append("銆戜慨鏀逛负銆�").append(updated.getSubjectType()).append("銆戯紱");
+        }
+        
+        // 姣旇緝璐圭敤绫诲埆
+        if (!StringUtils.equals(original.getFeeType(), updated.getFeeType())) {
+            changeLog.append("璐圭敤绫诲埆銆�").append(original.getFeeType()).append("銆戜慨鏀逛负銆�").append(updated.getFeeType()).append("銆戯紱");
+        }
+        
+        // 姣旇緝璐圭敤鍚嶇О
+        if (!StringUtils.equals(original.getFeeName(), updated.getFeeName())) {
+            changeLog.append("璐圭敤鍚嶇О銆�").append(original.getFeeName()).append("銆戜慨鏀逛负銆�").append(updated.getFeeName()).append("銆戯紱");
+        }
+        
+        // 姣旇緝甯愬绫诲瀷
+        if (!StringUtils.equals(original.getType(), updated.getType())) {
+            changeLog.append("甯愬绫诲瀷銆�").append(original.getType()).append("銆戜慨鏀逛负銆�").append(updated.getType()).append("銆戯紱");
+        }
+        
+        // 姣旇緝鐗╂枡绫诲埆
+        if (!StringUtils.equals(original.getMaterialType(), updated.getMaterialType())) {
+            changeLog.append("鐗╂枡绫诲埆銆�").append(original.getMaterialType()).append("銆戜慨鏀逛负銆�").append(updated.getMaterialType()).append("銆戯紱");
+        }
+        
+        // 姣旇緝鐘舵��
+        if (!StringUtils.equals(original.getStatus(), updated.getStatus())) {
+            changeLog.append("鐘舵�併��").append(original.getStatus()).append("銆戜慨鏀逛负銆�").append(updated.getStatus()).append("銆戯紱");
+        }
+        
+        // 姣旇緝澶囨敞
+        if (!StringUtils.equals(original.getRemark(), updated.getRemark())) {
+            changeLog.append("澶囨敞銆�").append(original.getRemark()).append("銆戜慨鏀逛负銆�").append(updated.getRemark()).append("銆戯紱");
+        }
+        
+        return changeLog.toString();
     }
 
     /**

--
Gitblit v1.8.0