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/service/impl/SalesLedgerProductServiceImpl.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index b34d193..76c74ac 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -1,25 +1,28 @@
 package com.ruoyi.sales.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
+import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
 import com.ruoyi.sales.mapper.SalesLedgerMapper;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
 import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.ISalesLedgerProductService;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -39,6 +42,9 @@
 
     private PurchaseLedgerMapper purchaseLedgerMapper;
 
+    @Autowired
+    private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+
     @Override
     public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
         return salesLedgerProductMapper.selectById(id);
@@ -49,7 +55,29 @@
         LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId())
                 .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType());
-        return salesLedgerProductMapper.selectList(queryWrapper);
+        List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(queryWrapper);
+        if(!CollectionUtils.isEmpty(salesLedgerProducts)){
+            InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto();
+            invoiceRegistrationProductDto.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId().intValue());
+            List<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoList = invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto);
+            // 缁熻寮�绁ㄧ櫥璁颁骇鍝佺殑宸插紑绁ㄦ暟/宸插紑绁ㄩ噾棰�
+            if(!CollectionUtils.isEmpty(invoiceRegistrationProductDtoList)){
+                for (SalesLedgerProduct ledgerProduct : salesLedgerProducts) {
+                    int invoiceNum = 0;
+                    BigDecimal invoiceAmount = BigDecimal.ZERO;
+                    for (InvoiceRegistrationProductDto registrationProductDto : invoiceRegistrationProductDtoList) {
+                        if(ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()){
+                            invoiceNum += registrationProductDto.getInvoiceNum();
+                            invoiceAmount = invoiceAmount.add(registrationProductDto.getInvoiceAmount());
+                        }
+                    }
+                    ledgerProduct.setInvoiceNum(invoiceNum);
+                    ledgerProduct.setInvoiceAmount(invoiceAmount);
+                }
+            }
+
+        }
+        return salesLedgerProducts;
     }
 
     @Override

--
Gitblit v1.9.3