业务流程模型注解(Business Process Modeling Notation -
BPMN)是业务流程模型的一种标准图形注解。这个标准 是由对象管理组(Object Management Group -
OMG)维护的。包含以下部分:
流对象:事件、活动、网关
连接对象:序列流、消息流、关联
泳道:池、道
人工制品:数据对象、组、注释
启动事件:
结束事件:
包含网关:
排他网关:
并行网关:
人工任务:
服务任务:
整合思路 比如我们想把请假条保存到自己创建的表中,又想使用activiti操作请假流程, 请假条表LEAVE_APPLY
添加一个请假条之后,获得唯一标识符(如id)。
在启动activiti任务的时候,可以传入一个BUSINESS_ID,可以把请假条的id当成BUSINESS_ID传递给activiti。
runtimeService.startProcessInstanceByKey("ProcessDefinitionKey", "BUSINESS_KEY", variable);
在act_ru_task表中保存了EXECUTION_ID_和ASSIGNEE_(处理人)
act_ru_execution表中保存了BUSINESS_KEY_
如果处理人指定的是任务组,那么在act_ru_identitylink中保存了USER_ID_(处理人)和TASK_ID_(任务id)与act_ru_task表关联,其中处理人与我们自己设计的用户表关联。
如查询某个人要处理的请假条:
select L.ID,L.USER_ID,L.START_DATE,L.END_DATE,L.STATUS,L.REASON,L.ADVISE,L.TASK_ID,U.REAL_NAME
from activiti.ACT_RU_TASK RES
inner join activiti.ACT_RU_IDENTITYLINK I on I.TASK_ID_ = RES.ID_
INNER JOIN activiti.act_ru_execution RU ON RES.EXECUTION_ID_=RU.ID_
INNER JOIN test.leave_apply L ON RU.BUSINESS_KEY_=L.ID
inner join ADMIN_USER U on L.USER_ID=U.ID
WHERE RES.ASSIGNEE_ =#{userId}
or(I.TYPE_ = 'candidate' and I.USER_ID_ = #{userId} )
其中#{userId}是任务的代办者