04-04-2017 08:18 AM
I want to get details of all finished task with the data using process instance id.
how can i?
is this possible to get request data after completed flow of bpm?
04-04-2017 08:57 AM
Hi,
have you tried something like this?:
historyService.createHistoricTaskInstanceQuery()
.finished()
.includeProcessVariables()
.includeTaskLocalVariables()
.processInstanceId(processInstanceId)
.list()
04-05-2017 12:02 AM
Hello Niklas Menke
Greetings,
Thanks for Quick Response..
currently i getting processinstance id for myuser using below code:
List<HistoricProcessInstance> historicProcessInstances = this.historyService.createHistoricProcessInstanceQuery().finished().startedBy(userid).list();
for(int i=0;i<historicProcessInstances.size();i++){
List<Task> taskList = this.taskService.createTaskQuery().processInstanceId(historicProcessInstances.get(i).getId()).orderByTaskCreateTime().desc().list();
for(Task task : taskList){
ProcessDefinition processDefinition = this.repositoryService.getProcessDefinition(task.getProcessDefinitionId());
TaskResponse taskResponse = new TaskResponse(task);
}
}
this code is working if task is pending or not complete with change in
List<HistoricProcessInstance> historicProcessInstances = this.historyService.createHistoricProcessInstanceQuery().unfinished().startedBy(userid).list();
i replace my code to you suggest code but for completed task not working in my case to get task response.
in my case i want task response details of that completed task
Is this Possible to get task response after task completed?
Another question i have for related task response.
after task completed the data stored in task response as do in unfinished task?
or
in future i want to get of details earlier task which is already completed.does this data stored in task response at any place which i can get when i required?
Thank you.
04-05-2017 03:25 AM
Hi,
everytime you work with finished tasks or processinstances you have to query the history. So It is the HistoricTaskInstanceResponse you would need. In the history are all variables, all tasks and all process instances stored. For both, running and completed instances and tasks.
for(int i=0;i<historicProcessInstances.size();i++){
List<HistoricTaskInstance> taskList = this.historyService.createHistoricTaskInstanceQuery().processInstanceId(historicProcessInstances.get(i).getId()).orderByTaskCreateTime().desc().list();
for(HistoricTaskInstance task : taskList){
ProcessDefinition processDefinition = this.repositoryService.getProcessDefinition(task.getProcessDefinitionId());
HistoricTaskInstanceRespone taskResponse = new TaskResponse();
taskResponse.setId(task.getId());
...
...
}
}
But if you are working with rest why don't you just use following call to get the historic tasks?
GET history/historic-task-instances
Hope this helps,
Niklas
04-05-2017 02:27 AM
Hi jigar Prajapati ,
I want to get details of all finished task with the data using process instance id.
What kind of data do you want to retrieve from completed tasks? If possible, could you please describe your business use case more?
Anyway, Activiti provide History features which allow you to retrieve completed tasks details. Please have a look at the documentation.
- REST API for HistoricDetail: Activiti User Guide
- Java: Activiti User Guide
Hope this helps
Thong
04-05-2017 03:51 AM
Hello and
I use your code to get details of that task/request which is completed.
but unfortunately my further process is to get details of task using process instance id.
i think when workflow completed the task response for that process id will deleted
and currently i want to get task response of completed task.
your code retrieve the information for historicalinsstance but in further i use that historical instance id to get task details using taskservice when task is completed .
here is following screenshot of my localhost with postman
in above screen shot i use above method which i discussed earlier in reply
the data is in proper manner as string for my output
i retrieve this info using taskservice and processinsatnce id
if task is completed (ended) then retrieve me null task
else retrieve me data of that task.
Thank you.
Explore our Alfresco products with the links below. Use labels to filter content by product module.