update 调整获取下一节点,增加用户分页查询参数

This commit is contained in:
gssong 2025-03-04 21:51:16 +08:00
parent 2340556091
commit 15eb08c065
4 changed files with 28 additions and 15 deletions

View File

@ -103,6 +103,11 @@ public class SysUserBo extends BaseEntity {
*/ */
private Long roleId; private Long roleId;
/**
* 用户ID
*/
private String userIds;
/** /**
* 排除不查询的用户(工作流用) * 排除不查询的用户(工作流用)
*/ */

View File

@ -16,10 +16,17 @@ import java.util.List;
public interface ISysUserService { public interface ISysUserService {
/**
* 根据条件分页查询用户列表
*
* @param user 用户信息
* @param pageQuery 发呢也
* @return 用户信息
*/
TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery); TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery);
/** /**
* 根据条件分页查询用户列表 * 导出用户列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
@ -29,7 +36,8 @@ public interface ISysUserService {
/** /**
* 根据条件分页查询已分配用户角色列表 * 根据条件分页查询已分配用户角色列表
* *
* @param user 用户信息 * @param user 用户信息
* @param pageQuery 分页
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery); TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery);
@ -37,7 +45,8 @@ public interface ISysUserService {
/** /**
* 根据条件分页查询未分配用户角色列表 * 根据条件分页查询未分配用户角色列表
* *
* @param user 用户信息 * @param user 用户信息
* @param pageQuery 分页
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
TableDataInfo<SysUserVo> selectUnallocatedList(SysUserBo user, PageQuery pageQuery); TableDataInfo<SysUserVo> selectUnallocatedList(SysUserBo user, PageQuery pageQuery);

View File

@ -79,6 +79,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
QueryWrapper<SysUser> wrapper = Wrappers.query(); QueryWrapper<SysUser> wrapper = Wrappers.query();
wrapper.eq("u.del_flag", SystemConstants.NORMAL) wrapper.eq("u.del_flag", SystemConstants.NORMAL)
.eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId()) .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()) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
.eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
.like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()) .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())

View File

@ -518,24 +518,22 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
Definition definition = defService.getById(task.getDefinitionId()); Definition definition = defService.getById(task.getDefinitionId());
//获取下一节点列表 //获取下一节点列表
List<Node> nextNodeList = nodeService.getNextNodeList(task.getDefinitionId(), task.getNodeCode(), null, SkipType.PASS.getKey(), variables); 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)) { 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)); ExpressionUtil.evalVariable(buildNextTaskList, MapUtil.mergeAll(instance.getVariableMap(), variables));
for (Node nextNode : nextNodeList) { for (FlowNode flowNode : nextFlowNodes) {
buildTaskList.stream().filter(t -> t.getNodeCode().equals(nextNode.getNodeCode())).findFirst().ifPresent(t -> { buildNextTaskList.stream().filter(t -> t.getNodeCode().equals(flowNode.getNodeCode())).findFirst().ifPresent(t -> {
nextNode.setPermissionFlag(StringUtils.join(t.getPermissionList(), StringUtils.SEPARATOR)); 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;
} }
/** /**