From ac2e2b5af3726ee64dc37c3ebf26989a0346f22a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 07 十一月 2026 19:16:05 +0800
Subject: [PATCH] feat(feedback): 优化报工审批流程并增加报工人校验

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java |   36 ++++++++++++++++--------------------
 1 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
index f424a17..edb6cca 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
@@ -146,21 +146,14 @@
             // 2.1 闇�瑕佹楠岋紝杩涘叆寰呰川妫�
             arrivalNoticeMapper.updateById(new MesWmArrivalNoticeDO()
                     .setId(id).setStatus(MesWmArrivalNoticeStatusEnum.PENDING_QC.getStatus()));
-            // 2.2 涓洪渶瑕佽川妫�鐨勮鑷姩鍒涘缓 IQC 妫�楠屽崟
+            // 2.2 妫�楠屽崟鍒涘缓澶辫触鏃跺洖婊氭彁浜わ紝閬垮厤鍗曟嵁鍋滅暀鍦ㄦ棤娉曞鐞嗙殑寰呰川妫�鐘舵��
             for (MesWmArrivalNoticeLineDO line : lines) {
                 if (Boolean.TRUE.equals(line.getIqcCheckFlag()) && line.getIqcId() == null) {
-                    try {
-                        Long iqcId = iqcService.createIqcFromArrivalNotice(
-                                id, line, notice.getCode(), notice.getVendorId());
-                        // 鏇存柊琛屼笂鐨� iqcId
-                        arrivalNoticeLineService.updateArrivalNoticeLineIqcId(line.getId(), iqcId);
-                        log.info("[submitArrivalNotice][鍒拌揣閫氱煡鍗�({}) 琛�({}) 鑷姩鍒涘缓 IQC 妫�楠屽崟({})]",
-                                id, line.getId(), iqcId);
-                    } catch (Exception e) {
-                        log.warn("[submitArrivalNotice][鍒拌揣閫氱煡鍗�({}) 琛�({}) 鍒涘缓 IQC 澶辫触: {}]",
-                                id, line.getId(), e.getMessage());
-                        // 缁х画澶勭悊鍏朵粬琛岋紝涓嶄腑鏂祦绋�
-                    }
+                    Long iqcId = iqcService.createIqcFromArrivalNotice(
+                            id, line, notice.getCode(), notice.getVendorId());
+                    arrivalNoticeLineService.updateArrivalNoticeLineIqcId(line.getId(), iqcId);
+                    log.info("[submitArrivalNotice][鍒拌揣閫氱煡鍗�({}) 琛�({}) 鑷姩鍒涘缓 IQC 妫�楠屽崟({})]",
+                            id, line.getId(), iqcId);
                 }
             }
             return;
@@ -192,16 +185,19 @@
             return;
         }
 
-        // 3.2 鍒ゆ柇鏄惁鎵�鏈夐渶妫�琛岄兘鍙互鍏ュ簱锛堝悎鏍兼垨鐗归噰锛�
-        boolean hasNonInbound = CollectionUtils.anyMatch(lines,
-                line -> Boolean.TRUE.equals(line.getIqcCheckFlag())
-                        && !MesQcCheckResultEnum.canInbound(line.getIqcCheckResult()));
-        if (hasNonInbound) {
-            log.info("[updateArrivalNoticeWhenIqcFinish][鍒拌揣閫氱煡鍗�({}) 瀛樺湪涓嶅彲鍏ュ簱鐨勮锛堥��璐�/鎶ュ簾锛夛紝鐘舵�佷繚鎸佸緟璐ㄦ]", id);
+        // 3.2 鍒ゆ柇鏄惁杩樻湁鍙叆搴撶殑琛岋紙鏈惎鐢ㄦ潵鏂欐楠岀殑琛屾寜鍒拌揣鏁伴噺鍏ュ簱锛涙楠岃椤诲悎鏍兼垨鐗归噰锛�
+        boolean hasInbound = CollectionUtils.anyMatch(lines,
+                line -> !Boolean.TRUE.equals(line.getIqcCheckFlag())
+                        || MesQcCheckResultEnum.canInbound(line.getIqcCheckResult()));
+        if (!hasInbound) {
+            // 鎵�鏈夋楠岃鍧囦负閫�璐�/鎶ュ簾锛屾棤鍙叆搴撴暟閲忥紝鐩存帴缁撴潫鍒拌揣閫氱煡鍗曪紝閬垮厤鍋滅暀鍦ㄥ緟璐ㄦ
+            log.info("[updateArrivalNoticeWhenIqcFinish][鍒拌揣閫氱煡鍗�({}) 鍏ㄩ儴妫�楠岃涓嶅彲鍏ュ簱锛堥��璐�/鎶ュ簾锛夛紝鐩存帴瀹屾垚]", id);
+            arrivalNoticeMapper.updateById(new MesWmArrivalNoticeDO()
+                    .setId(id).setStatus(MesWmArrivalNoticeStatusEnum.FINISHED.getStatus()));
             return;
         }
 
-        // 3.3 鎵�鏈夎妫�楠屽畬鎴愪笖鍙叆搴擄紝鏇存柊涓昏〃鐘舵�� PENDING_QC 鈫� PENDING_RECEIPT
+        // 3.3 鎵�鏈夎妫�楠屽畬鎴愶紝鏇存柊涓昏〃鐘舵�� PENDING_QC 鈫� PENDING_RECEIPT锛堜笉鍙叆搴撶殑琛屽湪鐢熸垚鍏ュ簱鍗曟椂杩囨护锛�
         arrivalNoticeMapper.updateById(new MesWmArrivalNoticeDO()
                 .setId(id).setStatus(MesWmArrivalNoticeStatusEnum.PENDING_RECEIPT.getStatus()));
     }

--
Gitblit v1.9.3