具體實現代碼如下所示:
/**
* @Title: isMultiInstance
* @Description: TODO(根據任務節點id判斷該節點是否爲會籤節點)
* @param taskId 任務節點id
* @return
* @return boolean (這裏用一句話描述返回結果說明)
*/
public boolean isMultiInstance(String taskId) {
boolean flag = false;
Task task=processEngine.getTaskService().createTaskQuery() // 創建任務查詢
.taskId(taskId) // 根據任務id查詢
.singleResult();
if(task != null){
// 獲取流程定義id
String processDefinitionId=task.getProcessDefinitionId();
ProcessDefinitionEntity processDefinitionEntity=(ProcessDefinitionEntity) processEngine.getRepositoryService()
.getProcessDefinition(processDefinitionId);
// 根據活動id獲取活動實例
ActivityImpl activityImpl=processDefinitionEntity.findActivity(task.getTaskDefinitionKey());
if(((ActivityImpl) activityImpl).getActivityBehavior() instanceof ParallelMultiInstanceBehavior){
ParallelMultiInstanceBehavior behavior = (ParallelMultiInstanceBehavior)activityImpl.getActivityBehavior();
if(behavior != null && behavior.getCollectionExpression() != null){
flag = true;
}
}
}
return flag;
}