activiti,根據任務節點id判斷該節點是否爲會籤節點

具體實現代碼如下所示:

/**
	* @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;
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章