[英]Get Process Diagram with Service Task in Activiti
我正在使用Activiti 5.22.0。
我使用Eclispe中的Activiti Designer插件来创建进程。
现在,我想使用服务任务来获取带有当前任务的流程图,并将其保存到数据库中以便以后在Web上显示。
我是Activiti的新手,所以我真的不知道应该如何在Service Task的Java类中编写什么才能获取流程图。
你能帮助我吗? 非常感谢你。
Activiti在org.activiti.image
模块中带有一个Diagram生成器。 使用可以为您的案例使用DefaultDiagramGenerator
。 以下是示例代码,可以帮助您入门。 请注入所需的服务。
/**
* Get Process instance diagram
*/
public InputStream getProcessDiagram(String processInstanceId) {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId).singleResult();
// null check
if (processInstance != null) {
// get process model
BpmnModel model = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
if (model != null && model.getLocationMap().size() > 0) {
ProcessDiagramGenerator generator = new DefaultProcessDiagramGenerator();
return generator.generateDiagram(model, ActivitiConstants.PROCESS_INSTANCE_IMAGE_FORMAT,
runtimeService.getActiveActivityIds(processInstanceId));
}
}
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.