From 76c84d95506998f546e6f3ebbf70414c0dd9da9d Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 15 五月 2026 17:15:15 +0800
Subject: [PATCH] refactor(stock): 优化库存记录服务中的仓库信息处理逻辑

---
 src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java |   55 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
index 5ed894f..822d6c8 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -15,20 +15,20 @@
 import com.ruoyi.stock.dto.StockUninventoryDto;
 import com.ruoyi.stock.execl.StockUnInventoryExportData;
 import com.ruoyi.stock.mapper.StockUninventoryMapper;
-import com.ruoyi.stock.pojo.StockInventory;
 import com.ruoyi.stock.pojo.StockUninventory;
 import com.ruoyi.stock.service.StockInRecordService;
 import com.ruoyi.stock.service.StockOutRecordService;
 import com.ruoyi.stock.service.StockUninventoryService;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import jakarta.servlet.http.HttpServletResponse;
-
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
 
 /**
  * <p>
@@ -39,14 +39,13 @@
  * @since 2026-01-22 10:17:45
  */
 @Service
+@RequiredArgsConstructor
 public class StockUninventoryServiceImpl extends ServiceImpl<StockUninventoryMapper, StockUninventory> implements StockUninventoryService {
 
-    @Autowired
-    private StockUninventoryMapper stockUninventoryMapper;
-    @Autowired
-    private StockOutRecordService stockOutRecordService;
-    @Autowired
-    private StockInRecordService stockInRecordService;
+
+    private final StockUninventoryMapper stockUninventoryMapper;
+    private final StockOutRecordService stockOutRecordService;
+    private final StockInRecordService stockInRecordService;
 
     @Override
     public IPage<StockUninventoryDto> pageStockUninventory(Page page, StockUninventoryDto stockUninventoryDto) {
@@ -64,6 +63,11 @@
         } else {
             wrapper.eq(StockUninventory::getBatchNo, stockUninventoryDto.getBatchNo());
         }
+        if (ObjectUtils.isEmpty(stockUninventoryDto.getBatchNo())) {
+            String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmm"));
+            int suffix = ThreadLocalRandom.current().nextInt(100, 1000);
+            stockUninventoryDto.setBatchNo("PY" + time + suffix);
+        }
         //鏂板鍏ュ簱璁板綍鍐嶆坊鍔犲簱瀛�
         StockInRecordDto stockInRecordDto = new StockInRecordDto();
         stockInRecordDto.setRecordId(stockUninventoryDto.getRecordId());
@@ -71,23 +75,25 @@
         stockInRecordDto.setStockInNum(stockUninventoryDto.getQualitity());
         stockInRecordDto.setBatchNo(stockUninventoryDto.getBatchNo());
         stockInRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
+        stockInRecordDto.setWarehouseInfoId(stockUninventoryDto.getWarehouseInfoId());
         stockInRecordDto.setType("1");
         stockInRecordService.add(stockInRecordDto);
         //鍐嶈繘琛屾柊澧炲簱瀛樻暟閲忓簱瀛�
         //鍏堟煡璇㈠簱瀛樿〃涓殑浜у搧鏄惁瀛樺湪锛屼笉瀛樺湪鏂板锛屽瓨鍦ㄦ洿鏂�
-        StockUninventory oldStockUnInventory = stockUninventoryMapper.selectOne(wrapper);
-        if (ObjectUtils.isEmpty(oldStockUnInventory)) {
-            StockUninventory newStockUnInventory = new StockUninventory();
-            newStockUnInventory.setProductModelId(stockUninventoryDto.getProductModelId());
-            newStockUnInventory.setQualitity(stockUninventoryDto.getQualitity());
-            newStockUnInventory.setLockedQuantity(stockUninventoryDto.getLockedQuantity());
-            newStockUnInventory.setBatchNo(stockUninventoryDto.getBatchNo());
-            newStockUnInventory.setVersion(1);
-            newStockUnInventory.setRemark(stockUninventoryDto.getRemark());
-            stockUninventoryMapper.insert(newStockUnInventory);
-        }else {
-            stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
-        }
+//        StockUninventory oldStockUnInventory = stockUninventoryMapper.selectOne(wrapper);
+//        if (ObjectUtils.isEmpty(oldStockUnInventory)) {
+//            StockUninventory newStockUnInventory = new StockUninventory();
+//            newStockUnInventory.setProductModelId(stockUninventoryDto.getProductModelId());
+//            newStockUnInventory.setQualitity(stockUninventoryDto.getQualitity());
+//            newStockUnInventory.setLockedQuantity(stockUninventoryDto.getLockedQuantity());
+//            newStockUnInventory.setBatchNo(stockUninventoryDto.getBatchNo());
+//            newStockUnInventory.setWarehouseInfoId(stockUninventoryDto.getWarehouseInfoId());
+//            newStockUnInventory.setVersion(1);
+//            newStockUnInventory.setRemark(stockUninventoryDto.getRemark());
+//            stockUninventoryMapper.insert(newStockUnInventory);
+//        }else {
+//            stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto);
+//        }
         return 1;
     }
 
@@ -162,6 +168,7 @@
         stockOutRecordDto.setRecordId(stockUninventoryDto.getRecordId());
         stockOutRecordDto.setRecordType(stockUninventoryDto.getRecordType());
         stockOutRecordDto.setStockOutNum(stockUninventoryDto.getQualitity());
+        stockOutRecordDto.setWarehouseInfoId(stockUninventoryDto.getWarehouseInfoId());
         stockOutRecordDto.setBatchNo(stockUninventoryDto.getBatchNo());
         stockOutRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
         stockOutRecordDto.setType("1");

--
Gitblit v1.9.3