From 3edf8c4fc07f9784e2d04ee7a98692bb457749eb Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 26 十月 2026 16:28:10 +0800
Subject: [PATCH] feat(mes): 新增工艺路线完整导入功能并优化相关验证

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
index 1fcd8f1..8ed8807 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
@@ -285,6 +285,12 @@
 
         // 绾ц仈鍙栨秷鍏宠仈鐨勭敓浜у伐鍗曪紙璺熼殢宸ュ崟褰撳墠鐘舵�侊紝涓斾笉璇激鍚堝苟涓嬪彂鐨勫叡浜伐鍗曪級
         if (mps.getWorkOrderId() != null) {
+            // 鏂板閫昏緫锛氳嫢璇ュ伐鍗曟湁鎶ュ伐璁板綍锛屽垯涓嶅厑璁稿彇娑� MPS
+            Long feedbackCount = feedbackMapper.selectCount(MesProFeedbackDO::getWorkOrderId, mps.getWorkOrderId());
+            if (feedbackCount != null && feedbackCount > 0) {
+                throw exception(PRO_MPS_WORK_ORDER_HAS_FEEDBACK);
+            }
+
             // 1. 缁熻璇ュ伐鍗曡澶氬皯鏉� MPS 寮曠敤锛氬悎骞朵笅鍙戠殑澶氭潯 MPS 鍏变韩鍚屼竴涓伐鍗�
             Long refCount = mpsMapper.selectCount(MesProMpsDO::getWorkOrderId, mps.getWorkOrderId());
             if (refCount != null && refCount > 1) {
@@ -342,9 +348,7 @@
 
     @Override
     public PageResult<MesProMpsDO> getMpsPage(MesProMpsPageReqVO pageReqVO) {
-        // 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃
-        List<Long> permittedClientIds = customerApi.getPermittedCustomerIds();
-        return mpsMapper.selectPage(pageReqVO, permittedClientIds);
+        return mpsMapper.selectPage(pageReqVO, (List<Long>) null);
     }
 
     @Override
@@ -536,8 +540,9 @@
         }
         Long routeId = routeProduct.getRouteId();
 
-        // 2. 鏍¢獙宸ヨ壓璺嚎鏄惁鏈夊伐搴�
-        List<MesProRouteProcessDO> routeProcesses = routeProcessService.getRouteProcessListByRouteId(routeId);
+        // 2. 鏍¢獙宸ヨ壓璺嚎鏄惁鏈夊伐搴忥紙鎸変骇鍝佽繃婊ゅ叾瀹冧骇鍝佺殑浜у嚭鐗╂枡锛�
+        List<MesProRouteProcessDO> routeProcesses = routeProcessService
+                .getRouteProcessListByProductId(mps.getProductId());
         if (CollUtil.isEmpty(routeProcesses)) {
             throw exception(PRO_ROUTE_ENABLE_NO_PROCESS);
         }
@@ -577,6 +582,10 @@
                         .map(Long::valueOf).collect(Collectors.toList()));
             }
             process.setColorCode(rp.getColorCode());
+            // 甯﹀叆宸ヨ壓璺嚎浜у搧閰嶇疆鐨勬姤宸ヤ粨搴�
+            process.setWarehouseId(routeProduct.getWarehouseId());
+            process.setLocationId(routeProduct.getLocationId());
+            process.setAreaId(routeProduct.getAreaId());
             // 甯﹀叆宸ュ簭鎶曟枡BOM
             List<MesProRouteProductBomDO> routeBomItems = bomMap != null ? bomMap.get(rp.getProcessId()) : null;
             if (CollUtil.isNotEmpty(routeBomItems)) {
@@ -612,4 +621,4 @@
         }
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3