/**
* @param task 任務節點id
* @return boolean (這里用一句話描述返回結果說明)
* @Title: isMultiInstance 是否為多實例節點
* @Description: 是否為多實例節點
*/
private boolean isMultiInstance(TaskEntity task) { // 獲取流程定義id boolean flag = false; String processDefinitionId = task.getProcessDefinitionId(); Process process = ProcessDefinitionUtil.getProcess(processDefinitionId); FlowElement flowElement = process.getFlowElement(task.getTaskDefinitionKey()); // 根據活動id獲取活動實例 if (flowElement instanceof UserTask) { UserTask userTask = (UserTask) flowElement; if (userTask.getBehavior() instanceof ParallelMultiInstanceBehavior) { ParallelMultiInstanceBehavior behavior = (ParallelMultiInstanceBehavior) userTask.getBehavior(); if (behavior != null && behavior.getCollectionExpression() != null) { flag = true; } } } return flag; }
當前的TaskEntity在命令模式中使用上下文commandcontext對象可以獲取task的管理對象