From 32e4f30a848e159081986f93d189f0e80fa56a77 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 29 五月 2026 18:03:52 +0800
Subject: [PATCH] 采购手动入库
---
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java | 75 ++++++++++++++++++++++++++++---------
1 files changed, 57 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
index b7e0478..95537c8 100644
--- a/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
+++ b/src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -3,11 +3,11 @@
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.common.enums.ReviewStatusEnum;
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.mapper.StockInventoryMapper;
import com.ruoyi.stock.pojo.StockInRecord;
import com.ruoyi.stock.pojo.StockOutRecord;
import com.ruoyi.stock.service.StockInRecordService;
@@ -29,7 +29,6 @@
private final StockInventoryService stockInventoryService;
private final StockInRecordService stockInRecordService;
private final StockOutRecordService stockOutRecordService;
- private final StockInventoryMapper stockInventoryMapper;
/**
* 涓嶅悎鏍煎叆搴�
@@ -45,6 +44,24 @@
stockUninventoryDto.setRecordType(String.valueOf(recordType));
stockUninventoryDto.setQualitity(quantity);
stockUninventoryDto.setProductModelId(productModelId);
+ 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);
}
@@ -97,6 +114,31 @@
}
/**
+ * 鍚堟牸鍏ュ簱甯︽壒娆″彿鍜屽惈姘撮噺淇℃伅
+ * @param productModelId 浜у搧瑙勬牸ID
+ * @param actualStockInNum 瀹為檯鍏ュ簱鏁伴噺
+ * @param recordType 璁板綍绫诲瀷
+ * @param recordId 璁板綍ID
+ * @param batchNo 鎵规鍙�
+ * @param isContainsWater 鏄惁鍚按
+ * @param waterContent 鍚按閲�
+ * @param theoryStockInNum 鐞嗚鍏ュ簱鏁伴噺
+ */
+ public void addStockWithBatchNo(Long productModelId, BigDecimal actualStockInNum, String recordType, Long recordId,
+ String batchNo, Boolean isContainsWater, BigDecimal waterContent, BigDecimal theoryStockInNum) {
+ StockInventoryDto stockInventoryDto = new StockInventoryDto();
+ stockInventoryDto.setRecordId(recordId);
+ stockInventoryDto.setRecordType(String.valueOf(recordType));
+ stockInventoryDto.setQualitity(actualStockInNum);
+ stockInventoryDto.setProductModelId(productModelId);
+ stockInventoryDto.setBatchNo(batchNo);
+ stockInventoryDto.setIsContainsWater(isContainsWater);
+ stockInventoryDto.setWaterContent(waterContent);
+ stockInventoryDto.setTheoryStockInNum(theoryStockInNum);
+ stockInventoryService.addStockInRecordOnly(stockInventoryDto);
+ }
+
+ /**
* 鍚堟牸鍑哄簱
*
* @param productModelId
@@ -132,31 +174,28 @@
public void deleteStockInRecord(Long recordId, String recordType) {
StockInRecord one = stockInRecordService.getOne(new QueryWrapper<StockInRecord>()
.lambda().eq(StockInRecord::getRecordId, recordId)
- .eq(StockInRecord::getRecordType, recordType));
+ .eq(StockInRecord::getRecordType, recordType), false);
if (ObjectUtils.isNotEmpty(one)) {
- stockInRecordService.batchDelete(Collections.singletonList(one.getId()));
- //灏嗗簱瀛樺噺鍥炴潵
- StockInventoryDto stockInventoryDto = new StockInventoryDto();
- stockInventoryDto.setRecordId(recordId);
- stockInventoryDto.setRecordType(recordType);
- stockInventoryDto.setQualitity(one.getStockInNum());
- stockInventoryMapper.updateSubtractStockInventory((stockInventoryDto));
+ if (ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus())) {
+ stockInRecordService.batchDelete(Collections.singletonList(one.getId()));
+ } else {
+ stockInRecordService.removeById(one.getId());
+ }
}
}
+ //鍒犻櫎鍑哄簱璁板綍
public void deleteStockOutRecord(Long recordId, String recordType) {
StockOutRecord one = stockOutRecordService.getOne(new QueryWrapper<StockOutRecord>()
.lambda().eq(StockOutRecord::getRecordId, recordId)
- .eq(StockOutRecord::getRecordType, recordType));
+ .eq(StockOutRecord::getRecordType, recordType), false);
if (ObjectUtils.isNotEmpty(one)) {
- stockOutRecordService.batchDelete(Collections.singletonList(one.getId()));
- //灏嗗簱瀛樺姞鍥炴潵
- StockInventoryDto stockInventoryDto = new StockInventoryDto();
- stockInventoryDto.setRecordId(recordId);
- stockInventoryDto.setRecordType(recordType);
- stockInventoryDto.setQualitity(one.getStockOutNum());
- stockInventoryMapper.updateAddStockInventory((stockInventoryDto));
+ if (ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus())) {
+ stockOutRecordService.batchDelete(Collections.singletonList(one.getId()));
+ } else {
+ stockOutRecordService.removeById(one.getId());
+ }
}
}
--
Gitblit v1.9.3