ZPY博客

Activiti7中获取任务所在的节点id

在之前的文章中,我们可以获取到指定节点id下的所有任务,那么如果我们通过一个taskId取到该任务后,是否能得到该任务所在的节点id呢?

答案是肯定的,我们可以通过historyService.createHistoricActivityInstanceQuery()里指定processInstanceId和activityName(这里就是taskName,因为任务名和节点名是一样的)来获得所在节点对象,再获取id即可。这种方法肯定可以,但是我们没有必要这么麻烦,因为activiti中封装好的Task对象中就已经有了节点id这个字段,只不过光看名字是不容易发现的,它的名字是TaskDefinitionKey,点到源码中看到注释可以发现它就是节点id

The id of the activity in the process defining this task or null if this is not related to a process

OK,所以我们需要取Task对象中的TaskDefinitionKey属性就行了。