一、activiti的历史任务是单独的表来储存,表之间没有任何外间关联,这些表包括:
1,ACT_HI_ACTINST 历史流程的运行状况记录
2,ACT_HI_ATTACHMENT
3,ACT_HI_COMMENT 流程评论
4,ACT_HI_DETAIL流程明细
5,ACT_HI_IDENTITYLINK 流程身份关系
6,ACT_HI_PROCINST 历史流程概况
7,ACT_HI_TASKINST 历史任务概况
8,ACT_HI_VARINST 历史流程中的参数
二、historyService服务是用于查询历史数据表,有:
1,historyService.createHistoricActivityInstanceQuery(); //查询ACT_HI_ACTINST表
2,historyService.createHistoricDetailQuery(); //查询ACT_HI_DETAIL表
3,historyService.createHistoricProcessInstanceQuery(); //查询ACT_HI_PROCINST表
4,historyService.createHistoricTaskInstanceQuery(); //查询ACT_HI_TASKINST表
5,historyService.createHistoricVariableInstanceQuery(); //查询ACT_HI_VARINST表
三、历史记录的功能:
1,查询流程是否结束
String id=historyService.createHistoricProcessInstanceQuery()
.finished().singleResult().getId().toString();//finished()查出完成的流程,在数据库中,end_act_id出现值,说明该流程结束。
2,记录流程启动人
1
2
|
//启动流程的时候写入,currentUserId就是当前用户
identityService.setAuthenticatedUserId(currentUserId);
|
ACT_HI_PROINST表会在字段START_USER_ID_写入这个用户的ID,然后执行以下方法可以查询到流程发起人:
1
2
|
HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery().singleResult();
hi.getStartUserId();
|