如果你已经对activiti有一定的了解,那使用排他网关做简单的判断肯定没有问题,但是本人在做项目时,遇到了多条件判断的情况,比如:
一个步骤的执行人有多个,当执行人为a或者b时,走主管审批,当执行人为c或者d时,走经理审批,如图所示:
此时,我们可以用contains表示包含关系,如下:
条件1的表达式:${assignee.contains(“c”)||assignee.contains(“d”)}
条件2的表达式:${assignee.contains(“a”)||assignee.contains(“b”)}
Map<String, String> variables = new HashMap<>();
//这里assignee传a,b或者a或者b或者a,b,e都会走条件2,主管审批
variables.put("assignee","a,b");
taskService.complete(taskId, variables);