From 9468068e746f25fc2d4bd618b9a07166f269e32a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 12 五月 2026 17:32:18 +0800
Subject: [PATCH] feat(stock): 不合格库存批次号自动生成及使用
---
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java | 67 ++++++++++++++++++++++++++-------
1 files changed, 53 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index 394fd3a..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;
@@ -44,7 +45,25 @@
stockUninventoryDto.setRecordType(String.valueOf(recordType));
stockUninventoryDto.setQualitity(quantity);
stockUninventoryDto.setProductModelId(productModelId);
- stockUninventoryService.addStockUninventory(stockUninventoryDto);
+ stockUninventoryService.addStockInRecordOnly(stockUninventoryDto);
+ }
+
+ /**
+ * 涓嶅悎鏍煎叆搴撳甫鎵规鍙�
+ *
+ * @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);
}
/**
@@ -66,8 +85,6 @@
/**
* 鍚堟牸鍏ュ簱
- * @param productModelId
- * @param quantity
* @param recordType
* @param recordId
*/
@@ -77,7 +94,24 @@
stockInventoryDto.setRecordType(String.valueOf(recordType));
stockInventoryDto.setQualitity(quantity);
stockInventoryDto.setProductModelId(productModelId);
- stockInventoryService.addstockInventory(stockInventoryDto);
+ stockInventoryService.addStockInRecordOnly(stockInventoryDto);
+ }
+
+ /**
+ * 鍚堟牸鍏ュ簱甯︽壒娆″彿
+ * @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);
}
/**
@@ -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