/**
* @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的管理对象