zoukankan      html  css  js  c++  java
  • activiti6+springboot2 的第二个简单demo

    上一节提到动态设置流程中的用户,请看流程图所示:

     这里设置的就是 ${user1} ,第一个用户

    演示代码:

     @RequestMapping("single_assignee")
        public void setSingleAssignee() {
            //根据bpmn文件部署流程
            repositoryService.createDeployment().addClasspathResource("processes/single_assignee.bpmn").deploy();
            // 设置User Task1受理人变量
            Map<String, Object> variables = new HashMap<>(8);
            variables.put("user1", "007");
            //采用key来启动流程定义并设置流程变量,返回流程实例
            ProcessInstance pi = runtimeService.startProcessInstanceByKey("single_assignee", variables);
            String processId = pi.getId();
            System.out.println("流程创建成功,当前流程实例ID:"+processId);
            // 注意 这里需要拿007来查询,key-value需要拿value来获取任务
            List<Task> list = taskService.createTaskQuery().taskAssignee("007").list();
            if(list!=null && list.size()>0){
                for(org.activiti.engine.task.Task task:list){
                    System.out.println("任务ID:"+task.getId());
                    System.out.println("任务的办理人:"+task.getAssignee());
                    System.out.println("任务名称:"+task.getName());
                    System.out.println("任务的创建时间:"+task.getCreateTime());
                    System.out.println("流程实例ID:"+task.getProcessInstanceId());
                    System.out.println("##################################");
                }
            }
            // 设置User Task2的受理人变量
            Map<String, Object> variables1 = new HashMap<>(8);
            variables1.put("user2", "Kevin");
            // 因为007只有一个代办的任务,直接完成任务,并赋值下一个节点的受理人user2为Kevin办理
            taskService.complete(list.get(0).getId(), variables1);
            System.out.println("User Task1被完成了,此时流程已流转到User Task2");
    }

    访问:http://localhost:8080/activti/single_assignee

  • 相关阅读:
    在Centos 7下编译openwrt+njit-client
    开博随笔
    Chapter 6. Statements
    Chapter 4. Arrays and Pointers
    Chapter 3. Library Types
    Chapter 2.  Variables and Basic Types
    关于stm32不常用的中断,如何添加, 比如timer10 timer11等
    keil 报错 expected an identifier
    案例分析 串口的地不要接到电源上 会烧掉
    案例分析 CAN OPEN 调试记录 进度
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11898405.html
Copyright © 2011-2022 走看看