From 96d416d310d323e68d42d1ed417f6cea21852d57 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 13 五月 2026 11:56:39 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_pro

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

diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index f561b49..8a6925e 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -1,5 +1,6 @@
 package com.ruoyi.procurementrecord.utils;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
@@ -48,6 +49,24 @@
     }
 
     /**
+     * 涓嶅悎鏍煎叆搴撳甫鎵规鍙�
+     *
+     * @param productModelId
+     * @param quantity
+     * @param recordType
+     * @param recordId
+     */
+    public void addUnStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo) {
+        StockUninventoryDto stockUninventoryDto = new StockUninventoryDto();
+        stockUninventoryDto.setRecordId(recordId);
+        stockUninventoryDto.setRecordType(String.valueOf(recordType));
+        stockUninventoryDto.setQualitity(quantity);
+        stockUninventoryDto.setProductModelId(productModelId);
+        stockUninventoryDto.setBatchNo(batchNo);
+        stockUninventoryService.addStockInRecordOnly(stockUninventoryDto);
+    }
+
+    /**
      * 涓嶅悎鏍煎嚭搴�
      *
      * @param productModelId
@@ -66,8 +85,6 @@
 
     /**
      * 鍚堟牸鍏ュ簱
-     * @param productModelId
-     * @param quantity
      * @param recordType
      * @param recordId
      */
@@ -81,6 +98,23 @@
     }
 
     /**
+     * 鍚堟牸鍏ュ簱甯︽壒娆″彿
+     * @param productModelId
+     * @param quantity
+     * @param recordType
+     * @param recordId
+     */
+    public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo) {
+        StockInventoryDto stockInventoryDto = new StockInventoryDto();
+        stockInventoryDto.setRecordId(recordId);
+        stockInventoryDto.setRecordType(String.valueOf(recordType));
+        stockInventoryDto.setQualitity(quantity);
+        stockInventoryDto.setProductModelId(productModelId);
+        stockInventoryDto.setBatchNo(batchNo);
+        stockInventoryService.addStockInRecordOnly(stockInventoryDto);
+    }
+
+    /**
      * 鍚堟牸鍑哄簱
      *
      * @param productModelId
@@ -88,15 +122,6 @@
      * @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 substractStock(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo) {
         StockInventoryDto stockInventoryDto = new StockInventoryDto();
         stockInventoryDto.setRecordId(recordId);
@@ -104,7 +129,21 @@
         stockInventoryDto.setQualitity(quantity);
         stockInventoryDto.setProductModelId(productModelId);
         stockInventoryDto.setBatchNo(batchNo);
-        stockInventoryService.subtractStockInventory(stockInventoryDto);
+        stockInventoryService.addStockOutRecordOnly(stockInventoryDto);
+    }
+
+    /**
+     * 鍙戣揣瀹℃壒鐘舵�佹洿鏀�
+     * @param recordType
+     * @param recordId
+     */
+    public void shipmentStatus(String recordType, Long recordId) {
+        LambdaQueryWrapper<StockOutRecord> queryWrapper = new LambdaQueryWrapper<StockOutRecord>().eq(StockOutRecord::getRecordType, recordType)
+                .eq(StockOutRecord::getRecordId, recordId);
+        stockOutRecordService.list(queryWrapper).stream().forEach(stockOutRecord -> {
+            stockOutRecord.setApprovalStatus(0);
+            stockOutRecordService.updateById(stockOutRecord);
+        });
     }
 
     //涓嶅悎鏍煎簱瀛樺垹闄�

--
Gitblit v1.9.3