/** * 获取任务列表 * * @param execId * @return */ public List<Task> listTaskByExecId(String execId) { List<Task> taskList = taskService.createTaskQuery().executionId(execId) .list(); return taskList; }
public Result deleteCurrentTaskInstance(String taskId, HistoricTaskInstance taskInstance) { //删除正在执行的任务 //删除HistoricTaskInstance String sql_task = "delete from " + managementService.getTableName(HistoricTaskInstance.class) + " where " + "ID_='" + taskId + "' or ID_='" + taskInstance.getId() + "'"; this.executeSql(sql_task); //删除HistoricActivityInstance String sql_activity = "delete from " + managementService.getTableName(HistoricActivityInstance.class) + " where " + "TASK_ID_='" + taskId + "' or TASK_ID_='" + taskInstance.getId() + "'"; this.executeSql(sql_activity); //获取当前的任务,保存签收人 Task task = taskService.createTaskQuery().executionId(taskInstance.getExecutionId()).singleResult(); task.setAssignee(taskInstance.getAssignee()); task.setOwner(taskInstance.getOwner()); taskService.saveTask(task); //解决HistoricActivityInstance的Assignee为空的现象 if (!StrUtil.isEmpty(taskInstance.getAssignee())) { String sql_update = "update " + managementService.getTableName(HistoricActivityInstance.class) + " set " + "ASSIGNEE_='" + taskInstance.getAssignee() + "' where TASK_ID_='" + task.getId() + "'"; this.executeSql(sql_update); } String sql_update_execution = "update " + managementService.getTableName(Execution.class) + " set " + "ACT_ID_='" + taskInstance.getTaskDefinitionKey() + "' where ID_='" + taskInstance.getExecutionId() + "'"; this.executeSql(sql_update_execution); return new Result(true); }
@Override public List<BpmTask> getTaskData(String taskExecutionId, String taskName, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() //.notSuspended() .taskName(taskName) .executionId(taskExecutionId) .taskAssignee(user.getLogin()) .listPage(0, 1); if (tasks.isEmpty()) { log.warning("Task " + taskExecutionId + " not found"); return null; } List<BpmTask> bpmTasks = findProcessInstancesForTasks(tasks, ctx); return bpmTasks; }
private WorkflowTask getTaskForTimer(Job job, ProcessInstance processInstance, Execution jobExecution) { if (job instanceof TimerEntity) { ReadOnlyProcessDefinition def = activitiUtil.getDeployedProcessDefinition(processInstance.getProcessDefinitionId()); List<String> activeActivityIds = runtimeService.getActiveActivityIds(jobExecution.getId()); if(activeActivityIds.size() == 1) { PvmActivity targetActivity = def.findActivity(activeActivityIds.get(0)); if(targetActivity != null) { // Only get tasks of active activity is a user-task String activityType = (String) targetActivity.getProperty(ActivitiConstants.NODE_TYPE); if(ActivitiConstants.USER_TASK_NODE_TYPE.equals(activityType)) { Task task = taskService.createTaskQuery().executionId(job.getExecutionId()).singleResult(); return typeConverter.convert(task); } } } } return null; }
private WorkflowTask getTaskForTimer(Job job, ProcessInstance processInstance, Execution jobExecution) { if (job instanceof TimerEntity) { ReadOnlyProcessDefinition def = activitiUtil.getDeployedProcessDefinition(processInstance.getProcessDefinitionId()); List<String> activeActivityIds = runtimeService.getActiveActivityIds(jobExecution.getId()); if(activeActivityIds.size() == 1) { PvmActivity targetActivity = def.findActivity(activeActivityIds.get(0)); if(targetActivity != null) { // Only get tasks of active activity is a user-task String activityType = (String) targetActivity.getProperty(ActivitiConstants.NODE_TYPE); if(ActivitiConstants.USER_TASK_NODE_TYPE.equals(activityType)) { Task task = taskService.createTaskQuery().executionId(job.getExecutionId()).singleResult(); return typeConverter.convert(task); } } } } return null; }
List<Task> tasks = taskService.createTaskQuery().executionId(executionId).list(); for (Task task : tasks)
@Override public BpmTask refreshTaskData(BpmTask task, ProcessToolContext ctx) { MutableBpmTask bpmTask = task instanceof MutableBpmTask ? (MutableBpmTask) task : new MutableBpmTask(task); bpmTask.setProcessInstance(getProcessData(task.getProcessInstance().getInternalId(), ctx)); List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() // .notSuspended() .taskName(task.getTaskName()) .executionId(task.getExecutionId()) .taskAssignee(user.getLogin()) .listPage(0, 1); if (tasks.isEmpty()) { log.warning("Task " + task.getExecutionId() + " not found"); bpmTask.setFinished(true); } return bpmTask; }
List<Task> tasks = taskService.createTaskQuery().executionId(executionId).list(); for (Task task : tasks)
List<Task> newTasks = taskService.createTaskQuery().executionId(executionId).list(); for (Task task : newTasks) {
@Test public void testGetStartTaskById() throws Exception { WorkflowTask result = workflowEngine.getTaskById(ActivitiConstants.ENGINE_ID + "$Foo"); assertNull("Should not find any result for fake (but valid) Id.", result); WorkflowPath path = workflowEngine.startWorkflow(workflowDef.getId(), new HashMap<QName, Serializable>()); Task task = taskService.createTaskQuery() .executionId(BPMEngineRegistry.getLocalId(path.getId())) .singleResult(); // A start task should be available for the process instance String startTaskId = ActivitiConstants.START_TASK_PREFIX + task.getProcessInstanceId(); String taskId = createGlobalId(startTaskId); WorkflowTask wfTask = workflowEngine.getTaskById(taskId); assertNotNull(wfTask); assertEquals(createGlobalId(task.getProcessInstanceId()), wfTask.getPath().getId()); }
@Test public void testGetTaskById() throws Exception { try { workflowEngine.getTaskById("Foo"); fail("Should blow up if Id is wrong format!"); } catch(WorkflowException e) { // Do Nothing } WorkflowTask result = workflowEngine.getTaskById(ActivitiConstants.ENGINE_ID + "$Foo"); assertNull("Should not find any result for fake (but valid) Id.", result); WorkflowPath path = workflowEngine.startWorkflow(workflowDef.getId(), new HashMap<QName, Serializable>()); Task task = taskService.createTaskQuery() .executionId(BPMEngineRegistry.getLocalId(path.getId())) .singleResult(); assertNotNull("Task shoudl exist!", task); String taskId = BPMEngineRegistry.createGlobalId(ActivitiConstants.ENGINE_ID, task.getId()); WorkflowTask wfTask = workflowEngine.getTaskById(taskId); assertNotNull(wfTask); }
.executionId(BPMEngineRegistry.getLocalId(path.getId())) .singleResult();
.executionId(BPMEngineRegistry.getLocalId(path.getId())) .singleResult(); assertNotNull("Task should exist!", task);
.executionId(BPMEngineRegistry.getLocalId(path.getId())) .singleResult();
taskQuery.executionId(request.getExecutionId());