数据库,有个act_hi_actinst表,该表存放了流程实例的所有activity。查找相应API,得到有如下方法:
historyService.createHistoricActivityInstanceQuery()// .processInstanceId(hvi.getProcessInstanceId())// .unfinished()//未完成的活动(任务) .singleResult();
如果查找结果为null,则该流程实例已经走完,如果不为空,则查出来的activity 就是流程实例的下一环节。到此,流程状态(流程下一步环节)顺利找到。
HistoricActivityInstance hai=historyService.createHistoricActivityInstanceQuery()// .processInstanceId(hvi.getProcessInstanceId())// .unfinished() .singleResult(); if(hai!=null){ map.put("piState", hai.getActivityName());// 流程状态 }else{ map.put("piState", "完结");// 流程状态 }