标签:system 没有 com 最新版 art image star mamicode 核心
一 .概述
在前面我们部署完成了流程定义,工作流的核心就是创建流程实例,然后不断的推进流程,最终完成整个业务的进展.
二 .开启一个流程实例
// 获取runtimeService对象 RuntimeService runtimeService = ProcessEngines.getDefaultProcessEngine().getRuntimeService(); // 我们一般都按照流程定义的key开启一个新的任务 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("leave"); System.out.println(processInstance.getId());
我们使用RunTimeService对象启动了一个流程实例,核心就是使用流程定义的key来启动一个流程实例,默认情况下就是启动最新版本的流程定义.
我们需要关心运行时流程表.
我们需要关系的字段有proc_inst_id,流程实例的id,另外关系的就是流程定义的id.
三 .查询当前执行的任务
// 获取runtimeService对象 TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService(); // 创建正在执行的任务的查询对象 List<Task> list = taskService.createTaskQuery().taskAssignee("张三").list(); list.forEach(System.out::println);
在之前的流程图之中,我们制定了个人任务的办理人.
因此,我们可以指定张三进行个人任务的查询,在这里我们使用张三的用户完成个人任务的查询.
四 .办理个人任务
TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService(); // 创建正在执行的任务的查询对象 taskService.complete("5004");
我们完成个人任务,就需要调用complete()方法进行,完成个人任务就需要使用任务的id完成.
在活动历史表之中的情况如下:
我们发现5003的定义之中的结束时间已经完成,在最后一条记录之中也进入了流程表之中,但是没有结束时间.
我们不断的重复上面的流程,最后整个流程就被完成了.此时运行时的流程定义就已经完成.
标签:system 没有 com 最新版 art image star mamicode 核心
原文地址:https://www.cnblogs.com/trekxu/p/10381308.html