From 4336d99906953517399187638925817d969c4e10 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 14 五月 2026 14:18:14 +0800
Subject: [PATCH] refactor(stock): 优化库存管理和产品模型查询功能
---
src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java | 49 ++++++++++++++++++++++++-------------------------
1 files changed, 24 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java
index 554b95e..1b9f4b3 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.enums.ReviewStatusEnum;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.common.exception.ServiceException;
@@ -23,8 +22,8 @@
import com.ruoyi.stock.pojo.StockInRecord;
import com.ruoyi.stock.pojo.StockInventory;
import com.ruoyi.stock.pojo.StockOutRecord;
-import com.ruoyi.stock.service.StockInventoryService;
import com.ruoyi.stock.service.StockInRecordService;
+import com.ruoyi.stock.service.StockInventoryService;
import com.ruoyi.stock.service.StockOutRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -96,7 +95,7 @@
baseMapper.insert(orderPick);
// 鍏堟柊澧炲嚭搴撶敵璇凤紝鍐嶅鎵归�氳繃锛屽畬鎴愬簱瀛樻墸鍑忋��
- subtractInventory(orderPick.getId(), resolvedDto.getProductModelId(), storedBatchNo, resolvedDto.getPickQuantity(), rowNo, PICK_STOCK_OUT_RECORD_TYPE);
+// subtractInventory(orderPick.getId(), resolvedDto.getProductModelId(), storedBatchNo, resolvedDto.getPickQuantity(), rowNo, PICK_STOCK_OUT_RECORD_TYPE);
// 璁板綍鏈棰嗘枡娴佹按锛坆efore=0锛宎fter=鏈棰嗘枡閲忥級銆�
insertPickRecord(orderPick.getId(),
@@ -216,7 +215,7 @@
}
String oldBatchNo = resolveInventoryBatchNoFromStored(existingPick.getBatchNo());
BigDecimal oldQuantity = defaultDecimal(existingPick.getQuantity());
- addInventory(existingPick.getId(), existingPick.getProductModelId(), oldBatchNo, oldQuantity, PICK_RETURN_IN_RECORD_TYPE);
+// addInventory(existingPick.getId(), existingPick.getProductModelId(), oldBatchNo, oldQuantity, PICK_RETURN_IN_RECORD_TYPE);
// 鍒犻櫎鍏宠仈棰嗘枡娴佹按锛岄伩鍏嶉仐鐣欐棤涓昏褰曘��
productionOrderPickRecordMapper.delete(
Wrappers.<ProductionOrderPickRecord>lambdaQuery()
@@ -260,7 +259,7 @@
for (ProductionOrderPick missingPick : missingPickList) {
String oldBatchNo = resolveInventoryBatchNoFromStored(missingPick.getBatchNo());
BigDecimal oldQuantity = defaultDecimal(missingPick.getQuantity());
- addInventory(missingPick.getId(), missingPick.getProductModelId(), oldBatchNo, oldQuantity, PICK_RETURN_IN_RECORD_TYPE);
+// addInventory(missingPick.getId(), missingPick.getProductModelId(), oldBatchNo, oldQuantity, PICK_RETURN_IN_RECORD_TYPE);
// 鍒犻櫎鍏宠仈棰嗘枡娴佹按锛岄伩鍏嶉仐鐣欐棤涓昏褰曘��
productionOrderPickRecordMapper.delete(
Wrappers.<ProductionOrderPickRecord>lambdaQuery()
@@ -306,7 +305,7 @@
baseMapper.insert(orderPick);
// 鍏堟柊澧炲嚭搴撶敵璇凤紝鍐嶅鎵归�氳繃锛屽畬鎴愬簱瀛樻墸鍑忋��
- subtractInventory(orderPick.getId(), dto.getProductModelId(), storedBatchNo, dto.getPickQuantity(), rowNo, PICK_STOCK_OUT_RECORD_TYPE);
+// subtractInventory(orderPick.getId(), dto.getProductModelId(), storedBatchNo, dto.getPickQuantity(), rowNo, PICK_STOCK_OUT_RECORD_TYPE);
insertPickRecord(orderPick.getId(),
dto.getProductionOrderId(),
@@ -365,7 +364,7 @@
: formatBatchNoStorage(batchNoList);
BigDecimal feedingQuantity = dto.getFeedingQuantity();
- subtractInventory(oldPick.getId(), productModelId, inventoryBatchNo, feedingQuantity, rowNo, FEED_STOCK_OUT_RECORD_TYPE);
+// subtractInventory(oldPick.getId(), productModelId, inventoryBatchNo, feedingQuantity, rowNo, FEED_STOCK_OUT_RECORD_TYPE);
// 璁$畻琛ユ枡鍓嶅悗鏁伴噺骞跺啓琛ユ枡娴佹按銆�
BigDecimal beforeFeedingQty = sumFeedingQuantity(dto.getProductionOrderId(), oldPick.getId());
@@ -430,7 +429,7 @@
BigDecimal totalReturnQty = oldReturnQty.add(currentReturnQty);
if (currentReturnQty.compareTo(BigDecimal.ZERO) > 0) {
String returnBatchNo = resolveInventoryBatchNoFromStored(oldPick.getBatchNo());
- addInventoryRecordOnly(oldPick.getId(), oldPick.getProductModelId(), returnBatchNo, currentReturnQty, FEED_RETURN_IN_RECORD_TYPE);
+// addInventoryRecordOnly(oldPick.getId(), oldPick.getProductModelId(), returnBatchNo, currentReturnQty, FEED_RETURN_IN_RECORD_TYPE);
}
BigDecimal actualQty = defaultDecimal(oldPick.getQuantity())
@@ -487,15 +486,15 @@
BigDecimal deltaQuantity = newQuantity.subtract(oldQuantity);
if (deltaQuantity.compareTo(BigDecimal.ZERO) > 0) {
// 鏁伴噺澧炲姞锛屽彧鎵e噺鏂板閮ㄥ垎銆�
- subtractInventory(oldPick.getId(), newProductModelId, newStoredBatchNo, deltaQuantity, rowNo, PICK_STOCK_OUT_RECORD_TYPE);
+// subtractInventory(oldPick.getId(), newProductModelId, newStoredBatchNo, deltaQuantity, rowNo, PICK_STOCK_OUT_RECORD_TYPE);
} else if (deltaQuantity.compareTo(BigDecimal.ZERO) < 0) {
// 鏁伴噺鍑忓皯锛屽彧鍥為��宸�奸儴鍒嗐��
- addInventory(oldPick.getId(), oldProductModelId, oldBatchNo, deltaQuantity.abs(), PICK_RETURN_IN_RECORD_TYPE);
+// addInventory(oldPick.getId(), oldProductModelId, oldBatchNo, deltaQuantity.abs(), PICK_RETURN_IN_RECORD_TYPE);
}
} else {
// 瑙勬牸鎴栨壒娆″彉鍖栵細鍏堝叏閲忓洖閫�鏃ч鏂欙紝鍐嶅叏閲忔墸鍑忔柊棰嗘枡銆�
- addInventory(oldPick.getId(), oldProductModelId, oldBatchNo, oldQuantity, PICK_RETURN_IN_RECORD_TYPE);
- subtractInventory(oldPick.getId(), newProductModelId, newStoredBatchNo, newQuantity, rowNo, PICK_STOCK_OUT_RECORD_TYPE);
+// addInventory(oldPick.getId(), oldProductModelId, oldBatchNo, oldQuantity, PICK_RETURN_IN_RECORD_TYPE);
+// subtractInventory(oldPick.getId(), newProductModelId, newStoredBatchNo, newQuantity, rowNo, PICK_STOCK_OUT_RECORD_TYPE);
}
if (needReissuePickRecord) {
// 姝e父棰嗘枡娴佹按鎸夆�滄渶鏂伴鏂欓噺鈥濋噸寤猴紝閬垮厤淇濈暀鍘嗗彶鏃у�笺��
@@ -635,7 +634,7 @@
continue;
}
BigDecimal currentDeductQuantity = remainingQuantity.min(availableQuantity);
- createAndApproveStockOutRecord(recordId, productModelId, entry.getKey(), currentDeductQuantity, rowNo, stockOutRecordType);
+// createAndApproveStockOutRecord(recordId, productModelId, entry.getKey(), currentDeductQuantity, rowNo, stockOutRecordType);
remainingQuantity = remainingQuantity.subtract(currentDeductQuantity);
}
@@ -674,14 +673,14 @@
} else {
recordWrapper.eq(StockOutRecord::getBatchNo, batchNo);
}
- StockOutRecord stockOutRecord = stockOutRecordService.getOne(recordWrapper, false);
- if (stockOutRecord == null || stockOutRecord.getId() == null) {
- throw new ServiceException("绗�" + rowNo + "琛屾墸鍑忓簱瀛樺け璐ワ細鏈壘鍒板搴斿嚭搴撶敵璇疯褰�");
- }
- stockOutRecordService.batchApprove(
- Collections.singletonList(stockOutRecord.getId()),
- ReviewStatusEnum.APPROVED.getCode()
- );
+// StockOutRecord stockOutRecord = stockOutRecordService.getOne(recordWrapper, false);
+// if (stockOutRecord == null || stockOutRecord.getId() == null) {
+// throw new ServiceException("绗�" + rowNo + "琛屾墸鍑忓簱瀛樺け璐ワ細鏈壘鍒板搴斿嚭搴撶敵璇疯褰�");
+// }
+// stockOutRecordService.batchApprove(
+// Collections.singletonList(stockOutRecord.getId()),
+// ReviewStatusEnum.APPROVED.getCode()
+// );
} catch (ServiceException ex) {
throw ex;
} catch (Exception ex) {
@@ -726,10 +725,10 @@
if (stockInRecord == null || stockInRecord.getId() == null) {
throw new ServiceException("鍥炶ˉ搴撳瓨澶辫触锛氭湭鎵惧埌瀵瑰簲鍏ュ簱鐢宠璁板綍");
}
- stockInRecordService.batchApprove(
- Collections.singletonList(stockInRecord.getId()),
- ReviewStatusEnum.APPROVED.getCode()
- );
+// stockInRecordService.batchApprove(
+// Collections.singletonList(stockInRecord.getId()),
+// ReviewStatusEnum.APPROVED.getCode(),stockInRecord.getWarehouseInfoId()
+// );
} catch (ServiceException ex) {
throw ex;
} catch (Exception ex) {
--
Gitblit v1.9.3