有没有办法获得没有候选人的流程的所有任务?

Is there any way to obtain all task of a process that have no candidate?

使用 Activiti API 我可以做类似以下的事情:processEngine.getTaskService().createTaskQuery().list() 获取进程的所有任务。

我还可以过滤用户可以成为候选人的所有任务(按组):processEngine.getTaskService().createTaskQuery().taskCandidateGroup("somegroup").list()

想法是将没有候选人的任务用作任何人都可以执行的任务。

如何列出所有没有候选人的任务?

注意:组列表将来可能会更改,那么我无法像 "getting all tasks minus tasks with candidates"

这样的解决方案

最终,所有这些查询都会被 Ibatis 翻译成 SQL,这就是您收到 IllegalArgumentException 的原因。

您有两个选择:

  1. 使用 managementService.executeCustomSql() 方法构建您自己的查询。您可以使用 Ibatis org.activiti.db.mapping.entity.task.xml 映射文件中的标准查询定义。

  2. 通过创建您自己的 Ibatis 映射和相关资源来扩展 Ibatis 映射。

最简单的是选项 1,最正确的是选项 2。

希望这对您有所帮助, 格雷格