From badca28d9dea0c9837f6b85b1588e735350e366d Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 26 一月 2026 13:11:24 +0800
Subject: [PATCH] refactor(production): 使用stockUtils进行库存操作
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 44 +++++++++-----------------------------------
1 files changed, 9 insertions(+), 35 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 b63409c..66270d4 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,13 +11,10 @@
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
-import com.ruoyi.common.enums.StockRecordTypeEnum;
-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.*;
@@ -29,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;
@@ -50,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;
@@ -62,7 +51,6 @@
private ProductionProductOutputMapper productionProductOutputMapper;
- private ProcessRouteItemMapper processRouteItemMapper;
private ProductModelMapper productModelMapper;
@@ -75,7 +63,6 @@
private QualityTestStandardParamMapper qualityTestStandardParamMapper;
- private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
private QualityTestStandardMapper qualityTestStandardMapper;
private QualityInspectParamMapper qualityInspectParamMapper;
@@ -169,21 +156,8 @@
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();
@@ -274,7 +248,7 @@
}
//濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
- stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+ stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
}
return true;
}
@@ -317,13 +291,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(), StockRecordTypeEnum.PRODUCTION_SCRAP.getCode());
+ 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