From 566058f4f874741adfbef92868afa05386c457fa Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 02 四月 2026 09:51:17 +0800
Subject: [PATCH] fix: 报工不合格数量不能大于本次报工数量

---
 src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
index 22695ae..c3fcb00 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
@@ -206,10 +206,14 @@
         BigDecimal totalQty = productOrder.getQuantity() == null ? BigDecimal.ZERO : productOrder.getQuantity();
         //  鍓╀綑鍙姤宸ユ暟閲�
         BigDecimal remainQty = totalQty.subtract(completeQty);
-        //  鏈鎶ュ伐鍚堟牸鏁伴噺涓嶈兘瓒呰繃鍓╀綑鏁伴噺锛堟牎楠屽繀椤诲湪绱姞鍓嶆墽琛岋級
+        //  鏈鎶ュ伐鍚堟牸鏁伴噺涓嶈兘瓒呰繃鍓╀綑鏁伴噺
         if (qualifiedQty.compareTo(remainQty) > 0) {
             throw new ServiceException("鎶ュ伐澶辫触锛屾湰娆℃姤宸ユ暟閲忎笉鑳藉ぇ浜庡墿浣欏彲鎶ュ伐鏁伴噺锛屽墿浣欐姤宸ユ暟閲�:[" + remainQty + "]");
         }
+        //  鏈鎶ュ伐涓嶅悎鏍兼暟閲忎笉鑳借秴杩囨湰娆℃姤宸ユ暟閲�
+        if (dto.getUnqualifiedQuantity() != null && dto.getUnqualifiedQuantity().compareTo(dto.getQuantity()) > 0) {
+            throw new ServiceException("鎶ュ伐澶辫触锛屾湰娆℃姤宸ヤ笉鍚堟牸鏁伴噺涓嶈兘澶т簬鎶ュ伐鏁伴噺锛屾姤宸ユ暟閲�:[" + dto.getQuantity() + "]");
+        }
         //  鍘嗗彶宸插畬鎴� + 鏈鍚堟牸鏁伴噺
         BigDecimal newCompleteQty = completeQty.add(qualifiedQty);
         productOrder.setCompleteQuantity(newCompleteQty);

--
Gitblit v1.9.3