不相关的网站做单项链接可以吗友情链接购买
一、绘制流程图
排他网关用于对流程中的决策建模。当执行到这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件为true的顺序流继续流程。例如员工请假时,小于等于3天由组长审批,大于3天由总监审批。流程案例:
绘制如下流程图,图中的X就是排他网关。
点击排他网关上面的线,指定条件天数小于等于3。
下面的线条件天数大于3天。
给员工申请一个固定值(zhangsan),组长审批 = lisi,总监审批 = wangwu,人事审批 = zhaoliu。这样绘制完成。
导出并复制到项目中
二、部署
@Testvoid contextLoads() {DeploymentBuilder deployment = repositoryService.createDeployment();deployment.addClasspathResource("process01/HolidayDemo3.bpmn20.xml");deployment.name("排他网关案例");Deployment deploy = deployment.deploy();System.out.println("deploy.getId() = " + deploy.getId());}
三、启动
/*** 发起流程*/@Testpublic void startProcess() {String id = "HolidayDemo3:1:0138306c-2b8c-11ef-903b-644ed7087863";// 根据流程定义ID启动流程ProcessInstance processInstance = runtimeService.startProcessInstanceById(id);}
使用张三进行申请并指定请假的天数。
/*** 根据用户查询待办信息*/@Testpublic void findFlow() {List<Task> list = taskService.createTaskQuery().taskAssignee("zhangsan").list();// 绑定请假的天数Map<String, Object> map = new HashMap<>();map.put("day", 2);// 根据id进行审批for (Task task : list) {taskService.complete(task.getId(), map);}}
查看任务进度,因为天数小于3天所以任务进度到达了组长审批。
依次使用lisi、zhaoliu进行审批,任务完成。