jbpm4.4怎么查询某一个流程实例的所有已完成的(历史)Task列表?
yycdaizi
2012-04-09
jbpm4.4怎么查询某一个流程实例的所有已完成的(历史)Task列表啊?就是已知某一流程实例的id,我想要知道这一流程实例所关联的所有任务。
//先查询到流程实例经过的所有activity List<HistoryActivityInstance> activityList = historyService.createHistoryActivityInstanceQuery() .processInstanceId(processInstanceId).list(); //得到所有的executionId,去掉重复的 Set<String> executionIdSet = new HashSet<String>(); for(HistoryActivityInstance activityInstance:activityList){ executionIdSet.add(activityInstance.getExecutionId()); } //根据所有executionId,得到所有的historyTask List<HistoryTask> taskList = new ArrayList<HistoryTask>(); for(String executionId:executionIdSet){ List<HistoryTask> tasks = historyService.createHistoryTaskQuery() .executionId(executionId).list(); taskList.addAll(tasks); } return taskList;
但是这样感觉很麻烦,还不如自己写hql呢!请教高手,不知道有没有更好的方法? |