Activity判断当前任务实例执行后的下一节点类型

一、业务背景 Activity每次执行任务时,需要预判当前任务实例执行后的,流程会执行到哪个节点,如下图 流程图

审核签约节点执行时格局参数opinion判断下一步骤节点是"提交人节点"还是"结束节点"

审核签约节点,同意路径详情

可以看到审核签约节点执行后"同意"的路径,跳转条件是${opinion==1} 这个条件代码获取时是String类型 再未执行前 需要根据这个条件和用户执行参数预判下一个节点,满足这个跳转条件则指向的节点就是下一步节点 二、获取表达式后如何判断是否满足表达式

JDK的getEngineByName,本例举例了两个demo, 1、是包含参数的表达式计算方法 2、不包含参数,直接计算表达式值


import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

/**
 * Created by sj.yang on 2016/9/22.
 * 字符串表达式计算
 */
public class StrExpressionCalculation {
    public static void paramCalculation() throws ScriptException {
        String str = "(operator == 1)";
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("js");
        engine.put("operator", 1);
        Object result = engine.eval(str);
        System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:" + result);
    }

    public static void noParamCalculation() throws ScriptException {
        String str = "43*(2 + 1.4)+2*32/(3-2.1)";
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("js");
        Object result = engine.eval(str);
        System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:" + result);
    }

    public static void main(String[] args) throws ScriptException {
        paramCalculation();
        noParamCalculation();
    }
}

转载于:https://my.oschina.net/UpBoy/blog/750383

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值