[英]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.