From 3f79a955b3865779340c0667cc5b55b968f16efa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=88=90?= <2847920761@qq.com> Date: Fri, 29 Aug 2025 22:37:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 1 + .../listener/WorkflowGlobalListener.java | 42 +++++++++---------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml index 158d4279..037c026e 100644 --- a/xinnengyuan/ruoyi-admin/src/main/resources/application.yml +++ b/xinnengyuan/ruoyi-admin/src/main/resources/application.yml @@ -126,6 +126,7 @@ security: - /facility/matrix/** - /**/changxie/callback/** - /gps/equipment/dataAcceptance + - /resource/oss/upload # 多租户配置 tenant: diff --git a/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 9c324f43..542a82e5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -137,27 +137,27 @@ public class WorkflowGlobalListener implements GlobalListener { if (flowTask.getNodeCode().equals(applyNodeCode)) { flowTask.setPermissionList(List.of(instance.getCreateBy())); } -// String nodeCode = flowTask.getNodeCode(); -// // 查询节点信息 -// FlowNode byNodeCode = flwTaskService.getByNodeCode(nodeCode, definition.getId()); -// // 获取原来的办理人信息 -// List originalPermissionList = flowTask.getPermissionList(); -// log.info("节点 {} 原来的办理人信息: {}", nodeCode, originalPermissionList); -// String permissionFlag = byNodeCode.getPermissionFlag(); -// try { -// if (permissionFlag.contains("role")) { -// permissionFlag = permissionFlag.replace("@@", ","); -// -// String flowCode = definition.getFlowCode(); -// String projectId = flowCode.split("_")[0]; -// -// List userDTOS = flwTaskAssigneeService.fetchUsersByStorageIds(permissionFlag, Long.valueOf(projectId)); -// -// flowTask.setPermissionList(userDTOS.stream().map(UserDTO::getUserId).map(String::valueOf).collect(Collectors.toList())); -// } -// } catch (Exception e) { -// log.error("设置失败: {}", e.getMessage()); -// } + String nodeCode = flowTask.getNodeCode(); + // 查询节点信息 + FlowNode byNodeCode = flwTaskService.getByNodeCode(nodeCode, definition.getId()); + // 获取原来的办理人信息 + List originalPermissionList = flowTask.getPermissionList(); + log.info("节点 {} 原来的办理人信息: {}", nodeCode, originalPermissionList); + String permissionFlag = byNodeCode.getPermissionFlag(); + try { + if (permissionFlag.contains("role")) { + permissionFlag = permissionFlag.replace("@@", ","); + + String flowCode = definition.getFlowCode(); + String projectId = flowCode.split("_")[0]; + + List userDTOS = flwTaskAssigneeService.fetchUsersByStorageIds(permissionFlag, Long.valueOf(projectId)); + + flowTask.setPermissionList(userDTOS.stream().map(UserDTO::getUserId).map(String::valueOf).collect(Collectors.toList())); + } + } catch (Exception e) { + log.error("设置失败: {}", e.getMessage()); + } } }