From 1dfdc3b0611211feba0570ec6d8cfad078c37135 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期三, 26 八月 2026 15:13:28 +0800
Subject: [PATCH] feat 功能修正

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
index ad02742..efc1adf 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
@@ -225,6 +225,20 @@
         if (ObjUtil.notEqual(workOrder.getStatus(), MesProWorkOrderStatusEnum.CONFIRMED.getStatus())) {
             throw exception(PRO_WORK_ORDER_NOT_CONFIRMED);
         }
+        if (workOrder.getQuantityProduced() == null
+                || workOrder.getQuantity() == null
+                || workOrder.getQuantityProduced().compareTo(workOrder.getQuantity()) < 0) {
+            throw exception(PRO_WORK_ORDER_PRODUCTION_NOT_COMPLETE);
+        }
+        // 鏍¢獙姣忎釜浠诲姟鐨勫疄闄呬骇鍑烘槸鍚﹀凡杈炬垚璁″垝鏁伴噺锛堜换鍔$姸鎬佸彧鏈夊湪宸ュ崟瀹屾垚鏃剁敱绾ц仈鏂规硶缃负宸插畬鎴愶紝涓嶈兘鍦ㄦ鏍¢獙鐘舵�侊級
+        List<MesProTaskDO> tasks = taskService.getTaskListByWorkOrderIds(Collections.singletonList(id));
+        boolean hasUnfinishedTask = CollUtil.isEmpty(tasks) || tasks.stream().anyMatch(task ->
+                task.getProducedQuantity() == null
+                        || task.getQuantity() == null
+                        || task.getProducedQuantity().compareTo(task.getQuantity()) < 0);
+        if (hasUnfinishedTask) {
+            throw exception(PRO_WORK_ORDER_PRODUCTION_NOT_COMPLETE);
+        }
 
         // 2. 绾ц仈瀹屾垚鎵�鏈夊叧鑱斾换鍔�
         taskService.finishTaskByOrderId(id);

--
Gitblit v1.9.3