| | |
| | | return ok; |
| | | } |
| | | |
| | | @Override |
| | | public void getAllTodoTask(String taskName, int pageSize, int pageNum, Result result) { |
| | | TaskQuery taskQuery = taskService.createTaskQuery() |
| | | .active() |
| | | .includeProcessVariables() |
| | | .orderByTaskCreateTime().desc(); |
| | | |
| | | if (StringUtils.isNotBlank(taskName)) { |
| | | taskQuery.processDefinitionNameLike(taskName); |
| | | } |
| | | result.total(taskQuery.count()); |
| | | List<Task> taskList = taskQuery.listPage(pageSize * (pageNum - 1), pageSize); |
| | | List<CustomerTaskVO> vos = new ArrayList<>(); |
| | | for (Task task : taskList) { |
| | | CustomerTaskVO taskVO = new CustomerTaskVO(); |
| | | // 当前流程信息 |
| | | taskVO.setTaskId(task.getId()); |
| | | taskVO.setCreateTime(task.getCreateTime()); |
| | | taskVO.setProcessDefId(task.getProcessDefinitionId()); |
| | | taskVO.setExecutionId(task.getExecutionId()); |
| | | taskVO.setTaskName(task.getName()); |
| | | taskVO.setTaskStatus(TaskStatusEnum.TODO); |
| | | // 流程定义信息 |
| | | ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() |
| | | .processDefinitionId(task.getProcessDefinitionId()) |
| | | .singleResult(); |
| | | taskVO.setDeployId(pd.getDeploymentId()); |
| | | taskVO.setProcessName(pd.getName()); |
| | | taskVO.setProcessInsId(task.getProcessInstanceId()); |
| | | |
| | | // 流程发起人信息 |
| | | HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() |
| | | .processInstanceId(task.getProcessInstanceId()) |
| | | .singleResult(); |
| | | SysUser startUser = sysUserService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId())); |
| | | taskVO.setPromoterId(startUser.getUserId()); |
| | | taskVO.setPromoterName(startUser.getNickName()); |
| | | taskVO.setPromoterUnitName(Objects.nonNull(startUser.getDept()) ? startUser.getDept().getDeptName() : ""); |
| | | taskVO.setPromoterUnitId(Objects.nonNull(startUser.getDept()) ? startUser.getDept().getDeptId() : null); |
| | | // 流程处理人信息 |
| | | List<IdentityLink> identityLinksForTask = taskService.getIdentityLinksForTask(task.getId()); |
| | | for (IdentityLink identityLink : identityLinksForTask) { |
| | | // 绑定的是用户,查出用户姓名、部门 |
| | | if (StringUtils.isNotBlank(identityLink.getUserId())) { |
| | | SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId())); |
| | | if (Objects.nonNull(sysUser)) { |
| | | taskVO.setHandlerId(sysUser.getUserId()); |
| | | if (Objects.nonNull(sysUser.getDept())) { |
| | | taskVO.setHandlerUnitId(sysUser.getDept().getDeptId()); |
| | | taskVO.setHandlerUnitName(sysUser.getDept().getDeptName()); |
| | | } |
| | | taskVO.setHandlerName(sysUser.getNickName()); |
| | | } |
| | | // 绑定的是角色,查出角色名称 |
| | | } else if (StringUtils.isNotBlank(identityLink.getGroupId())) { |
| | | SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId())); |
| | | if (Objects.nonNull(role)) { |
| | | taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId())); |
| | | taskVO.setHandlerUnitName("由拥有角色:【" + role.getRoleName() + "】的人处理"); |
| | | taskVO.setHandlerName("暂未处理"); |
| | | taskVO.setHandlerId(null); |
| | | } |
| | | } |
| | | } |
| | | vos.add(taskVO); |
| | | } |
| | | result.put("taskList", vos); |
| | | } |
| | | |
| | | /** |
| | | * 查询待办任务 |
| | | * |
| | |
| | | * @param pageNum |
| | | * @param result |
| | | */ |
| | | private void getTodoTaskList(String processInsId, String taskName, int pageSize, int pageNum, Result result) { |
| | | public void getTodoTaskList(String processInsId, String taskName, int pageSize, int pageNum, Result result) { |
| | | TaskQuery taskQuery = taskService.createTaskQuery() |
| | | .active() |
| | | .processInstanceId(processInsId) |