From 2b382a92207dfabf0eb30e743265df5c7c50e7bc Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 07 五月 2026 14:27:45 +0800
Subject: [PATCH] feat(approve): 新增办公用品审批功能

---
 src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index 05d2505..ceb3702 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -19,6 +21,7 @@
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.service.ICommonFileService;
 import com.ruoyi.sales.service.ISalesLedgerService;
+import com.ruoyi.sales.vo.SalesLedgerVo;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.annotations.ApiParam;
@@ -28,6 +31,7 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import com.ruoyi.basic.utils.FileUtil;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -55,6 +59,7 @@
     private ICommonFileService commonFileService;
     private InvoiceLedgerMapper invoiceLedgerMapper;
     private ReceiptPaymentMapper receiptPaymentMapper;
+    private final FileUtil fileUtil;
 
     /**
      * 瀵煎叆閿�鍞彴璐�
@@ -149,13 +154,13 @@
     @PostMapping("/export")
     public void export(HttpServletResponse response, SalesLedgerDto salesLedgerDto) {
         Page page = new Page(-1,-1);
-        IPage<SalesLedger> salesLedgerIPage = listPage(page, salesLedgerDto);
-        ExcelUtil<SalesLedger> util = new ExcelUtil<SalesLedger>(SalesLedger.class);
+        IPage<SalesLedgerVo> salesLedgerIPage = listPage(page, salesLedgerDto);
+        ExcelUtil<SalesLedgerVo> util = new ExcelUtil<SalesLedgerVo>(SalesLedgerVo.class);
         if(salesLedgerIPage == null){
             util.exportExcel(response, new ArrayList<>(), "閿�鍞彴璐︽暟鎹�");
             return;
         }
-        List<SalesLedger> list = salesLedgerIPage.getRecords();
+        List<SalesLedgerVo> list = salesLedgerIPage.getRecords();
         util.exportExcel(response, list, "閿�鍞彴璐︽暟鎹�");
     }
 
@@ -168,8 +173,8 @@
         Page page = new Page();
         page.setCurrent(-1);
         page.setSize(-1);
-        IPage<SalesLedger> salesLedgerIPage = listPage(page, salesLedgerDto);
-        ExcelUtil<SalesLedger> util = new ExcelUtil<SalesLedger>(SalesLedger.class);
+        IPage<SalesLedgerVo> salesLedgerIPage = listPage(page, salesLedgerDto);
+        ExcelUtil<SalesLedgerVo> util = new ExcelUtil<SalesLedgerVo>(SalesLedgerVo.class);
         util.exportExcel(response, salesLedgerIPage == null ? new ArrayList<>() : salesLedgerIPage.getRecords(), "瀵煎嚭寮�绁ㄧ櫥璁板垪琛�");
     }
 
@@ -251,8 +256,8 @@
      * 鏌ヨ閿�鍞彴璐﹀垪琛�
      */
     @GetMapping("/listPage")
-    public IPage<SalesLedger> listPage(Page page, SalesLedgerDto salesLedgerDto) {
-        IPage<SalesLedger> iPage = salesLedgerService.selectSalesLedgerListPage(page, salesLedgerDto);
+    public IPage<SalesLedgerVo> listPage(Page page, SalesLedgerDto salesLedgerDto) {
+        IPage<SalesLedgerVo> iPage = salesLedgerService.selectSalesLedgerListPage(page, salesLedgerDto);
 
         //  鏌ヨ缁撴灉涓虹┖,鐩存帴杩斿洖
         if (CollectionUtils.isEmpty(iPage.getRecords())) {
@@ -295,10 +300,10 @@
             }
         }
 
-        for (SalesLedger salesLedger : iPage.getRecords()) {
-            Long ledgerId = salesLedger.getId();
+        for (SalesLedgerVo salesLedgerVo : iPage.getRecords()) {
+            Long ledgerId = salesLedgerVo.getId();
             // 鍚堝悓鎬婚噾棰�
-            BigDecimal contractAmount = salesLedger.getContractAmount() == null ? BigDecimal.ZERO : salesLedger.getContractAmount();
+            BigDecimal contractAmount = salesLedgerVo.getContractAmount() == null ? BigDecimal.ZERO : salesLedgerVo.getContractAmount();
             // 寮�绁ㄦ�婚鍜屽洖娆炬�婚
             BigDecimal invoiceTotal = invoiceTotals.getOrDefault(ledgerId, BigDecimal.ZERO);
             BigDecimal receiptPaymentAmountTotal = receiptTotals.getOrDefault(ledgerId, BigDecimal.ZERO);
@@ -315,15 +320,17 @@
                 noReceiptPaymentAmountTotal = BigDecimal.ZERO;
             }
 
-            salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal);
-            salesLedger.setInvoiceTotal(invoiceTotal);
-            salesLedger.setReceiptPaymentAmountTotal(receiptPaymentAmountTotal);
-            salesLedger.setNoReceiptAmount(noReceiptPaymentAmountTotal);
+            salesLedgerVo.setNoInvoiceAmountTotal(noInvoiceAmountTotal);
+            salesLedgerVo.setInvoiceTotal(invoiceTotal);
+            salesLedgerVo.setReceiptPaymentAmountTotal(receiptPaymentAmountTotal);
+            salesLedgerVo.setNoReceiptAmount(noReceiptPaymentAmountTotal);
 
             //  濡傛灉宸茬粡鏈夎繃寮�绁ㄦ垨鍥炴鎿嶄綔,鍒欎笉鍏佽缂栬緫
             boolean hasInvoiceOperation = invoiceTotal.compareTo(BigDecimal.ZERO) > 0;
             boolean hasReceiptOperation = receiptPaymentAmountTotal.compareTo(BigDecimal.ZERO) > 0;
-            salesLedger.setIsEdit(!(hasInvoiceOperation || hasReceiptOperation));
+            salesLedgerVo.setIsEdit(!(hasInvoiceOperation || hasReceiptOperation));
+
+            salesLedgerVo.setStorageBlobVOs(fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.FILE, RecordTypeEnum.SALES_LEDGER, ledgerId));
         }
 
         if (ObjectUtils.isNotEmpty(salesLedgerDto.getStatus())) {

--
Gitblit v1.9.3