码迷,mamicode.com
首页 > 其他好文 > 详细

003 流程实例

时间:2019-02-15 01:22:04      阅读:192      评论:0      收藏:0      [点我收藏+]

标签: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的定义之中的结束时间已经完成,在最后一条记录之中也进入了流程表之中,但是没有结束时间.

我们不断的重复上面的流程,最后整个流程就被完成了.此时运行时的流程定义就已经完成.

 

 

 

  

003 流程实例

标签:system   没有   com   最新版   art   image   star   mamicode   核心   

原文地址:https://www.cnblogs.com/trekxu/p/10381308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!