From ee359b8abc3708e9ed4796cede561685a54aafba Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 27 一月 2026 15:50:56 +0800
Subject: [PATCH] refactor(stock): 库存代码迁移

---
 src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java |   84 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index 0d61f87..3ced2d4 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -1,11 +1,19 @@
 package com.ruoyi.procurementrecord.utils;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
+import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.dto.StockUninventoryDto;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.service.StockInRecordService;
+import com.ruoyi.stock.service.StockInventoryService;
+import com.ruoyi.stock.service.StockUninventoryService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -14,6 +22,9 @@
 public class StockUtils {
     private final ProcurementRecordOutMapper procurementRecordOutMapper;
     private final ProcurementRecordMapper procurementRecordMapper;
+    private final StockUninventoryService stockUninventoryService;
+    private final StockInventoryService stockInventoryService;
+    private final StockInRecordService stockInRecordService;
 
     // 鑾峰彇鍟嗗搧鍏ュ簱鏁伴噺,鍑哄簱鏁伴噺,鍓╀綑搴撳瓨
     public Map<String, BigDecimal> getStockQuantity(Long productModelId) {
@@ -29,4 +40,77 @@
         stockMap.put("stockQuantity", stockQuantity);
         return stockMap;
     }
+
+    /**
+     * 涓嶅悎鏍煎叆搴�
+     * @param productModelId
+     * @param quantity
+     * @param recordType
+     * @param recordId
+     */
+    public void addUnStock(Long productModelId, BigDecimal quantity, String recordType,Long recordId) {
+        StockUninventoryDto stockUninventoryDto = new StockUninventoryDto();
+        stockUninventoryDto.setRecordId(recordId);
+        stockUninventoryDto.setRecordType(String.valueOf(recordType));
+        stockUninventoryDto.setQualitity(quantity);
+        stockUninventoryDto.setProductModelId(productModelId);
+        stockUninventoryService.addStockUninventory(stockUninventoryDto);
+    }
+
+    /**
+     * 涓嶅悎鏍煎嚭搴�
+     * @param productModelId
+     * @param quantity
+     * @param recordType
+     * @param recordId
+     */
+    public void subtractUnStock(Long productModelId, BigDecimal quantity, Integer recordType,Long recordId) {
+        StockUninventoryDto stockUninventoryDto = new StockUninventoryDto();
+        stockUninventoryDto.setRecordId(recordId);
+        stockUninventoryDto.setRecordType(String.valueOf(recordType));
+        stockUninventoryDto.setQualitity(quantity);
+        stockUninventoryDto.setProductModelId(productModelId);
+        stockUninventoryService.subtractStockUninventory(stockUninventoryDto);
+    }
+
+    /**
+     * 鍚堟牸鍏ュ簱
+     * @param productModelId
+     * @param quantity
+     * @param recordType
+     * @param recordId
+     */
+    public void addStock(Long productModelId, BigDecimal quantity, String recordType,Long recordId) {
+        StockInventoryDto stockInventoryDto = new StockInventoryDto();
+        stockInventoryDto.setRecordId(recordId);
+        stockInventoryDto.setRecordType(String.valueOf(recordType));
+        stockInventoryDto.setQualitity(quantity);
+        stockInventoryDto.setProductModelId(productModelId);
+        stockInventoryService.addstockInventory(stockInventoryDto);
+    }
+
+    /**
+     * 鍚堟牸鍑哄簱
+     * @param productModelId
+     * @param quantity
+     * @param recordType
+     * @param recordId
+     */
+    public void substractStock(Long productModelId, BigDecimal quantity, String recordType,Long recordId) {
+        StockInventoryDto stockInventoryDto = new StockInventoryDto();
+        stockInventoryDto.setRecordId(recordId);
+        stockInventoryDto.setRecordType(String.valueOf(recordType));
+        stockInventoryDto.setQualitity(quantity);
+        stockInventoryDto.setProductModelId(productModelId);
+        stockInventoryService.subtractStockInventory(stockInventoryDto);
+    }
+
+    //涓嶅悎鏍煎簱瀛樺垹闄�
+    public void deleteStockRecord(Long recordId, String recordType) {
+        StockInRecord one = stockInRecordService.getOne(new QueryWrapper<StockInRecord>()
+                .lambda().eq(StockInRecord::getRecordId, recordId)
+                .eq(StockInRecord::getRecordType, recordType));
+
+        stockInRecordService.batchDelete(Collections.singletonList(one.getId()));
+    }
 }

--
Gitblit v1.9.3