如何获取有关当前部署的流程的信息,以在Activiti中显示自定义流程图

时间:2012-12-04 10:51:08

标签: activiti bpmn

我们正在使用Activiti来模拟spring-mvc环境中的流程。

我想生成整个过程的自定义概述,包括过程的当前位置。

Activiti提供了使用

生成png的可能性
ProcessDiagramGenerator.generatePngDiagram

请参阅documentation

但是我想在html页面中创建流程的自定义呈现。为此,我需要有关该过程的信息。

这使得这么困难的原因是我只想显示特定用户的用户任务并为多个进程执行此操作。有些人错过了一些步骤。

我知道如何获取当前活动的任务,但我对用户在此过程中遇到的所有可能任务更感兴趣。

有谁知道如何获得,例如部署到引擎的进程的特定用户的所有用户任务列表?

1 个答案:

答案 0 :(得分:2)

如果您想要用户可以使用的任务列表:

List<Task> userCandidateTasks = taskService.createTaskQuery().taskCandidateUser(username).list();

或分配给该用户的任务:

List<Task> userAssignedTasks = taskService.createTaskQuery().taskAssignee(username).list();


然后,如果您希望这些显示在图表上,您可以获得所需任务的ID(例如,您可以合并用户是候选人和受让人的任务),然后您只需将ID列表传递给方法:

InputStream imageStream = ProcessDiagramGenerator.generateDiagram(processDefinition, "png", tasksIdList);