在 Activiti 中查询任务开始和结束日期

Nag*_*gyI 2 java bpmn activiti

我正在寻找通过过滤完成日期来查询 Activiti 中已完成任务的解决方案。因为一旦它们完成act_hi_taskinst,BPMN 引擎就会将完成的任务条目移动到表中,我希望所需的过滤器在HistoricTaskInstanceQuery类中。但是没有什么能像startedAfter/startedBeforefinishedAfter/finishedBefore像方法HistoricProcessInstanceQuery。该表具有start_time_end_time_列,因此没有理由不能进行这种查询。

是否有其他方法可以通过这些属性进行过滤,或者目前解决此问题的唯一方法是act_hi_tasks直接绕过 Activiti 引擎查询表?

ATM*_*MTA 5

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)