Activiti之Skip Expression使用
我们在使用Activiti时经常会遇到提交人与审批人是同一个人的问题,这个时候我们就会用到Skip Expression
如以下流程图:A是上级负责人最高审核人 A提交出车单申请,按照业务逻辑A不需要再对自己的出车单审核,流程直接到行政
提交出车单申请:参数图
上级负责人审核:参数图
我们设置Skip expression ${dispatchManPostNo == directorPostNo}来实现 当A发出申请,需要A审核时跳过审核环节。
在创建流程实例是我们需要设置 _ACTIVITI_SKIP_EXPRESSION_ENABLED TRUE 允许有节点跳过
// 先给填写人一个填写未打卡单的任务 Map<String, Object> variables = new HashMap<>(); // 当前登录人岗位号 String currentPostNo = SecurityUtils.getCurrentUserPost(); // 允许后面有节点跳过 variables.put("_ACTIVITI_SKIP_EXPRESSION_ENABLED", true); variables.put("dispatchManPostNo", currentPostNo); ProcessInstance processInstance = commProcessService.startProcessInstanceByKey("dispatch", variables);