From 350267802d21cab53d5ec2c39e404d5649be3524 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 06 一月 2026 10:27:47 +0800
Subject: [PATCH] 修改发票功能

---
 service/src/main/java/com/ruoyi/cwgl/controller/InvoiceManageController.java    |   67 +++-------------------
 service/src/main/java/com/ruoyi/cwgl/service/IInvoiceManageService.java         |    9 +++
 service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java |   55 +++++++++++++++++
 3 files changed, 71 insertions(+), 60 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/InvoiceManageController.java b/service/src/main/java/com/ruoyi/cwgl/controller/InvoiceManageController.java
index 09019d8..a103dfc 100644
--- a/service/src/main/java/com/ruoyi/cwgl/controller/InvoiceManageController.java
+++ b/service/src/main/java/com/ruoyi/cwgl/controller/InvoiceManageController.java
@@ -1,6 +1,8 @@
 package com.ruoyi.cwgl.controller;
 
 import java.util.List;
+
+import com.ruoyi.common.core.domain.R;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -98,23 +100,15 @@
      */
     @PreAuthorize("@ss.hasPermi('cwgl:invoiceManage:apply')")
     @Log(title = "鍙戠エ绠$悊", businessType = BusinessType.UPDATE)
-    @PostMapping("/apply")
-    public AjaxResult applyInvoice(@RequestBody InvoiceManage invoiceManage)
+    @PostMapping("/apply/{id}")
+    public AjaxResult applyInvoice(@PathVariable("id") Integer id)
     {
-        try {
-            // 璋冪敤鏈嶅姟灞傛柟娉曞鐞嗙敵璇峰紑绁ㄩ�昏緫
-            int result = invoiceManageService.updateInvoiceManage(invoiceManage);
+
+
+       return invoiceManageService.applyInvoice(id);
             
-            if (result > 0) {
-                // 璁板綍鐢宠寮�绁ㄦ棩蹇�
-                recordApplyInvoiceLog(invoiceManage);
-                return AjaxResult.success("鐢宠寮�绁ㄦ垚鍔�");
-            } else {
-                return AjaxResult.error("鐢宠寮�绁ㄥけ璐�");
-            }
-        } catch (Exception e) {
-            return AjaxResult.error("鐢宠寮�绁ㄥ紓甯革細" + e.getMessage());
-        }
+
+
     }
 
     /**
@@ -139,47 +133,4 @@
         return toAjax(invoiceManageService.deleteInvoiceManageByIds(ids));
     }
 
-    /**
-     * 璁板綍鐢宠寮�绁ㄦ棩蹇�
-     *
-     * @param invoiceManage 鍙戠エ绠$悊瀵硅薄
-     */
-    private void recordApplyInvoiceLog(InvoiceManage invoiceManage)
-    {
-        try {
-            InvoiceManageLog log = new InvoiceManageLog();
-            log.setInvoiceManageId(invoiceManage.getId());
-            log.setOperator(getUsername());
-            log.setOperationTime(new java.util.Date());
-            
-            // 鏋勫缓鎿嶄綔鎻忚堪锛屽寘鍚紑绁ㄩ噾棰濄�佸叧鑱旇处鍗曠紪鍙峰拰瀵瑰簲寮�绁ㄩ噾棰�
-            StringBuilder descBuilder = new StringBuilder();
-            descBuilder.append("鐢宠寮�绁�: ");
-            
-            if (invoiceManage.getInvoiceAmount() != null) {
-                descBuilder.append("寮�绁ㄩ噾棰�=").append(invoiceManage.getInvoiceAmount()).append("; ");
-            }
-            
-            // 鑾峰彇鍏宠仈璐﹀崟淇℃伅
-            if (invoiceManage.getInvoiceDetailList() != null && !invoiceManage.getInvoiceDetailList().isEmpty()) {
-                descBuilder.append("鍏宠仈璐﹀崟淇℃伅: ");
-                for (com.ruoyi.cwgl.domain.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(new java.util.Date());
-            
-            invoiceManageLogService.insertInvoiceManageLog(log);
-        } catch (Exception e) {
-            logger.error("璁板綍鐢宠寮�绁ㄦ棩蹇楀け璐�: {}", e.getMessage());
-        }
-    }
 }
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/IInvoiceManageService.java b/service/src/main/java/com/ruoyi/cwgl/service/IInvoiceManageService.java
index 4dcbc05..92c523e 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/IInvoiceManageService.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/IInvoiceManageService.java
@@ -1,6 +1,8 @@
 package com.ruoyi.cwgl.service;
 
 import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.cwgl.domain.InvoiceManage;
 import com.baomidou.mybatisplus.extension.service.IService;
 /**
@@ -106,4 +108,11 @@
      * @param invoiceManage 鍙戠エ绠$悊瀵硅薄
      */
     public void insertInvoiceDetail(InvoiceManage invoiceManage);
+
+    /**
+     * 鐢宠寮�绁�
+     * @param id
+     * @return
+     */
+    AjaxResult applyInvoice(Integer id);
 }
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 8bf8f39..675ba4e 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
@@ -4,6 +4,7 @@
 import java.util.Date;
 import java.util.List;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
 
@@ -157,8 +158,8 @@
     public int updateInvoiceManage(InvoiceManage invoiceManage)
     {
         invoiceManage.setUpdateTime(DateUtils.getNowDate());
-//        invoiceManageMapper.deleteInvoiceDetailByInvoiceManageId(invoiceManage.getId());
-//        insertInvoiceDetail(invoiceManage);
+        invoiceManageMapper.deleteInvoiceDetailByInvoiceManageId(invoiceManage.getId());
+        insertInvoiceDetail(invoiceManage);
         int rows = invoiceManageMapper.updateInvoiceManage(invoiceManage);
         
         // 璁板綍淇敼鍙戠エ绠$悊鏃ュ織
@@ -300,4 +301,54 @@
             logger.error("璁板綍鍙戠エ绠$悊鎿嶄綔鏃ュ織澶辫触: {}", e.getMessage());
         }
     }
+
+    @Override
+    public AjaxResult applyInvoice(Integer id) {
+
+        return AjaxResult.success("鐢宠寮�绁ㄦ垚鍔�");
+    }
+
+    /**
+     * 璁板綍鐢宠寮�绁ㄦ棩蹇�
+     *
+     * @param invoiceManage 鍙戠エ绠$悊瀵硅薄
+     */
+    private void recordApplyInvoiceLog(InvoiceManage invoiceManage)
+    {
+        try {
+            InvoiceManageLog log = new InvoiceManageLog();
+            log.setInvoiceManageId(invoiceManage.getId());
+            log.setOperator(SecurityUtils.getUsername());
+            log.setOperationTime(new java.util.Date());
+
+            // 鏋勫缓鎿嶄綔鎻忚堪锛屽寘鍚紑绁ㄩ噾棰濄�佸叧鑱旇处鍗曠紪鍙峰拰瀵瑰簲寮�绁ㄩ噾棰�
+            StringBuilder descBuilder = new StringBuilder();
+            descBuilder.append("鐢宠寮�绁�: ");
+
+            if (invoiceManage.getInvoiceAmount() != null) {
+                descBuilder.append("寮�绁ㄩ噾棰�=").append(invoiceManage.getInvoiceAmount()).append("; ");
+            }
+
+            // 鑾峰彇鍏宠仈璐﹀崟淇℃伅
+            if (invoiceManage.getInvoiceDetailList() != null && !invoiceManage.getInvoiceDetailList().isEmpty()) {
+                descBuilder.append("鍏宠仈璐﹀崟淇℃伅: ");
+                for (com.ruoyi.cwgl.domain.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(new java.util.Date());
+
+            invoiceManageLogService.insertInvoiceManageLog(log);
+        } catch (Exception e) {
+            logger.error("璁板綍鐢宠寮�绁ㄦ棩蹇楀け璐�: {}", e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0