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/production/service/impl/ProductionProductMainServiceImpl.java | 27 ++++++---------------------
1 files changed, 6 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 5ca8a86..d99bcca 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
+import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
@@ -158,33 +159,14 @@
for (ProductStructureDto productStructureDto : productStructureDtos) {
ProductModel productModel1 = productModelMapper.selectById(productStructureDto.getProductModelId());
Product product = productMapper.selectById(productModel1.getProductId());
- BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId()).get("stockQuantity");
- if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) {
- throw new RuntimeException(product.getProductName()+"浜у搧鐨�"+productModel1.getModel() + "鐨勮鏍煎簱瀛樹负0");
- }
- if (stockQuantity.compareTo(productStructureDto.getUnitQuantity().multiply(dto.getQuantity())) < 0) {
- throw new RuntimeException(product.getProductName()+"浜у搧鐨�"+productModel1.getModel() + "鐨勮鏍煎簱瀛樹笉瓒�");
- }
+
ProductionProductInput productionProductInput = new ProductionProductInput();
productionProductInput.setProductModelId(productStructureDto.getProductModelId());
productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
productionProductInput.setProductMainId(productionProductMain.getId());
productionProductInputMapper.insert(productionProductInput);
//瀵瑰簲鐨勫簱瀛樺嚭搴�
- DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMdd");
- LocalDate now = LocalDate.now();
- ProcurementRecordOut procurementRecordOut1 = procurementRecordOutMapper.selectCode(dateFormat.format(now));
- Long aLong = procurementRecordOut1 == null ? 1L : Long.valueOf(procurementRecordOut1.getCode().split("LS" + dateFormat.format(now))[1]);
- ProcurementRecordOut.ProcurementRecordOutBuilder procurementRecordOut = ProcurementRecordOut.builder()
- .procurementRecordStorageId(0)
- .code("LS" + dateFormat.format(now) + String.format("%03d", aLong + 1))
- .salesLedgerProductId(productionProductMain.getId())//鍏宠仈鎶ュ伐浜у嚭
- .inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�" + (aLong + 1) + "鎵规")
- .inboundNum(productionProductInput.getQuantity())
- .type(4)
- .createBy(user.getNickName())
- .productModelId(productModel1.getId());
- procurementRecordOutMapper.insert(procurementRecordOut.build());
+ stockUtils.substractStock(productStructureDto.getProductModelId(), productStructureDto.getUnitQuantity().multiply(dto.getQuantity()), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
}
/*鏂板鎶ュ伐浜у嚭琛�*/
ProductionProductOutput productionProductOutput = new ProductionProductOutput();
@@ -293,6 +275,7 @@
productOrderMapper.updateById(productOrder);
}
/*鍒犻櫎浜у嚭*/
+
//鍒犻櫎璐ㄦ
qualityInspectMapper.selectList(
new LambdaQueryWrapper<QualityInspect>()
@@ -309,6 +292,8 @@
/*鍒犻櫎鎶曞叆*/
procurementRecordOutMapper.delete(new LambdaQueryWrapper<ProcurementRecordOut>()
.eq(ProcurementRecordOut::getSalesLedgerProductId, productionProductMain.getId()));
+ //鍒犻櫎鍑哄簱璁板綍
+ stockUtils.deleteStockRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
.eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
// 鍒犻櫎涓昏〃
--
Gitblit v1.9.3