首页 > 其他 > 详细

04启动流程实例,任务的查询与完成

时间:2019-12-26 00:10:46      阅读:98      评论:0      收藏:0      [点我收藏+]

一、启动流程实例:根据流程KEY启动(常用,可在启动时带入流程数据)

在绘制流程图时可以指定流程的NAME和KEY。
首先要获取到RuntimeService,使用该对象来完成流程的启动:
    @Test
    public void startProcess() {
        RuntimeService runtimeService = processEngine.getRuntimeService();
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("LeaveBill");
        System.out.println("流程启动成功,流程实例ID为:"+processInstance.getId());
    }
流程启动之后,即可以进行任务的查询。

最常用的两种流程实例的启动方式(都是使用流程key启动):

1、runtimeService.startProcessInstanceByKey(key,businesskey,vars);
key:流程key
businesskey:业务表ID,例如请假表,包含了请假人,起止时间等。
vars:流程变量
2、runtimeService.startProcessInstanceByKey(key,businesskey);

二、任务的查询(根据流程办理人查询)

2.1提示:

在activiti中的任何查询都分三块:①条件查询②排序查询③结果集
    //任务查询
    @Test
    public void findTask() {
        TaskService taskService = processEngine.getTaskService();
        Task task = taskService.createTaskQuery().taskAssignee("张三").singleResult();
        System.out.println("张三的任务ID:"+task.getId());
    }

三、完成任务(完成任务时可以带入流程变量)

//完成任务
    @Test
    public void doTask() {
        TaskService taskService = processEngine.getTaskService();
        taskService.complete("2504");
    }

四、判断流程是否结束

应用场景:例如请假表中有一个审批状态,需要判断流程是否结束来改变请假审批的状态,可改变状态是审批中、通过或者未通过。
判断方法:
1、已知流程实例ID,通过流程实例ID在流程实例表中查出实例不为空,则流程未结束。
2、已知的是任务ID,根据任务ID查询实例ID,在按照第一个方法进行查询。

04启动流程实例,任务的查询与完成

原文:https://www.cnblogs.com/Guorisy/p/12099234.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!