springboot+flowable 使用方式

创建flowble制定流程图

登录flowalbe

在这里插入图片描述

制定流程图

进入建模器应用程序
创建流程图
在这里插入图片描述

分配用户

在这里插入图片描述
在这里插入图片描述

下载流程图

在这里插入图片描述

使用springboot 调用flowable

在这里插入图片描述


    /**
     * 导入流程图老师流程
     */
    @Test
    void startTeacherApprover(){
   
        Deployment deploy = repositoryService.createDeployment()
                .addClasspathResource("process01-基础/老师审批流程.bpmn20.xml")
                .name("teackerApprover02")
                .deploy();
        System.out.println(deploy.getId());
    }
 /**
     * 启动流程
     * 查看是否成功 act_re_task 表
     */
    @Test
    void startRu(){
   
        HashMap<String, Object> map = new HashMap<>();
        map.put("student01","zhangsan");
        map.put("student02","lisi");
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("teacker_approver", map);
        System.out.println(processInstance.getProcessDefinitionId()+"流程定义id");
        System.out.println(processInstance.getId()+"实力id");
    }

    /**
     * 通过候选人查询任务
     * 查询act_id_user
     */
    @Test
    void queryTaskService(){
   
        List<Task> list = taskService.createTaskQuery().processInstanceId("47a4ff8f-ced7-11ee-a74f-30d04231d1ff")
                .taskCandidateUser("lisi")
                .list();
        for (Task task : list) {
   
            System.out.println(task.getId()+"id");
            System.out.println(task.getName()+"名称");
        }
    }

    /**
     * 获取任务的方式
     * 查询 act_re_task
     */
    @Test
    void gainTask(){
   
        Task task = taskService.createTaskQuery().processInstanceId("47a4ff8f-ced7-11ee-a74f-30d04231d1ff")
                .taskCandidateUser("zhangsan")
                .singleResult();
        if (task != null) {
   
            taskService.claim(task.getId(),"zhangsan");
        }
    }

    /**
     * 任务交接
     */
    @Test
    void connectTask(){
   
        Task task = taskService.createTaskQuery()
                .processInstanceId("47a4ff8f-ced7-11ee-a74f-30d04231d1ff")
                .singleResult();
        if (task != null) {
   
            taskService.setAssignee(task.getId(),"lisi");
        }
    }

    /**
     * 完成任务
     */
    @Test
    void accomplish(){
   
        Task task = taskService.createTaskQuery()
                .processInstanceId("47a4ff8f-ced7-11ee-a74f-30d04231d1ff")
                .singleResult();
        if (task != null) {
   
            HashMap<String, Object> map = new HashMap<>();
            map.put("teacher01","lilaoshi");
            map.put("teacher02","wanglaoshi");
            taskService.complete(task.getId(),map);
        }
    }

    /**
     * 候选人比较多可以放到一个组中方便维护
     */
    @Test
    void createUser(){
   
        User user = null;
        for (int i = 0; i < 3; i++) {
   
             user= identityService.newUser("student" + i);
             user.setFirstName(i+"");
             user.setEmail(i+"qq.com");
             identityService.saveUser(user);
        }
    }

    /**
     * 创建研发组信息
     * 查询 act_id_group
     */
    @Test
    void createGroup(){
   
        Group group1 = identityService.newGroup("group1");
        group1.setName("研发部");
        group1.setType("1");
        identityService.saveGroup(group1);
    }

    /**
     * 分配用户到用户组
     * 查询 act_id_member
     */
    @Test
    void allocationUser(){
   
        Group group1 = identityService.createGroupQuery().groupId("group1").singleResult();
        List<User> list = identityService.createUserQuery().list();
        for (User user : list) {
   
            identityService.createMembership(user.getId(),group1.getId());
        }
    }

flowable 组件

RepositoryService

负责流程图 从flowable ui 导入到 mysql中

RuntimeService

启动开始任务

TaskService

操作流程实力信息

相关推荐

  1. synchronized的使用方式

    2024-02-22 07:28:01       15 阅读
  2. promise.race方式使用

    2024-02-22 07:28:01       14 阅读
  3. Lua使用方式介绍

    2024-02-22 07:28:01       11 阅读
  4. git概念及使用方式

    2024-02-22 07:28:01       26 阅读
  5. Tomcat使用https方式连接

    2024-02-22 07:28:01       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-22 07:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-22 07:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-22 07:28:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-22 07:28:01       20 阅读

热门阅读

  1. Oracle误删除数据文件恢复---惜分飞

    2024-02-22 07:28:01       31 阅读
  2. 《黑客帝国》让你穿越虚拟世界

    2024-02-22 07:28:01       29 阅读
  3. history of philosophy, i guess (history of all ideas)

    2024-02-22 07:28:01       34 阅读
  4. 自动化开展思路

    2024-02-22 07:28:01       32 阅读
  5. 今日分享个有点瑕疵的自动轮播图

    2024-02-22 07:28:01       26 阅读
  6. IDEA基础快捷键

    2024-02-22 07:28:01       28 阅读
  7. Vue练习5:图片的引入

    2024-02-22 07:28:01       26 阅读
  8. uniapp微信公众号H5分享

    2024-02-22 07:28:01       29 阅读
  9. 【算法】复杂度分析

    2024-02-22 07:28:01       25 阅读
  10. vue中nextTick使用以及原理

    2024-02-22 07:28:01       31 阅读