From 1d2d3760bef94013f80cae555bdcbfb2268929a2 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 15 四月 2026 11:22:17 +0800
Subject: [PATCH] fix:生产-质量-仓储(合格,不合格),批号,供应商

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 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 8b2b427..18b9f06 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -223,7 +223,7 @@
                 order.setDrawMaterials(JSON.toJSONString(existingMaterialList));
                 productOrderMapper.updateById(order);
             }
-        }else {
+        } else {
             throw new RuntimeException("璇烽鍙栨姇鍏ユ潗鏂�");
         }
         /*鏂板鎶ュ伐浜у嚭琛�*/
@@ -237,6 +237,8 @@
         //鍚堟牸鏁伴噺=鎶ュ伐鏁伴噺
         BigDecimal productQty = productionProductOutput.getQuantity();
         //鍙湁鍚堟牸鏁伴噺>0鎵嶈兘澧炲姞鐩稿簲鏁版嵁
+        ProductWorkOrder pwo = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
+        String customer = "闀挎不甯傝酱鎵垮埗閫犳湁闄愬叕鍙�";
         if (productQty.compareTo(BigDecimal.ZERO) > 0) {
             /*鏂板璐ㄦ*/
             List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
@@ -249,8 +251,7 @@
                     inspectType = 2;
                     process = null;
                 }
-                ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
-                ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
+                ProductOrder productOrder = productOrderMapper.selectById(pwo.getProductOrderId());
                 if (productOrder == null) {
                     throw new RuntimeException("鐢熶骇璁㈠崟涓嶅瓨鍦�");
                 }
@@ -269,6 +270,7 @@
                 qualityInspect.setProductModelId(productModel.getId());
                 qualityInspect.setBatchNo(productOrder.getBatchNo());
                 qualityInspect.setManufacturingTeam(productOrder.getManufacturingTeam());
+                qualityInspect.setProductionDate(pwo.getActualStartTime() != null ? pwo.getActualStartTime() : LocalDate.now());
                 qualityInspectMapper.insert(qualityInspect);
                 List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
                 if (qualityTestStandard.size() > 0) {
@@ -286,9 +288,8 @@
                 }
             } else {
                 //鐩存帴鍏ュ簱
-                String customer = "闀挎不甯傝酱鎵垮埗閫犳湁闄愬叕鍙�";
                 stockUtils.addStock(productProcessRouteItem.getProductModelId(), productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty()),
-                        StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId(),order.getBatchNo(),customer,null
+                        StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId(), order.getBatchNo(), customer, pwo.getActualStartTime() != null ? pwo.getActualStartTime() : LocalDate.now()
                 );
             }
             /*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
@@ -335,7 +336,8 @@
         //濡傛灉鎶ュ簾鏁伴噺>0,闇�瑕佽繘鍏ユ姤搴熺殑搴撳瓨
         if (ObjectUtils.isNotEmpty(dto.getScrapQty())) {
             if (dto.getScrapQty().compareTo(BigDecimal.ZERO) > 0) {
-                stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId());
+                stockUtils.addUnStock(productModel.getId(), dto.getScrapQty(), StockInUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode(), productionProductMain.getId(),
+                        order.getBatchNo(), customer, pwo.getActualStartTime() != null ? pwo.getActualStartTime() : LocalDate.now());
             }
         }
         return true;

--
Gitblit v1.9.3