From 0a30f9a5e0d91d157724a7afd89bd9263f35c6d9 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 26 八月 2026 17:05:18 +0800
Subject: [PATCH] feat(mes): 生产任务报工人下拉源调整为工作站人力配置

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java
index 88b79d1..2ca8e14 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java
@@ -124,13 +124,22 @@
         return success(true);
     }
 
-    @PutMapping("/audit")
-    @Operation(summary = "瀹℃牳璁捐椤圭洰锛堝緟瀹℃牳鈫掑緟褰掓。锛�")
+    @PutMapping("/submit-approval")
+    @Operation(summary = "鎻愪氦璁捐椤圭洰瀹℃壒锛堝緟瀹℃牳鈫掑鎵逛腑锛�")
     @Parameter(name = "id", description = "缂栧彿", required = true)
+    @Parameter(name = "processDefinitionKey", description = "娴佺▼瀹氫箟 Key", required = true)
     @PreAuthorize("@ss.hasPermission('mes:pd-project:update')")
-    public CommonResult<Boolean> auditProject(@RequestParam("id") Long id) {
-        projectService.auditProject(id);
+    public CommonResult<Boolean> submitProjectApproval(@RequestParam("id") Long id,
+                                                       @RequestParam("processDefinitionKey") String processDefinitionKey) {
+        projectService.submitProjectApproval(id, processDefinitionKey);
         return success(true);
+    }
+
+    @GetMapping("/approve-process-list")
+    @Operation(summary = "鑾峰緱璁捐椤圭洰瀹℃壒娴佺▼鍒楄〃")
+    @PreAuthorize("@ss.hasPermission('mes:pd-project:update')")
+    public CommonResult<List<Map<String, Object>>> getProjectApproveProcessDefinitionList() {
+        return success(projectService.getProjectApproveProcessDefinitionList());
     }
 
     @PutMapping("/archive")
@@ -151,12 +160,16 @@
         // 1.1 鎵归噺鑾峰彇鍏宠仈鏁版嵁锛堜富璁捐甯� + 瀹℃牳浜猴級
         Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list,
                 project -> Stream.of(project.getChiefDesigner(), project.getReviewer())));
+        // 1.2 鎵归噺鑾峰彇鍚勯」鐩緟瀹℃牳鏂囦欢鏁�
+        Map<Long, Integer> pendingAuditCountMap = projectService.getPendingAuditCountMap(
+                convertSet(list, MesPdProjectDO::getId));
         // 2. 鎷兼帴 VO
         return BeanUtils.toBean(list, MesPdProjectRespVO.class, vo -> {
             MapUtils.findAndThen(userMap, vo.getChiefDesigner(),
                     user -> vo.setChiefDesignerNickname(user.getNickname()));
             MapUtils.findAndThen(userMap, vo.getReviewer(),
                     user -> vo.setReviewerNickname(user.getNickname()));
+            vo.setPendingAuditCount(pendingAuditCountMap.getOrDefault(vo.getId(), 0));
         });
     }
 

--
Gitblit v1.9.3