From fc830b7f62af651acedb8c11f1e2634fe2a3e497 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 14 一月 2026 14:20:46 +0800
Subject: [PATCH] Merge branch 'jtwy' into dev_New
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 62 ++++++++++++-------------------
1 files changed, 24 insertions(+), 38 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..6c1b7aa 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;
@@ -23,9 +24,11 @@
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.mapper.QualityInspectParamMapper;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityInspectParam;
import com.ruoyi.quality.pojo.QualityTestStandard;
+import com.ruoyi.quality.pojo.QualityTestStandardParam;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -63,6 +66,7 @@
private ProductMapper productMapper;
private QualityTestStandardMapper qualityTestStandardMapper;
+ private QualityTestStandardParamMapper qualityTestStandardParamMapper;
private QualityInspectParamMapper qualityInspectParamMapper;
@@ -73,6 +77,8 @@
private ProductOrderMapper productOrderMapper;
private SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
+
+ private StockUtils stockUtils;
@Override
@@ -89,34 +95,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,26 +172,33 @@
qualityInspect.setInspectState(0);
qualityInspect.setInspectType(inspectType);
qualityInspect.setProductMainId(productionProductMain.getId());
+ qualityInspect.setProductModelId(productModel.getId());
qualityInspectMapper.insert(qualityInspect);
- qualityTestStandardMapper.selectList(
- new LambdaQueryWrapper<QualityTestStandard>()
- .eq(QualityTestStandard::getProductId, product.getId())
- ).forEach(standard -> {
- QualityInspectParam param = new QualityInspectParam();
- BeanUtils.copyProperties(standard, param);
- param.setId(null);
- param.setInspectId(qualityInspect.getId());
- qualityInspectParamMapper.insert(param);
- });
+ List<QualityTestStandardParam> qualityTestStandardParams = qualityTestStandardParamMapper.selectListByProductId(product.getId());
+ if (qualityTestStandardParams.size()>0) {
+ qualityTestStandardParams.forEach(standard -> {
+ QualityInspectParam param = new QualityInspectParam();
+ BeanUtils.copyProperties(standard, param);
+ param.setId(null);
+ param.setInspectId(qualityInspect.getId());
+ qualityInspectParamMapper.insert(param);
+ });
+ }
}
// 娣诲姞鎶曞叆
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());
+ productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
productionProductInput.setProductMainId(productionProductMain.getId());
productionProductInputMapper.insert(productionProductInput);
}
--
Gitblit v1.9.3