各种状态的任务查询以及和业务对象关联

http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html
我们目前分为4中状态:未签收、办理中、运行中、已完成。查询到任务或者流程实例后要显示在页面,这个时候需要添加业务数据,最终结果就是业务和流程的并集,请参考6.2。5.1 未签收(Task)
此类任务针对于把Task分配给一个角色时,例如部门领导,因为部门领导角色可以指定多个人所以需要先签收再办理,术语:抢占式
对应的API查询:

5.2 办理中(Task)
此类任务数据类源有两种:
签收后的,5.1中签收后就应该为办理中状态
节点指定的是具体到一个人,而不是角色
对应的API查询:

5.3 运行中(ProcessInstance)
说白了就是没有结束的流程,所有参与过的人都应该可以看到这个实例,但是Activiti的API没有可以通过用户查询的方法,这个只能自己用hack的方式处理了,我目前还没有处理。
从表ACT_RU_EXECUTION中查询数据。
对应的API查询:

5.4 已完成(HistoricProcessInstance)
已经结束的流程实例。
从表ACT_HI_PROCINST中查询数据。

5.5 查询时和业务关联
提示:之前在业务对象添加了PROCESS_INSTANCE_ID字段
思路:现在可以利用这个字段查询了,不管是Task还是ProcessInstance都可以得到流程实例ID,可以根据流程实例ID查询实体然后把流程对象设置到实体的一个属性中由Action或者Controller输出到前台。

代码请参考:https://gist.github.com/2183557