From 1cf91e355038837f30f2d727507b2229263d7de7 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 27 一月 2026 17:49:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 58 +++++++++++++++-------------------------------------------
1 files changed, 15 insertions(+), 43 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 9d466ad..8be62c1 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -2,8 +2,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -13,12 +11,10 @@
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
-import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.bean.BeanUtils;
-import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
import com.ruoyi.procurementrecord.utils.StockUtils;
-import com.ruoyi.production.controller.ProductWorkOrderController;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.mapper.*;
@@ -28,19 +24,15 @@
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.quality.mapper.*;
import com.ruoyi.quality.pojo.*;
-import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.production.mapper.ProductionProductMainMapper;
-import oshi.driver.mac.net.NetStat;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
-import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -49,10 +41,8 @@
@Transactional(rollbackFor = Exception.class)
public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
- private final ProcurementRecordOutMapper procurementRecordOutMapper;
private ProductionProductMainMapper productionProductMainMapper;
- private ProductWorkOrderController productWorkOrderController;
private ProductWorkOrderMapper productWorkOrderMapper;
@@ -61,7 +51,6 @@
private ProductionProductOutputMapper productionProductOutputMapper;
- private ProcessRouteItemMapper processRouteItemMapper;
private ProductModelMapper productModelMapper;
@@ -74,7 +63,6 @@
private QualityTestStandardParamMapper qualityTestStandardParamMapper;
- private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
private QualityTestStandardMapper qualityTestStandardMapper;
private QualityInspectParamMapper qualityInspectParamMapper;
@@ -154,35 +142,14 @@
productStructureDtos.add(productStructureDto);
}
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(), productionProductInput.getQuantity(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
+
}
/*鏂板鎶ュ伐浜у嚭琛�*/
ProductionProductOutput productionProductOutput = new ProductionProductOutput();
@@ -212,7 +179,7 @@
qualityInspect.setModel(productModel.getModel());
qualityInspect.setUnit(productModel.getUnit());
qualityInspect.setQuantity(productQty);
- qualityInspect.setProcess(productProcess.getName());
+ qualityInspect.setProcess(process);
qualityInspect.setInspectState(0);
qualityInspect.setInspectType(inspectType);
qualityInspect.setProductMainId(productionProductMain.getId());
@@ -234,7 +201,7 @@
}
/*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());
- productWorkOrder.setCompleteQuantity(productQty.add(dto.getQuantity()));
+ productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().add(productQty));
if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) {
productWorkOrder.setActualStartTime(LocalDate.now());//瀹為檯寮�濮嬫椂闂�
}
@@ -272,6 +239,9 @@
salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting);
}
//濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
+ if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
+ stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+ }
return true;
}
@@ -313,11 +283,13 @@
// 鍒犻櫎浜у嚭璁板綍
productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
.eq(ProductionProductOutput::getProductMainId, productionProductMain.getId()));
- /*鍒犻櫎鎶曞叆*/
- procurementRecordOutMapper.delete(new LambdaQueryWrapper<ProcurementRecordOut>()
- .eq(ProcurementRecordOut::getSalesLedgerProductId, productionProductMain.getId()));
+ //鍒犻櫎鎶曞叆璁板綍
productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
.eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
+ //鍒犻櫎鎶ュ簾鐨勫叆搴撹褰�
+ stockUtils.deleteStockRecord(productionProductMain.getId(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+ //鍒犻櫎鎶曞叆瀵瑰簲鐨勫嚭搴撹褰�
+ stockUtils.deleteStockRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
// 鍒犻櫎涓昏〃
productionProductMainMapper.deleteById(productionProductMain.getId());
return true;
--
Gitblit v1.9.3