From 7ec9b6c159fcb52b35910bca508ad730ab645267 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 21 四月 2026 17:19:51 +0800
Subject: [PATCH] feat(sales): 新增售后台账功能并优化发货流程

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   56 +++++++++++++++++++++++---------------------------------
 1 files changed, 23 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index fd21bb8..30a7690 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -192,7 +192,7 @@
             // 鏌ヨ閫�璐т俊鎭�
             List<Long> productIds = salesLedgerProducts.stream().map(SalesLedgerProduct::getId).collect(Collectors.toList());
             List<SimpleReturnOrderGroupDto> groupListByProductIds = new ArrayList<>();
-            if(CollectionUtils.isNotEmpty(productIds)){
+            if (CollectionUtils.isNotEmpty(productIds)) {
                 groupListByProductIds = purchaseReturnOrderProductsMapper.getReturnOrderGroupListByProductIds(productIds);
             }
             Map<Long, BigDecimal> returnOrderGroupDtoMap = groupListByProductIds.stream().collect(Collectors.toMap(SimpleReturnOrderGroupDto::getSalesLedgerProductId, SimpleReturnOrderGroupDto::getSumReturnQuantity));
@@ -498,40 +498,30 @@
     }
 
     @Override
-    public IPage<SalesLedgerDto> listSalesLedger(SalesLedgerDto salesLedgerDto, Page page) {
-        IPage<SalesLedgerDto> salesLedgerDtoIPage = salesLedgerMapper.listSalesLedgerAndShipped(page, salesLedgerDto);
-        for (SalesLedgerDto salesLedger : salesLedgerDtoIPage.getRecords()) {
-            LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
-            productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedger.getId());
-            productWrapper.eq(SalesLedgerProduct::getType, 1);
-            List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
-            for (SalesLedgerProduct product : products) {
-                product.setOriginalNoInvoiceNum(product.getNoInvoiceNum());
-                // 鎻愪緵涓存椂鏈紑绁ㄦ暟锛屾湭寮�绁ㄩ噾棰濅緵鍓嶆璁$畻
-                product.setTempnoInvoiceAmount(product.getNoInvoiceAmount());
-                product.setTempNoInvoiceNum(product.getNoInvoiceNum());
-                product.setRegister(SecurityUtils.getLoginUser().getUser().getNickName());
-                product.setRegisterDate(LocalDateTime.now());
-                // 鍙戣揣淇℃伅
-                ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
-                        .eq(ShippingInfo::getSalesLedgerProductId, product.getId())
-                        .orderByDesc(ShippingInfo::getCreateTime)
-                        .last("limit 1"));
-                product.setShippingCarNumber(shippingInfo.getShippingCarNumber());
-                product.setShippingDate(shippingInfo.getShippingDate());
-                if (shippingInfo != null) {
-                    product.setShippingStatus(shippingInfo.getStatus());
-                }
+    public IPage<AfterSalesLedgerDto> listSalesLedger(AfterSalesLedgerDto salesLedgerDto, Page page) {
+        IPage<AfterSalesLedgerDto> salesLedgerDtoIPage = salesLedgerMapper.listSalesLedgerAndShipped(page, salesLedgerDto);
+        for (AfterSalesLedgerDto salesLedger : salesLedgerDtoIPage.getRecords()) {
+            SalesLedgerProduct product = salesLedgerProductMapper.selectById(salesLedger.getSalesLedgerProductId());
+            product.setOriginalNoInvoiceNum(product.getNoInvoiceNum());
+            // 鎻愪緵涓存椂鏈紑绁ㄦ暟锛屾湭寮�绁ㄩ噾棰濅緵鍓嶆璁$畻
+            product.setTempnoInvoiceAmount(product.getNoInvoiceAmount());
+            product.setTempNoInvoiceNum(product.getNoInvoiceNum());
+            product.setRegister(SecurityUtils.getLoginUser().getUser().getNickName());
+            product.setRegisterDate(LocalDateTime.now());
+            // 鍙戣揣淇℃伅
+            ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
+                    .eq(ShippingInfo::getSalesLedgerProductId, product.getId())
+                    .orderByDesc(ShippingInfo::getCreateTime)
+                    .last("limit 1"));
+            product.setShippingCarNumber(shippingInfo.getShippingCarNumber());
+            product.setShippingDate(shippingInfo.getShippingDate());
+            if (shippingInfo != null) {
+                product.setShippingStatus(shippingInfo.getStatus());
             }
-            // 杩囨护鍙繚鐣欏彂璐ц褰�
-            products = products.stream().filter(product -> "宸插彂璐�".equals(product.getShippingStatus())).collect(Collectors.toList());
-            if (!products.isEmpty()) {
-                salesLedger.setHasChildren(true);
-                salesLedger.setProductData(products);
-            }
+            List<SalesLedgerProduct> afterSalesLedgerDtos = new ArrayList<>();
+            afterSalesLedgerDtos.add(product);
+            salesLedger.setProductData(afterSalesLedgerDtos);
         }
-
-
         return salesLedgerDtoIPage;
     }
 

--
Gitblit v1.9.3