mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	update 调整获取下一节点,增加用户分页查询参数
This commit is contained in:
		@@ -103,6 +103,11 @@ public class SysUserBo extends BaseEntity {
 | 
			
		||||
     */
 | 
			
		||||
    private Long roleId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 用户ID
 | 
			
		||||
     */
 | 
			
		||||
    private String userIds;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 排除不查询的用户(工作流用)
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -16,10 +16,17 @@ import java.util.List;
 | 
			
		||||
public interface ISysUserService {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据条件分页查询用户列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param user      用户信息
 | 
			
		||||
     * @param pageQuery 发呢也
 | 
			
		||||
     * @return 用户信息
 | 
			
		||||
     */
 | 
			
		||||
    TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据条件分页查询用户列表
 | 
			
		||||
     * 导出用户列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param user 用户信息
 | 
			
		||||
     * @return 用户信息集合信息
 | 
			
		||||
@@ -29,7 +36,8 @@ public interface ISysUserService {
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据条件分页查询已分配用户角色列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param user 用户信息
 | 
			
		||||
     * @param user      用户信息
 | 
			
		||||
     * @param pageQuery 分页
 | 
			
		||||
     * @return 用户信息集合信息
 | 
			
		||||
     */
 | 
			
		||||
    TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery);
 | 
			
		||||
@@ -37,7 +45,8 @@ public interface ISysUserService {
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据条件分页查询未分配用户角色列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param user 用户信息
 | 
			
		||||
     * @param user      用户信息
 | 
			
		||||
     * @param pageQuery 分页
 | 
			
		||||
     * @return 用户信息集合信息
 | 
			
		||||
     */
 | 
			
		||||
    TableDataInfo<SysUserVo> selectUnallocatedList(SysUserBo user, PageQuery pageQuery);
 | 
			
		||||
 
 | 
			
		||||
@@ -79,6 +79,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
			
		||||
        QueryWrapper<SysUser> 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())
 | 
			
		||||
 
 | 
			
		||||
@@ -518,24 +518,22 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
 | 
			
		||||
        Definition definition = defService.getById(task.getDefinitionId());
 | 
			
		||||
        //获取下一节点列表
 | 
			
		||||
        List<Node> nextNodeList = nodeService.getNextNodeList(task.getDefinitionId(), task.getNodeCode(), null, SkipType.PASS.getKey(), variables);
 | 
			
		||||
        List<FlowNode> nextFlowNodes = BeanUtil.copyToList(nextNodeList, FlowNode.class);
 | 
			
		||||
        if (CollUtil.isNotEmpty(nextNodeList)) {
 | 
			
		||||
            //构建以下节点数据
 | 
			
		||||
            List<Task> buildTaskList = StreamUtils.toList(nextNodeList, node -> taskService.addTask(node, instance, definition, null));
 | 
			
		||||
            List<Task> 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<UserDTO> users = flwTaskAssigneeService.fetchUsersByStorageId(flowNode.getPermissionFlag());
 | 
			
		||||
                    if (CollUtil.isNotEmpty(users)) {
 | 
			
		||||
                        flowNode.setPermissionFlag(StreamUtils.join(users, e -> String.valueOf(e.getUserId())));
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            List<FlowNode> 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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user