From ce3b0a6cf31d2accfb657748b97585e64994724b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 24 六月 2026 13:41:52 +0800
Subject: [PATCH] 销售台账详细信息中加上退货数量字段

---
 src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java |   76 +++++++++-----------------------------
 1 files changed, 18 insertions(+), 58 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index 9485919..9efcc89 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -1,29 +1,19 @@
 package com.ruoyi.sales.controller;
 
 import cn.hutool.core.collection.CollUtil;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.procurementrecord.service.ProcurementRecordService;
-import com.ruoyi.procurementrecord.utils.StockUtils;
-import com.ruoyi.purchase.dto.SimpleReturnOrderGroupDto;
-import com.ruoyi.purchase.mapper.PurchaseReturnOrderProductsMapper;
-import com.ruoyi.sales.dto.SalesLedgerProductDto;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.ISalesLedgerProductService;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.math.BigDecimal;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * 浜у搧淇℃伅Controller
@@ -37,29 +27,6 @@
 public class SalesLedgerProductController extends BaseController
 {
     private final ISalesLedgerProductService salesLedgerProductService;
-    private final ProcurementRecordService procurementRecordService;
-    private final StockUtils stockUtils;
-    private final PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
-
-
-    /**
-     * 鍥炴鐧昏鍒嗛〉鏌ヨ
-     */
-    @GetMapping("/listPageSalesLedger")
-    public AjaxResult listPage(Page page, SalesLedgerProductDto salesLedgerProduct) {
-        IPage<SalesLedgerProductDto> list = salesLedgerProductService.listPage(page,salesLedgerProduct);
-        return AjaxResult.success(list);
-    }
-
-
-    /**
-     * 浠樻鐧昏鍒嗛〉鏌ヨ
-     */
-    @GetMapping("/listPagePurchaseLedger")
-    public AjaxResult listPagePurchaseLedger(Page page, SalesLedgerProductDto salesLedgerProduct) {
-        IPage<SalesLedgerProductDto> list = salesLedgerProductService.listPagePurchaseLedger(page,salesLedgerProduct);
-        return AjaxResult.success(list);
-    }
 
 
     /**
@@ -68,32 +35,25 @@
     @GetMapping("/list")
     public AjaxResult list(SalesLedgerProduct salesLedgerProduct) {
         List<SalesLedgerProduct> list = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
-        if (CollUtil.isEmpty(list)) {
-            return AjaxResult.success(list);
-        }
-        List<Long> productIds = list.stream().map(SalesLedgerProduct::getProductModelId).collect(Collectors.toList());
-        List<SimpleReturnOrderGroupDto> groupListByProductIds = purchaseReturnOrderProductsMapper.getReturnOrderGroupListByProductIds(productIds);
-        Map<Long, BigDecimal> returnOrderGroupDtoMap = groupListByProductIds.stream().collect(Collectors.toMap(SimpleReturnOrderGroupDto::getProductModelId, item -> item.getSumReturnQuantity()));
-
-        list.forEach(item -> {
-            if (item.getFutureTickets().compareTo(BigDecimal.ZERO) == 0) {
-                item.setFutureTickets(BigDecimal.ZERO);
-            }
-            if (item.getFutureTicketsAmount().compareTo(BigDecimal.ZERO) == 0) {
-                item.setFutureTicketsAmount(BigDecimal.ZERO);
-            }
-            if (item.getApproveStatus() != 2) {
-                if (item.getHasSufficientStock() == 0) {
-                    item.setApproveStatus(0);
-                } else {
-                    item.setApproveStatus(1);
+        if (CollUtil.isNotEmpty(list)) {
+            list.forEach(item -> {
+                if (item.getApproveStatus() != 2) {
+                    if (item.getHasSufficientStock() == 0) {
+                        item.setApproveStatus(0);
+                    } else {
+                        item.setApproveStatus(1);
+                    }
                 }
-            }
-            // 缁熻閫�璐ф暟閲�
-            BigDecimal returnQuality = returnOrderGroupDtoMap.getOrDefault(item.getProductModelId(), BigDecimal.ZERO);
-            item.setReturnQuality(returnQuality);
-            item.setAvailableQuality(item.getQuantity().subtract(returnQuality));
-        });
+                java.math.BigDecimal returnQuantity = item.getReturnQuantity() == null
+                        ? java.math.BigDecimal.ZERO
+                        : item.getReturnQuantity();
+                java.math.BigDecimal quantity = item.getQuantity() == null
+                        ? java.math.BigDecimal.ZERO
+                        : item.getQuantity();
+                item.setReturnQuantity(returnQuantity);
+                item.setAvailableQuality(quantity.subtract(returnQuantity));
+            });
+        }
         return AjaxResult.success(list);
     }
 

--
Gitblit v1.9.3