springboot+flowable 使用方式

创建flowble制定流程图

登录flowalbe

制定流程图

进入建模器应用程序

创建流程图

分配用户


下载流程图

使用springboot 调用flowable

java 复制代码
    /**
     * 导入流程图老师流程
     */
    @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 小时前
接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测
后端·restful
MyikJ2 小时前
Java求职面试:从Spring到微服务的技术挑战
java·数据库·spring boot·spring cloud·微服务·orm·面试技巧
MyikJ2 小时前
Java 面试实录:从Spring到微服务的技术探讨
java·spring boot·微服务·kafka·spring security·grafana·prometheus
ShiinaMashirol2 小时前
代码随想录打卡|Day50 图论(拓扑排序精讲 、dijkstra(朴素版)精讲 )
java·图论
cui_hao_nan3 小时前
Nacos实战——动态 IP 黑名单过滤
java
惜.己3 小时前
MySql(十一)
java·javascript·数据库
10000hours3 小时前
【存储基础】NUMA架构
java·开发语言·架构
AntBlack3 小时前
计算机视觉 : 端午无事 ,图像处理入门案例一文速通
后端·python·计算机视觉
伍六星3 小时前
动态拼接内容
java·jsp
TeamDev4 小时前
从 SWT Browser 迁移到 JxBrowser
java·前端·eclipse