//所有的審批意見都會存到 ACT_HI_COMMENT 的表中,因此需要如下接口獲取
List<Comment> taskComments = taskService.getTaskComments(taskId);
//完整示例
@Test
public void taskGetComment(){
List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery()
.processInstanceId("d66d9908-9a71-11ea-9906-40e230303674")
.orderByHistoricActivityInstanceStartTime()
.asc()
.list();
List<Map<String,Object>> result=new ArrayList<>(list.size());
System.out.println(list.size());
for (HistoricActivityInstance historicActivityInstance : list) {
Map<String,Object> map=new HashMap<>(5);
String taskId = historicActivityInstance.getTaskId();
List<Comment> taskComments = taskService.getTaskComments(taskId);
System.out.println(taskComments.size());
map.put("activityName",historicActivityInstance.getActivityName());
map.put("activityType",matching(historicActivityInstance.getActivityType()));
map.put("assignee",historicActivityInstance.getAssignee()==null?"無":historicActivityInstance.getAssignee());
map.put("startTime",DateFormatUtils.format(historicActivityInstance.getStartTime(),"yyyy-MM-dd HH:mm:ss") );
map.put("endTime",DateFormatUtils.format(historicActivityInstance.getEndTime(),"yyyy-MM-dd HH:mm:ss"));
map.put("costTime",getDatePoor(historicActivityInstance.getEndTime(),historicActivityInstance.getStartTime()));
if (taskComments.size()>0){
map.put("message",taskComments.get(0).getFullMessage());
}else {
map.put("message","無");
}
result.add(map);
}
System.out.println(JSON.toJSONString(result));
}
private String matching(String ActivityType){
String value="";
switch (ActivityType){
case "startEvent":
value="流程開始";
break;
case "userTask":
value="用戶處理";
break;
case "noneEndEvent":
value="流程結束";
break;
default:
value="未知節點";
break;
}
return value;
}
public String getDatePoor(Date endDate, Date nowDate) {
long nd = 1000 *