From 0050395dfb05425f0a929bc1587b971d78f1e95e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 26 五月 2025 17:47:28 +0800
Subject: [PATCH] 首页数据排序

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

diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index d21a2dd..c7b7ccf 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -6,16 +6,21 @@
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.mapper.InvoiceLedgerMapper;
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.service.ICommonFileService;
 import com.ruoyi.sales.service.ISalesLedgerService;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 閿�鍞彴璐ontroller
@@ -32,6 +37,9 @@
 
     private ICommonFileService commonFileService;
 
+    @Autowired
+    private InvoiceLedgerMapper invoiceLedgerMapper;
+
     /**
      * 鏌ヨ閿�鍞彴璐﹀垪琛�
      */
@@ -39,6 +47,23 @@
     public TableDataInfo list(SalesLedgerDto salesLedgerDto) {
         startPage();
         List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto);
+        // 璁$畻宸插紑绁ㄩ噾棰�/鏈紑绁ㄩ噾棰�(宸插~鍐欏彂绁ㄩ噾棰濅负鍑�)
+        if(CollectionUtils.isEmpty(list)){
+            return getDataTable(list);
+        }
+        List<Long> salesLedgerIds = list.stream().map(SalesLedger::getId).collect(Collectors.toList());
+        List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds);
+        if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){
+            return getDataTable(list);
+        }
+        for (SalesLedger salesLedger : list) {
+            for (InvoiceLedgerDto invoiceLedgerDto : invoiceLedgerDtoList) {
+                if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) {
+                    BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal());
+                    salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal);
+                }
+            }
+        }
         return getDataTable(list);
     }
 
@@ -112,8 +137,8 @@
     @GetMapping("/getContractAmount")
     public AjaxResult getContractAmount() {
         try {
-            BigDecimal amount = salesLedgerService.getContractAmount();
-            return AjaxResult.success(amount != null ? amount : BigDecimal.ZERO);
+            BigDecimal contractAmount = salesLedgerService.getContractAmount();
+            return AjaxResult.success(contractAmount != null ? contractAmount : BigDecimal.ZERO);
         } catch (Exception e) {
             return AjaxResult.error("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage());
         }
@@ -126,4 +151,12 @@
     public AjaxResult getTopFiveList() {
         return AjaxResult.success(salesLedgerService.getTopFiveList());
     }
+
+    /**
+     * 杩戝崐骞村紑绁�,鍥炴閲戦
+     */
+    @GetMapping("/getAmountHalfYear")
+    public AjaxResult getAmountHalfYear() {
+        return AjaxResult.success(salesLedgerService.getAmountHalfYear());
+    }
 }

--
Gitblit v1.9.3