工作流管理系统
工作流管理系统被用来定义、管理、和执行工作流程。
activiti是一个BPM业务流程管理框架,包括部署流程定义->启动流程实例->查看任务列表->办理任务
,在任务创建后,意味着流程会进入等待状态, 直到引擎接收了一个特定的消息, 这会触发流程穿过接收任务继续执行。
在实际项目中对已完成任务的查看频率远不及对待办和可接任务的查看,所以在activiti采用分开管理,把正在运行的交给RuntimeService、TaskService管理,而历史数据交给HistoryService来管理。这样做的好处在于,加快流程执行的速度,因为正在执行的流程的表中数据不会很大。
流程变量
1、用来传递业务参数,目的就是审核人可以通过流程变量查看申请人的一些审核信息
2、在连线的condition中设置流程变量,用来指定应该执行的连线
3、使用流程变量指定个人任务和组任务的办理人#{userID}
网关
Exclusive Gateway排他网关
排他网关必须给一个流程变量,若没有符合条件的判断结果,就会走默认的连线。不给流程变量,会报错,因为无法判断。
排他网关和直接连线的最大区别:排他网关有个默认值,连线必须是每根先都得给条件。
连线
一个活动中可以指定一个或多个SequenceFlow(连线)
,Start中有一个,End中没有,其他活动中有1条或多条SequenceFlow。如果有多个,则需要使用流程变量设置codition的名称。${}
中间的内容要使用boolean类型的表达式,用来判断应该执行的连线。如${deptleaderapprove==’false’}