Nag*_*gyI 2 java bpmn activiti
我正在寻找通过过滤完成日期来查询 Activiti 中已完成任务的解决方案。因为一旦它们完成act_hi_taskinst,BPMN 引擎就会将完成的任务条目移动到表中,我希望所需的过滤器在HistoricTaskInstanceQuery类中。但是没有什么能像startedAfter/startedBefore和finishedAfter/finishedBefore像方法HistoricProcessInstanceQuery。该表具有start_time_和end_time_列,因此没有理由不能进行这种查询。
是否有其他方法可以通过这些属性进行过滤,或者目前解决此问题的唯一方法是act_hi_tasks直接绕过 Activiti 引擎查询表?
Activiti 提供了Query API,不需要act_hi_taskinst直接查询。
您的查询可能看起来像这样
NativeHistoricTaskInstanceQuery taskQuery = historyService.createNativeHistoricTaskInstanceQuery();
taskQuery.sql("SELECT * FROM "+ managementService.getTableName(HistoricTaskInstance.class)+" WHERE start_time_=#{startTime} AND end_time_=#{endTime}");
taskQuery.parameter("startTime", startTime).parameter("endTime", end_time);
List<HistoricTaskInstance> tasks = taskQuery.list();
Run Code Online (Sandbox Code Playgroud)