java volatile 使用场景:JAVA-工作流引擎-activiti-Tasks-userTask动态绑定用户或用户组
java volatile 使用场景:JAVA-工作流引擎-activiti-Tasks-userTask动态绑定用户或用户组第四步:上传流程文件(如果有不懂的请参考 JAVA-工作流引擎-activiti-Tasks-userTask例子) repositoryService.createDeployment() .name("用户任务流程Name").key("用户任务流程KEY").category("") .addClasspathResource("processes/用户任务流程.bpmn").deploy(); System.out.println("流程文件上传完毕"); 第五步:单元测试@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = OrderFlowApp.class) public class UserTaskTest2 { @Autowired RepositoryService reposit
今天的分享是工作流引擎-userTask动态绑定用户组,有不清楚流程的请看本主的前面文章(JAVA-工作流引擎-activiti-Tasks-userTask例子)。
第一步:新建一个工程,就不在累述
第二步:在资源文件中新增流程文件-用户任务流程.bpmn
第三步:对流程文件进行编辑,流程节点中设置执行人用户组(用变量标识)
第四步:上传流程文件(如果有不懂的请参考 JAVA-工作流引擎-activiti-Tasks-userTask例子)
repositoryService.createDeployment() .name("用户任务流程Name").key("用户任务流程KEY").category("") .addClasspathResource("processes/用户任务流程.bpmn").deploy(); System.out.println("流程文件上传完毕");
第五步:单元测试
@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = OrderFlowApp.class) public class UserTaskTest2 { @Autowired RepositoryService repositoryService; @Autowired RuntimeService runtimeService; @Autowired TaskService taskService; @Test public void test(){ repositoryService.createDeployment() .name("用户任务流程Name").key("用户任务流程KEY").category("") .addClasspathResource("processes/用户任务流程.bpmn").deploy(); System.out.println("流程文件上传完毕"); //启动流程boos runtimeService.startProcessInstanceByKey("用户任务流程P"); //启动流程leader runtimeService.startProcessInstanceByKey("用户任务流程P"); //获取所有tasklist List<Task> list0 = taskService.createTaskQuery().processDefinitionKey("用户任务流程P").list(); //任务节点移动到下个节点 int i=0; //这个走老板审批 Map<String Object> variables = new HashMap<String Object>(); variables.put("userGroup" "boos"); //这个走组长审批 Map<String Object> variablesLeader = new HashMap<String Object>(); variablesLeader.put("userGroup" "leader"); for(Task task:list0){ System.out.println("id=" task.getId()); System.out.println("name=" task.getName()); System.out.println("assinee=" task.getAssignee()); System.out.println("createTime=" task.getCreateTime()); System.out.println("executionId=" task.getExecutionId()); if(i==0){ taskService.complete(task.getId() variables); }else{ taskService.complete(task.getId() variablesLeader); } i ; } //走老板审批的任务列表 List<Task> list1 = taskService.createTaskQuery().processDefinitionKey("用户任务流程P").taskCandidateGroup("boos").list(); for(Task task:list1){ System.out.println("id=" task.getId()); System.out.println("name=" task.getName()); System.out.println("assinee=" task.getAssignee()); System.out.println("createTime=" task.getCreateTime()); System.out.println("executionId=" task.getExecutionId()); } }
注:这里动态用户组设置和动态用户设置,是一样的,请自行研究,如有不懂请私信我。最重要的是请大家关注,谢谢!