Flowable入门系列文章22 - 基本的Flowable概念三

Posted 分享牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flowable入门系列文章22 - 基本的Flowable概念三相关的知识,希望对你有一定的参考价值。

1、声明任务

会计师现在需要主张任务。通过声明任务,该特定用户将成为任务的受让人,并且该任务将从会计组的其他成员的每个任务列表中消失。声明一项任务的方式如下:

taskService.claim(task.getId(), "fozzie");

该任务现在位于声明该任务的用户的个人任务列表中。

 List<Task> tasks = taskService.createTaskQuery().taskAssignee("fozzie").list();

在Flowable Task应用程序中,单击声明按钮将调用相同的操作。该任务现在将移至登录用户的个人任务列表。您还将看到任务的受理人已更改为当前登录的用户。

2、完成任务

会计师现在可以开始编制财务报告。一旦报告完成,他可以完成任务,这意味着完成任务的所有工作。

taskService.complete(task.getId());

对于Flowable引擎,这是流程实例现在可以继续执行的外部信号。任务本身将从运行时数据中删除。遵循任务的单个外出转换,将执行转移到第二个任务(“验证报告”)。现在将使用与第一个任务所描述的相同的机制来分配第二个任务,这个任务将被分配给管理组。

在演示设置中,通过单击任务列表中的完整按钮完成任务。由于Fozzie不是会计师,所以我们需要注销Flowable Task应用程序并以kermit身份登录(谁是经理)。第二个任务现在可以在未分配的任务列表中看到。

3、结束这个过程

验证任务可以以与以前完全相同的方式检索和声明。完成这个第二个任务将把流程执行移到结束事件,结束流程实例。流程实例和所有相关的运行时执行数据将从数据存储中删除。

以编程方式,你也可以验证过程已经结束,使用 historyService。

 HistoryService historyService = processEngine.getHistoryService();
 HistoricProcessInstance historicProcessInstance =
historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult();
System.out.println("Process instance end time: " + historicProcessInstance.getEndTime());

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:

以上是关于Flowable入门系列文章22 - 基本的Flowable概念三的主要内容,如果未能解决你的问题,请参考以下文章

Flowable入门系列文章47 - 电子邮件任务

Flowable入门系列文章23 - 基本的Flowable概念四

Flowable入门系列文章20 - 基本的Flowable概念一

Flowable入门系列文章7 - 基本配置一

Flowable入门系列文章21 - 基本的Flowable概念二

Flowable入门系列文章10 - 基本配置四