protected void completeProcessInstanceTasks(String processInstanceId) { List<Task> tasks; do { tasks = taskService.createTaskQuery().processInstanceId(processInstanceId).list(); tasks.forEach(this::completeTask); } while (!tasks.isEmpty()); } }
/** * 审批驳回请假申请 * @param taskId * @return */ @RequestMapping("/leaveApplication/reject") public String reject(@RequestParam String taskId) { Map<String, Object> variables = new HashMap<>(); variables.put("approved", false); taskService.complete(taskId, variables); return "reject"; }
/** * 请假申请人的待办 * @return */ @RequestMapping("/leaveApplication/assignee") public String assignee() { List<Task> tasks = taskService.createTaskQuery().taskCandidateOrAssigned("godcheese").list(); if(tasks != null) { LOGGER.info("你有{}个待办", tasks.size()); for (int i = 0; i < tasks.size(); i++) { Map<String, Object> processVariables = taskService.getVariables(tasks.get(i).getId()); LOGGER.info("待办{}:taskId={},{}, 员工:{},想要请假{}天", i, tasks.get(i).getId(), tasks.get(i).getName(), processVariables.get("assignee"), processVariables.get("day")); } } return "assignee"; }
@RequestMapping(value = "/rest/tasks", method = RequestMethod.POST) public TaskRepresentation createNewTask(@RequestBody CreateTaskRepresentation taskRepresentation, HttpServletRequest request) { if (StringUtils.isEmpty(taskRepresentation.getName())) { throw new BadRequestException("Task name is required"); } TaskEntity task = (TaskEntity) taskService.newTask(); task.setName(taskRepresentation.getName()); task.setDescription(taskRepresentation.getDescription()); task.setParentTaskId(taskRepresentation.getParentTaskId()); if (StringUtils.isNotEmpty(taskRepresentation.getCategory())) { task.setCategory(taskRepresentation.getCategory()); } task.setAssignee(taskRepresentation.getAssignee() != null ? taskRepresentation.getAssignee() : SecurityUtils.getCurrentUserId()); taskService.saveTask(task); return new TaskRepresentation(taskService.createTaskQuery().taskId(task.getId()).singleResult()); }
@Override public String getTaskVariables(String taskId) { TaskService taskService = getProcessEngine().getTaskService(); Map<String, Object> processVariables = taskService.getVariables(taskId); String json = GsonHelper.GSON.toJson(processVariables); return json; }
protected void filterUsersInvolvedInTask(String excludeTaskId, List<? extends User> matchingUsers) { Set<String> involvedUsers = getInvolvedUsersAsSet(taskService.getIdentityLinksForTask(excludeTaskId)); removeinvolvedUsers(matchingUsers, involvedUsers); }
@Transactional @Override public List<Task> getTasks(String assignee) { return taskService.createTaskQuery().taskAssignee(assignee).list(); } }
/** * 经理组 审批待办列表 * @return */ @RequestMapping("/leaveApplication/managers/taskList") public String managersTaskList() { TaskService taskService = processEngine.getTaskService(); List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("managers").list(); if(tasks != null) { LOGGER.info("你有{}个待办", tasks.size()); for (int i = 0; i < tasks.size(); i++) { Map<String, Object> processVariables = taskService.getVariables(tasks.get(i).getId()); LOGGER.info("待办{}:taskId={},{}, 员工:{},想要请假{}天", i, tasks.get(i).getId(), tasks.get(i).getName(),processVariables.get("assignee"), processVariables.get("day")); } } return "taskList"; }
/** * 审批通过请假申请 * @param taskId * @return */ @RequestMapping("/leaveApplication/approve") public String approve(@RequestParam String taskId) { Map<String, Object> variables = new HashMap<>(); variables.put("approved", true); taskService.complete(taskId, variables); return "approve"; }
@Override public String getTasks() { List<TaskData> tasksData = new ArrayList<>(); TaskService taskService = getProcessEngine().getTaskService(); List<Task> tasks = taskService.createTaskQuery().list(); for (Task task : tasks) { TaskData taskData = new TaskData(); BeanUtils.copyProperties(task, taskData); tasksData.add(taskData); } String json = GsonHelper.GSON.toJson(tasksData); return json; }
protected void completeTask(Task task) { taskService.complete(task.getId()); }
@Override public void taskIsUncompleted(final String processInstanceId, final String taskDefinitionKey) { // Assert the process is not completed getAssertFactory().getProcessInstanceAssertable(callback).processIsActive(processInstanceId); // Assert a task exists callback.trace(LogMessage.TASK_4, taskDefinitionKey, processInstanceId); final List<Task> tasks = getTaskService().createTaskQuery().processInstanceId(processInstanceId).taskDefinitionKey(taskDefinitionKey).active().list(); Assert.assertThat(tasks, is(notNullValue())); Assert.assertThat(tasks.isEmpty(), is(false)); }
@Override public void completeTask(String taskId, String variables) { TaskService taskService = getProcessEngine().getTaskService(); Map<String, Object> processVariables = GsonHelper.GSON.fromJson(variables, HashMap.class); taskService.complete(taskId, processVariables); }
@Override public void taskIsUncompleted(final String taskId) { // Assert a task exists callback.trace(LogMessage.TASK_3, taskId); final Task task = getTaskService().createTaskQuery().taskId(taskId).active().singleResult(); Assert.assertThat(task, is(notNullValue())); // Assert the process is not completed getAssertFactory().getProcessInstanceAssertable(callback).processIsActive(task.getProcessInstanceId()); }
public ContentItemRepresentation createContentItemOnTask(String taskId, MultipartFile file) { User user = SecurityUtils.getCurrentUserObject(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); if (task == null) { throw new NotFoundException("Task not found or already completed: " + taskId); } if (!permissionService.canAddRelatedContentToTask(user, taskId)) { throw new NotPermittedException("You are not allowed to read the task with id: " + taskId); } return uploadFile(user, file, taskId, task.getProcessInstanceId(), null); }
public ContentItemRepresentation createContentItemOnTask(String taskId, ContentItemRepresentation contentItem) { User user = SecurityUtils.getCurrentUserObject(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); if (task == null) { throw new NotFoundException("Task not found or already completed: " + taskId); } if (!permissionService.canAddRelatedContentToTask(user, taskId)) { throw new NotPermittedException("You are not allowed to read the task with id: " + taskId); } return addContentItem(contentItem, taskId, task.getProcessInstanceId(), true); }
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
metrics.put("openTaskCount", processEngine.getTaskService().createTaskQuery().count()); metrics.put("completedTaskCount", processEngine.getHistoryService().createHistoricTaskInstanceQuery().finished().count());