记录一下
UserTaskNodeVO
String taskId;
String taskName;
String assignee;
private List candidateUsers;
private List candidateGroups;
Controller
@GetMapping("/getUserTaskNode")
@ApiOperation(value = "1、获取流程中所有的用户任务节点", httpMethod = "GET", notes = "流程处理完成待办")
public ResponseVo<List<UserTaskNodeVO>> getUserTaskNodeByProcessKey(String processKey) {
if (StringUtils.isEmpty(processKey)) {
throw new BaseException(CoreErrorCode.REQUIRED_PARAM_EMPTY.getCode());
}
return new ResponseVo<>(jbpmProcessinstanceService.getUserTaskNodeByProcessKey(processKey));
}
Service
public List<UserTaskNodeVO> getUserTaskNodeByProcessKey(String processKey) {
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionKey(processKey)
.singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId());
Process process = bpmnModel.getProcesses().get(0);
List<UserTask> list = process.findFlowElementsOfType(UserTask.class);
List<UserTaskNodeVO> userTaskList = list.stream()
.map(obj-> new UserTaskNodeVO(obj.getId(),obj.getName(),obj.getAssignee(),obj.getCandidateUsers(),obj.getCandidateGroups()))
.filter(userTask -> !Constants.NODE_ADJUST.equals(userTask.getTaskId())).collect(Collectors.toList());
return userTaskList;
}