From 880caee0e3d9a239a60f4df4acf3c35adafb55d5 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期六, 25 四月 2026 15:43:21 +0800
Subject: [PATCH] 如果不良数量是空,则置零

---
 src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index eecafea..79ae988 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -113,6 +113,9 @@
         // 璐ㄦ鎬绘暟
         BigDecimal quantity = qualityInspect.getQuantity();
         // 鍚堟牸鏁伴噺 = 璐ㄦ鎬绘暟 - 涓嶈壇鏁伴噺
+        if (ObjectUtils.isNull(qualityInspect.getDefectiveQuantity())) {
+            qualityInspect.setDefectiveQuantity(BigDecimal.ZERO);
+        }
         BigDecimal productQty = quantity.subtract(qualityInspect.getDefectiveQuantity());
         // 鍚堟牸鐜�=鍚堟牸鏁伴噺/璐ㄦ鎬绘暟
         BigDecimal productQtyRate = productQty.divide(quantity, 2, RoundingMode.HALF_UP)
@@ -124,15 +127,20 @@
             if (productQtyRate.compareTo(productProcess.getQualifiedRate()) < 0) {
                 // 鏌ヨ鐢熶骇璁㈠崟
                 ProductionProductMain productionProductMain = productionProductMainMapper.selectById(qualityInspect.getProductMainId());
-                ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
-                ProductOrder productOrder = productOrderMapper.selectOne(new LambdaQueryWrapper<ProductOrder>().eq(ProductOrder::getId, productWorkOrder.getProductOrderId()));
-                if (!ObjectUtils.isNull(productOrder)) {
-                    // 鍙戦�侀�氱煡缁欑鐞嗗憳
-                    sysNoticeService.simpleNoticeByUser("璐ㄦ鎻愮ず",
-                            String.format("%s鐢熶骇璁㈠崟锛�%s宸ュ簭鍚堟牸鐜�%.2f%%浣庝簬鏍囧噯%.2f%%", productOrder.getNpsNo(), productProcess.getName(), productQtyRate, productProcess.getQualifiedRate()),
-                            Arrays.asList(Long.valueOf(1L)),
-                            qualityInspect.getInspectType() == 2 ? "/qualityManagement/finalInspection" : "/qualityManagement/processInspection");
+                if (!ObjectUtils.isNull(productionProductMain)) {
+                    ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(productionProductMain.getWorkOrderId());
+                    if (!ObjectUtils.isNull(productWorkOrder)) {
+                        ProductOrder productOrder = productOrderMapper.selectOne(new LambdaQueryWrapper<ProductOrder>().eq(ProductOrder::getId, productWorkOrder.getProductOrderId()));
+                        if (!ObjectUtils.isNull(productOrder)) {
+                            // 鍙戦�侀�氱煡缁欑鐞嗗憳
+                            sysNoticeService.simpleNoticeByUser("璐ㄦ鎻愮ず",
+                                    String.format("%s鐢熶骇璁㈠崟锛�%s宸ュ簭鍚堟牸鐜�%.2f%%浣庝簬鏍囧噯%.2f%%", productOrder.getNpsNo(), productProcess.getName(), productQtyRate, productProcess.getQualifiedRate()),
+                                    Arrays.asList(Long.valueOf(1L)),
+                                    qualityInspect.getInspectType() == 2 ? "/qualityManagement/finalInspection" : "/qualityManagement/processInspection");
+                        }
+                    }
                 }
+
             }
         }
 

--
Gitblit v1.9.3