From 1f24b466e52e5251477daf2faf5d392fe5121c3a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 27 一月 2026 17:13:42 +0800
Subject: [PATCH] fix(enum): 代码迁移

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   27 ++++++---------------------
 1 files changed, 6 insertions(+), 21 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 5ca8a86..d99bcca 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.mapper.ProductModelMapper;
 import com.ruoyi.basic.pojo.Product;
 import com.ruoyi.basic.pojo.ProductModel;
+import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
@@ -158,33 +159,14 @@
         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(), productStructureDto.getUnitQuantity().multiply(dto.getQuantity()), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
         }
         /*鏂板鎶ュ伐浜у嚭琛�*/
         ProductionProductOutput productionProductOutput = new ProductionProductOutput();
@@ -293,6 +275,7 @@
             productOrderMapper.updateById(productOrder);
         }
         /*鍒犻櫎浜у嚭*/
+
         //鍒犻櫎璐ㄦ
         qualityInspectMapper.selectList(
                 new LambdaQueryWrapper<QualityInspect>()
@@ -309,6 +292,8 @@
         /*鍒犻櫎鎶曞叆*/
         procurementRecordOutMapper.delete(new LambdaQueryWrapper<ProcurementRecordOut>()
                 .eq(ProcurementRecordOut::getSalesLedgerProductId, productionProductMain.getId()));
+        //鍒犻櫎鍑哄簱璁板綍
+        stockUtils.deleteStockRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode());
         productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
                 .eq(ProductionProductInput::getProductMainId, productionProductMain.getId()));
         // 鍒犻櫎涓昏〃

--
Gitblit v1.9.3