From d1314d8e2842d96085299a53b9938e677b53617f Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 04 二月 2026 15:11:28 +0800
Subject: [PATCH] refactor(stock): 重构库存相关枚举类以区分出入库类型

---
 src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java |   49 ++++++++++++++-----------------------------------
 1 files changed, 14 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java b/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
index ee7f721..49548e1 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
@@ -1,27 +1,18 @@
 package com.ruoyi.sales.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.math.LongMath;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
-import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
-import com.ruoyi.procurementrecord.service.ProcurementRecordOutService;
-import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.sales.mapper.ShipmentApprovalMapper;
-import com.ruoyi.sales.mapper.ShippingInfoMapper;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.pojo.ShipmentApproval;
-import com.ruoyi.sales.pojo.ShippingInfo;
 import com.ruoyi.sales.service.ISalesLedgerProductService;
 import com.ruoyi.sales.service.ShipmentApprovalService;
-import com.ruoyi.sales.service.ShippingInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,9 +20,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.List;
 
 @RestController
@@ -47,9 +35,7 @@
     @Autowired
     private ISalesLedgerProductService salesLedgerProductService;
     @Autowired
-    private ProcurementRecordOutService procurementRecordOutService;
-    @Autowired
-    private ProcurementRecordService procurementRecordStorageService;
+    private StockUtils stockUtils;
 
     @GetMapping("/listPage")
     @ApiOperation("鍙戣揣瀹℃壒鍒楄〃")
@@ -89,26 +75,19 @@
 
         //  瀹℃壒閫氳繃
         if (req.getApproveStatus() == 3) {
-            // 鏌ヨ閲囪喘鍏ュ簱璁板綍
-            LambdaQueryWrapper<ProcurementRecordStorage> lambdaQueryWrapper = new LambdaQueryWrapper<ProcurementRecordStorage>()
-                    .eq(ProcurementRecordStorage::getSalesLedgerProductId, req.getSalesLedgerProductId());
-            ProcurementRecordStorage procurementRecordStorage = procurementRecordStorageService.getOne(lambdaQueryWrapper);
+//            // 鏌ヨ閲囪喘鍏ュ簱璁板綍
+//            LambdaQueryWrapper<ProcurementRecordStorage> lambdaQueryWrapper = new LambdaQueryWrapper<ProcurementRecordStorage>()
+//                    .eq(ProcurementRecordStorage::getSalesLedgerProductId, req.getSalesLedgerProductId());
+//            ProcurementRecordStorage procurementRecordStorage = procurementRecordStorageService.getOne(lambdaQueryWrapper);
+//
+//            if (procurementRecordStorage == null) {
+//                // 淇濊瘉鍓嶉潰鐨勪慨鏀瑰叏閮ㄥ洖婊�
+//                throw new ServiceException("閲囪喘璁板綍涓嶅瓨鍦紝瀹℃壒鍥炴粴");
+//            }
 
-            if (procurementRecordStorage == null) {
-                // 淇濊瘉鍓嶉潰鐨勪慨鏀瑰叏閮ㄥ洖婊�
-                throw new ServiceException("閲囪喘璁板綍涓嶅瓨鍦紝瀹℃壒鍥炴粴");
-            }
 
-            //  鐢熸垚鍑哄簱璁板綍
-            ProcurementRecordOutAdd procurementRecordOutAdd = new ProcurementRecordOutAdd();
-            procurementRecordOutAdd.setId(procurementRecordStorage.getId());
-            procurementRecordOutAdd.setSalesLedgerProductId((long) Math.toIntExact(salesLedgerProduct.getId()));
-            procurementRecordOutAdd.setType(2);
-            procurementRecordOutAdd.setUserId(Math.toIntExact(getUserId()));
-            procurementRecordOutAdd.setQuantity(salesLedgerProduct.getQuantity().toPlainString());
-            procurementRecordOutAdd.setTime(LocalDate.now().toString());
-
-            procurementRecordOutService.stockout(procurementRecordOutAdd);
+            //鍑哄簱
+            stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode(), req.getId());
         }
 
         return AjaxResult.success();

--
Gitblit v1.9.3