From f7b8a02843673c19e21b275d1c54e2a778bfedd4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 08 四月 2026 11:05:41 +0800
Subject: [PATCH] 相同产品型号的生产订单批号需要唯一

---
 src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index 5b3df50..f4609eb 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -161,6 +161,15 @@
 
     @Override
     public Boolean addProductOrder(ProductOrder productOrder) {
+        // 妫�鏌ョ浉鍚屼骇鍝佸瀷鍙峰拰鎵瑰彿鏄惁宸插瓨鍦�
+        if (productOrder.getProductModelId() != null && productOrder.getBatchNo() != null) {
+            LambdaQueryWrapper<ProductOrder> queryWrapper = Wrappers.<ProductOrder>lambdaQuery()
+                    .eq(ProductOrder::getProductModelId, productOrder.getProductModelId())
+                    .eq(ProductOrder::getBatchNo, productOrder.getBatchNo());
+            if (this.count(queryWrapper) > 0) {
+                throw new RuntimeException("鐩稿悓浜у搧鍨嬪彿鍜屾壒鍙风殑鐢熶骇璁㈠崟宸插瓨鍦�");
+            }
+        }
         String string = generateNextOrderNo(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
         productOrder.setNpsNo(string);
         productOrder.setCompleteQuantity(BigDecimal.ZERO);

--
Gitblit v1.9.3