From 15eb08c065649744cfaa5142a072863e89bb439d Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Tue, 4 Mar 2025 21:51:16 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=B8=8B=E4=B8=80=E8=8A=82=E7=82=B9=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/domain/bo/SysUserBo.java | 5 +++++ .../system/service/ISysUserService.java | 15 ++++++++++--- .../service/impl/SysUserServiceImpl.java | 1 + .../service/impl/FlwTaskServiceImpl.java | 22 +++++++++---------- 4 files changed, 28 insertions(+), 15 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java index 2669a8179..1472d2428 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java @@ -103,6 +103,11 @@ public class SysUserBo extends BaseEntity { */ private Long roleId; + /** + * 用户ID + */ + private String userIds; + /** * 排除不查询的用户(工作流用) */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index 0325a2558..1fe554547 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -16,10 +16,17 @@ import java.util.List; public interface ISysUserService { + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @param pageQuery 发呢也 + * @return 用户信息 + */ TableDataInfo selectPageUserList(SysUserBo user, PageQuery pageQuery); /** - * 根据条件分页查询用户列表 + * 导出用户列表 * * @param user 用户信息 * @return 用户信息集合信息 @@ -29,7 +36,8 @@ public interface ISysUserService { /** * 根据条件分页查询已分配用户角色列表 * - * @param user 用户信息 + * @param user 用户信息 + * @param pageQuery 分页 * @return 用户信息集合信息 */ TableDataInfo selectAllocatedList(SysUserBo user, PageQuery pageQuery); @@ -37,7 +45,8 @@ public interface ISysUserService { /** * 根据条件分页查询未分配用户角色列表 * - * @param user 用户信息 + * @param user 用户信息 + * @param pageQuery 分页 * @return 用户信息集合信息 */ TableDataInfo selectUnallocatedList(SysUserBo user, PageQuery pageQuery); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 40811707b..cecd7f56f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -79,6 +79,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { QueryWrapper wrapper = Wrappers.query(); wrapper.eq("u.del_flag", SystemConstants.NORMAL) .eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId()) + .in(StringUtils.isNotBlank(user.getUserIds()), "u.user_id", StringUtils.splitTo(user.getUserIds(), Convert::toLong)) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 21e6d1946..08574f627 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -518,24 +518,22 @@ public class FlwTaskServiceImpl implements IFlwTaskService { Definition definition = defService.getById(task.getDefinitionId()); //获取下一节点列表 List nextNodeList = nodeService.getNextNodeList(task.getDefinitionId(), task.getNodeCode(), null, SkipType.PASS.getKey(), variables); + List nextFlowNodes = BeanUtil.copyToList(nextNodeList, FlowNode.class); if (CollUtil.isNotEmpty(nextNodeList)) { //构建以下节点数据 - List buildTaskList = StreamUtils.toList(nextNodeList, node -> taskService.addTask(node, instance, definition, null)); + List buildNextTaskList = StreamUtils.toList(nextNodeList, node -> taskService.addTask(node, instance, definition, null)); //办理人变量替换 - ExpressionUtil.evalVariable(buildTaskList, MapUtil.mergeAll(instance.getVariableMap(), variables)); - for (Node nextNode : nextNodeList) { - buildTaskList.stream().filter(t -> t.getNodeCode().equals(nextNode.getNodeCode())).findFirst().ifPresent(t -> { - nextNode.setPermissionFlag(StringUtils.join(t.getPermissionList(), StringUtils.SEPARATOR)); + ExpressionUtil.evalVariable(buildNextTaskList, MapUtil.mergeAll(instance.getVariableMap(), variables)); + for (FlowNode flowNode : nextFlowNodes) { + buildNextTaskList.stream().filter(t -> t.getNodeCode().equals(flowNode.getNodeCode())).findFirst().ifPresent(t -> { + List users = flwTaskAssigneeService.fetchUsersByStorageId(flowNode.getPermissionFlag()); + if (CollUtil.isNotEmpty(users)) { + flowNode.setPermissionFlag(StreamUtils.join(users, e -> String.valueOf(e.getUserId()))); + } }); } - List flowNodes = BeanUtil.copyToList(nextNodeList, FlowNode.class); - for (FlowNode flowNode : flowNodes) { - if (StringUtils.isNotBlank(flowNode.getPermissionFlag())) { - flwTaskAssigneeService.fetchUsersByStorageId(flowNode.getPermissionFlag()); - } - } } - return BeanUtil.copyToList(nextNodeList, FlowNode.class); + return nextFlowNodes; } /**