2012-12-04 5 views
3

우리는 Spring-mvc 환경에서 프로세스를 모델링하기 위해 Activiti를 사용하고 있습니다.Activiti에서 사용자 정의 프로세스 다이어그램을 표시하기 위해 현재 배포 된 프로세스에 대한 정보를 얻는 방법

프로세스의 현재 위치를 비롯한 전체 프로세스의 사용자 지정 개요를 생성하고 싶습니다.

Activiti 내가 HTML 페이지에 프로세스의 사용자 정의 렌더링을 만들 싶습니다 그러나

ProcessDiagramGenerator.generatePngDiagram 

documentation

참조 사용하여 PNG를 생성 할 수있는 가능성을 제공합니다. 이를 위해서는 그 과정에 대한 정보가 필요합니다.

이렇게 어려운 이유는 특정 사용자의 사용자 작업 만 표시하고 여러 프로세스에 대해이 작업을 수행하기 위해서입니다. 일부는 몇 가지 단계가 빠져 있습니다.

나는 현재 활성화 된 작업을 얻는 방법을 알고 있지만 사용자가 프로세스에서 만날 수있는 모든 가능한 작업에 더 관심이 있습니다.

예를 들어 어떤 방법을 알 수 있습니까? 엔진에 배포 된 프로세스에 대한 특정 사용자의 모든 사용자 작업 목록

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

또는이 사용자에게 할당 된 작업 : 다음

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


당신이 원하는 경우에 당신이 작업 목록을 원하는 경우

답변

2

사용자는 후보 사용할 수있다 다이어그램에 나타나려면 원하는 작업의 ID를 가져올 수 있습니다 (예 : 사용자가 후보와 양수인 모두의 작업을 병합 할 수 있음). 그러면 ID 목록을 메서드에 전달하면됩니다.

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