Activiti7的了解和使用(二)

Activiti7中的方法:
1.进行部署:√ 
       repositoryService.createDeployment()//创建部署对象
                .addClasspathResource("bpmn/leaveProcessIGateway.bpmn")//需要部署什么资源文件
                .deploy();//进行部署
2.启动流程√ 
       runtimeService.startProcessInstanceByKey("leaveProcessIGateway",params);
3.查询待办任务√ 
       taskService.createTaskQuery().list();
4.执行任务√ 
       taskService.complete(taskId);
5.认领任务√ 
        taskService.claim(taskId,userId);
6.添加批注√ 
        taskService.addComment(taskId,processInstanceId,"允许休假");
7.挂起流程定义
        repositoryService.suspendProcessDefinitionByKey("leaveProcess",true,null);
8.激活流程定义
        repositoryService.activateProcessDefinitionByKey("leaveProcess",true,null);
9.挂起流程实例
    runtimeService.suspendProcessInstanceById(instanceId);
10.激活流程实例
    runtimeService.activateProcessInstanceById(instanceId);
11.获取资源的文件流√ 
        repositoryService.getResourceAsStream();
12.删除流程定义√
    repositoryService.deleteDeployment(deploymentId,true);
13.查询流程定义√ 
     repositoryService.createProcessDefinitionQuery().list();
14.查询流程实例√
    runtimeService.createProcessInstanceQuery().list()
15.查询历史的实例√ 
    historyService.createHistoricTaskInstanceQuery().list()
        
流程定义相关:
    1.查询流程定义
    2.删除流程定义
    3.流程资源文件下载
流程实例相关
    1.流程实例和流程定义的关系(类似==>类和对象的关系)
    2.流程如何和业务进行绑定呢? 需要使用业务标识BusinessKey
       启动流程的时候将业务标识绑定到流程实例中.
               String businessKey = "8001";
               //启动流程
                  ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("leaveProcess",businessKey);
        在任务中取出流程实例ID,查询流程实例对象,通过流程实例对象找到业务标识.
    3.流程定义的挂起和激活
    4.流程实例的挂起和激活
任务分配负责人
    1.固定分配,在流程图中写死.
    2.使用UEL表达式
          在流程图的节点的assignee属性设置占位符${assignee0}
          启动的流程时候,设置流程变量.
          Map<String,Object> params = new HashMap<>();
              params.put("assignee0","熊长青");
              ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("leaveProcessVariable",params);
    3.使用监听器的方式
          写一个类实现TaskListener接口,在接口方法上设置对应的处理人
              在流程图中将监听类的全限定名设置流程图中.
任务候选人
    需要在流程图的Candidate User设置多个候选人.
        查询的时候增加添加,通过候选人进行查询.
        List<Task> taskList = taskService.createTaskQuery()
                .processDefinitionKey("leaveProcessCandidate")
                .taskCandidateUser(userId)//查询候选人
                .list();
    认领任务
    完成任务
流程变量
    除了可以在节点上使用UEL表达式,也可以在连线出写UEL表达式,通过流程变量控制流程走向.
    启动的时候需要将流程变量设置进去.
    1.如果流程图中设置流程变量,但是启动的时候没有传入,报错.
    2.如果条件都不满足,也会报错
    3.如果条件都满足,每条线都会执行.
网关
    1.排他网关
        流程只会走一条线,当多个条件都满足的情况下,只会走序号最小的那条线
    2.并行网关
        流程需要走多个线,多个节点都必须完成之后才能取到下一个节点.
        在连线处添加条件不会进行判断.
    3.包含网关
        可以在里面有条件判断,走满足条件线.如果没有条件,给路径也会走.必须多个路径都执行完才能走到下一个节点.
        多个条件都满足的情况,每条线都会走.

         

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值