activiti 6.0.0.4版本判斷當前會簽的UserTask是否為多實例任務



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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM