From 0d7d874912d0147376826b55667a1deb6547ed91 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 21 五月 2026 15:25:27 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' into dev_宁夏_英泽防锈

---
 src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java |   97 +++++++++++++++++++++++++-----------------------
 1 files changed, 50 insertions(+), 47 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index cbef46f..dfca752 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -4,11 +4,12 @@
 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;
 import com.ruoyi.framework.web.controller.BaseController;
-import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.sales.dto.InvoiceLedgerDto;
@@ -19,17 +20,18 @@
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.service.ICommonFileService;
 import com.ruoyi.sales.service.ISalesLedgerService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+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;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import com.ruoyi.basic.utils.FileUtil;
 
-import javax.servlet.http.HttpServletResponse;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
@@ -48,33 +50,29 @@
 @RestController
 @RequestMapping("/sales/ledger")
 @AllArgsConstructor
-@Api(tags = "閿�鍞彴璐�")
+@Tag(name = "閿�鍞彴璐�")
 @Slf4j
 public class SalesLedgerController extends BaseController {
 
     private ISalesLedgerService salesLedgerService;
-
     private ICommonFileService commonFileService;
-
-    @Autowired
     private InvoiceLedgerMapper invoiceLedgerMapper;
-
-    @Autowired
     private ReceiptPaymentMapper receiptPaymentMapper;
+    private final FileUtil fileUtil;
 
     /**
      * 瀵煎叆閿�鍞彴璐�
      */
     @Log(title = "瀵煎叆閿�鍞彴璐�", businessType = BusinessType.INSERT)
     @PostMapping("/import")
-    @ApiOperation("瀵煎叆閿�鍞彴璐�")
-    public AjaxResult importData(@RequestParam("file")
+    @Operation(summary = "瀵煎叆閿�鍞彴璐�")
+    public R<?> importData(@RequestParam("file")
                                  @ApiParam(value = "Excel鏂囦欢", required = true)
                                  MultipartFile file) {
         return salesLedgerService.importData(file);
     }
 
-    @ApiOperation("瀵煎嚭閿�鍞彴璐︽ā鏉�")
+    @Operation(summary = "瀵煎嚭閿�鍞彴璐︽ā鏉�")
     @PostMapping("/exportTemplate")
     public void exportTemplate(HttpServletResponse response) {
         // 1. 妯℃澘鏂囦欢鍦╮esources/static涓嬬殑璺緞
@@ -155,13 +153,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, "閿�鍞彴璐︽暟鎹�");
     }
 
@@ -174,8 +172,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(), "瀵煎嚭寮�绁ㄧ櫥璁板垪琛�");
     }
 
@@ -184,8 +182,9 @@
      */
     @Log(title = "閿�鍞彴璐�", businessType = BusinessType.INSERT)
     @PostMapping("/addOrUpdateSalesLedger")
-    public AjaxResult add(@RequestBody SalesLedgerDto salesLedgerDto) {
-        return toAjax(salesLedgerService.addOrUpdateSalesLedger(salesLedgerDto));
+    public R<?> add(@RequestBody SalesLedgerDto salesLedgerDto) {
+        salesLedgerService.addOrUpdateSalesLedger(salesLedgerDto);
+        return R.ok();
     }
 
     /**
@@ -193,11 +192,12 @@
      */
     @Log(title = "閿�鍞彴璐�", businessType = BusinessType.DELETE)
     @DeleteMapping("/delLedger")
-    public AjaxResult remove(@RequestBody Long[] ids) {
+    public R<?> remove(@RequestBody Long[] ids) {
         if (ids == null || ids.length == 0) {
-            return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+            return R.fail("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         }
-        return toAjax(salesLedgerService.deleteSalesLedgerByIds(ids));
+        salesLedgerService.deleteSalesLedgerByIds(ids);
+        return R.ok();
     }
 
     /**
@@ -207,9 +207,9 @@
      * @return
      */
     @GetMapping("/listNoPage")
-    public AjaxResult listNoPage(SalesLedgerDto salesLedgerDto) {
+    public R<?> listNoPage(SalesLedgerDto salesLedgerDto) {
         List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto);
-        return AjaxResult.success(list);
+        return R.ok(list);
     }
 
     /**
@@ -217,23 +217,24 @@
      */
     @Log(title = "閿�鍞彴璐﹂檮浠跺垹闄�", businessType = BusinessType.DELETE)
     @DeleteMapping("/delLedgerFile")
-    public AjaxResult delLedgerFile(@RequestBody Long[] ids) {
+    public R<?> delLedgerFile(@RequestBody Long[] ids) {
         if (ids == null || ids.length == 0) {
-            return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+            return R.fail("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
         }
-        return toAjax(commonFileService.deleteSalesLedgerByIds(ids));
+        commonFileService.deleteSalesLedgerByIds(ids);
+        return R.ok();
     }
 
     /**
      * 鏈湀閿�鍞悎鍚岄噾棰�
      */
     @GetMapping("/getContractAmount")
-    public AjaxResult getContractAmount() {
+    public R<?> getContractAmount() {
         try {
             BigDecimal contractAmount = salesLedgerService.getContractAmount();
-            return AjaxResult.success(contractAmount != null ? contractAmount : BigDecimal.ZERO);
+            return R.ok(contractAmount != null ? contractAmount : BigDecimal.ZERO);
         } catch (Exception e) {
-            return AjaxResult.error("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage());
+            return R.fail("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage());
         }
     }
 
@@ -241,24 +242,24 @@
      * 瀹㈡埛鍚堝悓閲戦TOP5缁熻
      */
     @GetMapping("/getTopFiveList")
-    public AjaxResult getTopFiveList() {
-        return AjaxResult.success(salesLedgerService.getTopFiveList());
+    public R<?> getTopFiveList() {
+        return R.ok(salesLedgerService.getTopFiveList());
     }
 
     /**
      * 杩戝崐骞村紑绁�,鍥炴閲戦
      */
     @GetMapping("/getAmountHalfYear")
-    public AjaxResult getAmountHalfYear(@RequestParam(value = "type",defaultValue = "1") Integer type) {
-        return AjaxResult.success(salesLedgerService.getAmountHalfYear(type));
+    public R<?> getAmountHalfYear(@RequestParam(value = "type",defaultValue = "1") Integer type) {
+        return R.ok(salesLedgerService.getAmountHalfYear(type));
     }
 
     /**
      * 鏌ヨ閿�鍞彴璐﹀垪琛�
      */
     @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())) {
@@ -301,10 +302,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);
@@ -321,15 +322,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())) {
@@ -344,7 +347,7 @@
         return iPage;
     }
 
-    @ApiOperation("鏌ヨ閿�鍞彴璐︽秷鑰楃墿鏂欎俊鎭�")
+    @Operation(summary = "鏌ヨ閿�鍞彴璐︽秷鑰楃墿鏂欎俊鎭�")
     @GetMapping("/getSalesLedgerWithProductsLoss")
     public R getSalesLedgerWithProductsLoss(Long salesLedgerId) {
         return R.ok(salesLedgerService.getSalesLedgerWithProductsLoss(salesLedgerId));

--
Gitblit v1.9.3