工作流flowable

常见工作流框架

SELECT entity.* from ACT_RU_IDENTITYLINK entity
LEFT JOIN ACT_RU_TASK task on entity.TASK_ID_=task.ID_
where task.PROC_INST_ID_ = 'd23f0750-1f2c-11eb-963b-04d4c4aaba78'

Flowable条件表达式、排他网关、并行网关

在这里插入图片描述

1.条件表达式
在这里插入图片描述
使用流程变量,设置连线需要的流程变量名称及条件 i n f o = = ‘ 重 要 ’ , {info==‘重要’}, info=={}中的内容为boolean类型,用于判断是否执行该连线。启动流程实例时,传入对应的流程变量info的值,流程会按照设置的条件进行流转。

2.排他网关
在这里插入图片描述
1) 一个排他网关对应一个以上信息流;
2)由排他网关流出的顺序刘都有个conditionExpression元素(以.xml形式打开),在内部维护返回boolean类型的决策结果;
3)排他网关只会返回一条结果。当刘晨执行到排他网关时,流程引擎会自动检索网关出口,从上到下检索(xml)如果发现第一条决策结果为true或者没有设置条件(默认为成立),则流出;
4)如果没有任何一个出口符合条件,则抛出异常;
5)使用流程变量,设置连线的条件,并按照连线的条件执行工作流,如果没有条件符合的,以默认的连线离开。

3.并行网关
在这里插入图片描述

顾名思义,就是通过这个网关,可以把一个顺序流分成多个顺序流来执行,然后再通过这个网关,把分出来的多条顺序流合并为一个顺序流继续执行。

flowable集成

<dependency>
	<groupId>org.flowable</groupId>
	<artifactId>flowable-spring-boot-starter</artifactId>
	<version>6.4.1</version>
</dependency>
#关闭定时任务JOB
flowable.async-executor-activate=false
#将databaseSchemaUpdate设置为true。当Flowable发现库与数据库表结构不一致时,会自动将数据库表结构升级至新版本。
flowable.database-schema-update=false

flowable常见API及其demo

1.流程图部署

@Test
public void testDeploy() {
   
    Deployment deployment4 = repositoryService.createDeployment().name("borrowing_form.v1").addClasspathResource("bpmn/borrowing_form.v1.bpmn").deploy();
    System.out.println("Deploy successfullly, deployId:" + deployment4.getId() + "; deployName:" + deployment4.getName());
}

2.根据流程定义的key查看流程定义列表

public void testGetAllProcessDefinition(){
   
    ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
    query.processDefinitionKey("reimbursement_form");
    query.orderByProcessDefinitionVersion().desc();
    query.listPage(0, 10);
    List<ProcessDefinition> list = query.list();
    for (ProcessDefinition processDefinition : list) {
   
        System.out.println(processDefinition.getId());
    }
}

3.查询流程定义

public void findProcessDefinition(){
   
   List<ProcessDefinition> list = repositoryService//与流程定义和部署对象相关的Service
            .createProcessDefinitionQuery().latestVersion()//创建一个流程定义查询
            /*指定查询条件,where条件*/
            //.deploymentId(deploymentId)//使用部署对象ID查询
            //.processDefinitionId(processDefinitionId)//使用流程定义ID查询
            //.processDefinitionKey(processDefinitionKey)//使用流程定义的KEY查询
            //.processDefinitionNameLike(processDefinitionNameLike)//使用流程定义的名称模糊查询

            /*排序*/
            //.orderByProcessDefinitionVersion().asc()//按照版本的升序排列
            //.orderByProcessDefinitionName().desc()//按照流程定义的名称降序排列

            .list();//返回一个集合列表,封装流程定义
    //.singleResult();//返回唯一结果集
    //.count();//返回结果集数量
    //.listPage(firstResult, maxResults)//分页查询

    if(list != null && list.size()>0){
   
        for(ProcessDefinition processDefinition:list){
   
            System.out.println("流程定义ID:"+processDefinition.getId());//流程定义的key+版本+随机生成数
            System.out.println("流程定义名称:"+processDefinition.getName());//对应HelloWorld.bpmn文件中的name属性值<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值