From f7559a0880080f0aaaac59867606daad656b280a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 14 一月 2026 14:04:10 +0800
Subject: [PATCH] feat(product): 添加产品规格ID字段并实现库存检查功能
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 10 ++++++++++
1 files changed, 10 insertions(+), 0 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 c137411..046f8c4 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.pojo.ProductModel;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.controller.ProductWorkOrderController;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.dto.ProductionProductMainDto;
@@ -73,6 +74,8 @@
private ProductOrderMapper productOrderMapper;
private SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
+
+ private StockUtils stockUtils;
@Override
@@ -166,6 +169,7 @@
qualityInspect.setInspectState(0);
qualityInspect.setInspectType(inspectType);
qualityInspect.setProductMainId(productionProductMain.getId());
+ qualityInspect.setProductModelId(productModel.getId());
qualityInspectMapper.insert(qualityInspect);
qualityTestStandardMapper.selectList(
@@ -183,6 +187,12 @@
if (productModel != null) {
List<ProductStructureDto> productStructureDtos = productStructureMapper.listByproductModelId(productModel.getId());
for (ProductStructureDto productStructureDto : productStructureDtos) {
+ ProductModel productModel1 = productModelMapper.selectById(productStructureDto.getProductModelId());
+
+ BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId());
+ if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) {
+ throw new RuntimeException("搴撳瓨涓嶈冻");
+ }
ProductionProductInput productionProductInput = new ProductionProductInput();
productionProductInput.setProductModelId(productStructureDto.getProductModelId());
productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
--
Gitblit v1.9.3