通过java代码获取flowable当前任务中会签、或签的完成条件表达式

本文介绍了如何在Java中使用Flowable库获取任务定义中的完成条件表达式,通过BpmnModel、UserTask和MultiInstanceLoopCharacteristics对象进行操作,展示了获取多实例任务完成条件的具体步骤。
摘要由CSDN通过智能技术生成

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);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悬崖边边上的紫藤萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值