按执行顺序列出给定进程的所有任务
List all the tasks for a given Process in the order of execution
这是一个基本功能,我看到重复的问题,但不幸的是还没有明确的答案。
我如何print/list给定进程中的所有任务(已完成/未完成)按顺序执行。
我在论坛上找到的两个解决方案都按预期工作
repositoryService.getBpmnModel().getFlowElements() - Does not print in the order of execution . Printed in the order of definition
historyService.createHistoricActivityQuery - Does not print all Service task
如何只列出给定进程下的所有任务。
您可以创建一个TaskQuery
import org.camunda.bpm.engine.ProcessEngine;
...
@Autowired
private ProcessEngine processEngine;
private List<Task> getAllTaskByProcessId(string processInstanceId){
return processEngine.getTaskService()
.createTaskQuery()
.processInstanceId(processInstanceId)
.list();
}
如果任务是指流程中的所有元素,那么您可以使用 HistoricActivityInstanceQuery
获取有关它们的信息。
代码看起来像这样:
List<HistoricActivityInstance> activityInstances = historyService
.createHistoricActivityInstanceQuery().
.processInstanceId(processInstanceId)
.orderByHistoricActivityInstanceStartTime().asc()
.list();
为了查看 HistoricActivityInstance
是否完成,您需要检查 HistoricActivityInstance#getEndTime()
。如果是null
表示activity没有完成,如果是null
表示完成
这是一个基本功能,我看到重复的问题,但不幸的是还没有明确的答案。
我如何print/list给定进程中的所有任务(已完成/未完成)按顺序执行。
我在论坛上找到的两个解决方案都按预期工作
repositoryService.getBpmnModel().getFlowElements() - Does not print in the order of execution . Printed in the order of definition
historyService.createHistoricActivityQuery - Does not print all Service task
如何只列出给定进程下的所有任务。
您可以创建一个TaskQuery
import org.camunda.bpm.engine.ProcessEngine;
...
@Autowired
private ProcessEngine processEngine;
private List<Task> getAllTaskByProcessId(string processInstanceId){
return processEngine.getTaskService()
.createTaskQuery()
.processInstanceId(processInstanceId)
.list();
}
如果任务是指流程中的所有元素,那么您可以使用 HistoricActivityInstanceQuery
获取有关它们的信息。
代码看起来像这样:
List<HistoricActivityInstance> activityInstances = historyService
.createHistoricActivityInstanceQuery().
.processInstanceId(processInstanceId)
.orderByHistoricActivityInstanceStartTime().asc()
.list();
为了查看 HistoricActivityInstance
是否完成,您需要检查 HistoricActivityInstance#getEndTime()
。如果是null
表示activity没有完成,如果是null
表示完成