activiti中查询我发起的进行中,已通过,已拒绝,和已取消的任务个数是怎么样去写的
2条回答 默认 最新
- MarkHan_ 2023-02-28 12:50关注
该回答引用GPTᴼᴾᴱᴺᴬᴵ
可以通过查询历史数据和运行时数据来实现查询我发起的进行中、已通过、已拒绝和已取消的任务个数。查询我发起的任务:
- 通过TaskService.createTaskQuery()方法创建任务查询对象;
- 调用TaskQuery.taskCandidateOrAssigned(userId)方法,查询指定用户ID发起的任务。
查询进行中的任务:
- 通过TaskService.createTaskQuery()方法创建任务查询对象;
- 调用TaskQuery.taskCandidateOrAssigned(userId)方法,查询指定用户ID参与的任务;
- 调用TaskQuery.active()方法,查询任务状态为进行中的任务
查询已通过的任务:
- 通过TaskService.createHistoricTaskInstanceQuery()方法创建历史任务查询对象;
- 调用HistoricTaskInstanceQuery.taskAssignee(userId)方法,查询指定用户ID参与的任务;
- 调用HistoricTaskInstanceQuery.finished()方法,查询已完成的历史任务。
查询已拒绝的任务:
- 通过TaskService.createHistoricTaskInstanceQuery()方法创建历史任务查询对象;
- 调用HistoricTaskInstanceQuery.taskAssignee(userId)方法,查询指定用户ID参与的任务;
- 调用HistoricTaskInstanceQuery.taskDeleteReasonLike("Rejected")方法,查询被拒绝的历史任务。
查询已取消的任务:
- 通过TaskService.createHistoricTaskInstanceQuery()方法创建历史任务查询对象;
- 调用HistoricTaskInstanceQuery.taskAssignee(userId)方法,查询指定用户ID参与的任务;
- 调用HistoricTaskInstanceQuery.taskDeleteReasonLike("Cancelled")方法,查询被取消的历史任务。
需要注意的是,在查询历史任务时,如果需要查询完成的任务,必须使用finished()方法,如果不调用该方法,则查询到的是所有历史任务。在查询已拒绝和已取消任务时,可以通过taskDeleteReasonLike()方法指定删除原因的匹配字符串,查询匹配的历史任务。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用