From 3257a0d66eb770cd4a4bba4b48ddf26ec6d6c046 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期三, 14 一月 2026 15:24:16 +0800
Subject: [PATCH] 修改查询库存工具类,增添库存管理-成品库存接口,
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 39 +++++++++++----------------------------
1 files changed, 11 insertions(+), 28 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 8e6aad1..482755b 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;
@@ -74,6 +75,8 @@
private SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
+ private StockUtils stockUtils;
+
@Override
public IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto) {
@@ -89,34 +92,7 @@
SysUser user = SecurityUtils.getLoginUser().getUser();
- if (dto.isReportWork()) {
- // 鏇存柊閫昏緫 - 鍙洿鏂版暟閲�
- QueryWrapper<ProductionProductOutput> outputWrapper = new QueryWrapper<>();
- outputWrapper.eq("product_main_id", dto.getProductMainId());
- ProductionProductOutput output = productionProductOutputMapper.selectOne(outputWrapper);
- if (output == null) {
- throw new RuntimeException("浜у嚭璁板綍涓嶅瓨鍦�");
- }
-
- // 鏌ヨ鐢熶骇鏍哥畻璁板綍
- QueryWrapper<SalesLedgerProductionAccounting> accountingWrapper = new QueryWrapper<>();
- accountingWrapper.eq("sales_ledger_work_id", dto.getProductMainId());
- SalesLedgerProductionAccounting accounting = salesLedgerProductionAccountingMapper.selectOne(accountingWrapper);
- if (accounting == null) {
- throw new RuntimeException("鐢熶骇鏍哥畻璁板綍涓嶅瓨鍦�");
- }
-
- // 鍙洿鏂版暟閲�
- if (dto.getQuantity() != null) {
- output.setQuantity(dto.getQuantity());
- productionProductOutputMapper.updateById(output);
- // 鏇存柊鐢熶骇鏍哥畻璁板綍
- accounting.setFinishedNum(dto.getQuantity());
- salesLedgerProductionAccountingMapper.updateById(accounting);
- }
- return true;
- }
// 鏂板閫昏緫
ProductionProductMain productionProductMain = new ProductionProductMain();
@@ -193,6 +169,7 @@
qualityInspect.setInspectState(0);
qualityInspect.setInspectType(inspectType);
qualityInspect.setProductMainId(productionProductMain.getId());
+ qualityInspect.setProductModelId(productModel.getId());
qualityInspectMapper.insert(qualityInspect);
qualityTestStandardMapper.selectList(
@@ -210,9 +187,15 @@
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()).get("stockQuantity");
+ if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) {
+ throw new RuntimeException("搴撳瓨涓嶈冻");
+ }
ProductionProductInput productionProductInput = new ProductionProductInput();
productionProductInput.setProductModelId(productStructureDto.getProductModelId());
- productionProductInput.setQuantity(productStructureDto.getUnitQuantity());
+ productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
productionProductInput.setProductMainId(productionProductMain.getId());
productionProductInputMapper.insert(productionProductInput);
}
--
Gitblit v1.9.3