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 | 86 +++++++++---------------------------------
1 files changed, 19 insertions(+), 67 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index dac35b7..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
@@ -36,30 +26,7 @@
@RequestMapping("/sales/product")
public class SalesLedgerProductController extends BaseController
{
- private ISalesLedgerProductService salesLedgerProductService;
- private ProcurementRecordService procurementRecordService;
- private StockUtils stockUtils;
- private 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);
- }
+ private final ISalesLedgerProductService salesLedgerProductService;
/**
@@ -68,40 +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::getId).collect(Collectors.toList());
- List<SimpleReturnOrderGroupDto> groupListByProductIds = purchaseReturnOrderProductsMapper.getReturnOrderGroupListByProductIds(productIds);
- Map<Long, BigDecimal> returnOrderGroupDtoMap = groupListByProductIds.stream().collect(Collectors.toMap(SimpleReturnOrderGroupDto::getSalesLedgerProductId, 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);
- }
-// ProcurementPageDto procurementDto = new ProcurementPageDto();
-// procurementDto.setSalesLedgerProductId(item.getId());
-// procurementDto.setProductCategory(item.getProductCategory());
-// IPage<ProcurementPageDtoCopy> result = procurementRecordService.listPageCopyByProduction(new Page<>(1,-1), procurementDto);
-// BigDecimal stockQuantity = stockUtils.getStockQuantity(item.getProductModelId()).get("stockQuantity");
-
-// ProcurementPageDtoCopy procurementDtoCopy = result.getRecords().get(0);
- 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.getId(), 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