java中获取flowable流程图配置中的完成条件表达式的方法
如获取以下完成条件表达式
在这里插入图片描述

话不多说 直接上代码

    public String getCompletionCondition(Task task) {
        // 1.获取流程模型信息
        BpmnModel bpmnModel = bpmModelService.getBpmnModelByDefinitionId(task.getProcessDefinitionId());
        // 2.获取当前任务节点元素
        UserTask userTask = (UserTask)getFlowElementById(bpmnModel, task.getTaskDefinitionKey());
        // 3.获取多实例完成条件的表达式字符串
        MultiInstanceLoopCharacteristics loopCharacteristics = userTask.getLoopCharacteristics();
        if (Objects.nonNull(loopCharacteristics)){
            //获取表达式 如或签 ${ nrOfCompletedInstances== 1 }
            String completionCondition = loopCharacteristics.getCompletionCondition();
            return completionCondition;
        }
        return null;
    }

    /**
     * 获取流程元素信息
     *
     * @param model         bpmnModel 对象
     * @param flowElementId 元素 ID
     * @return 元素信息
     */
    public FlowElement getFlowElementById(BpmnModel model, String flowElementId) {
        Process process = model.getMainProcess();
        return process.getFlowElement(flowElementId);
    }
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐