工作流讲解
1 工作流基础
合同申报流程
科员<o:p></o:p> | 科长<o:p></o:p> | 法律科/处<o:p></o:p> | 专业处室<o:p></o:p> | 领导<o:p></o:p> | 法律处<o:p></o:p> |
合同起草 | 合同初审 | 合同分发 | 合同审批 | 合同审批(>100W) | 合同签订 |
流程和简化为
A----B----C----D------E
除过线性关系外还包括
A---B1/B2/B3----C
这样流程中包括分解和汇集的情况,在分解和汇集时会出现条件转换的问题。
一个流程包括点和线来组成。
一个流程包括它的定义和实际运行
流程定义部分:
对流程的组成部分、所有者、转换条件等进行规则定义。它包括
流程定义(FlowDefine):描述整个流程的特征
属性名称 | 英文名称 | 类型 | 说明 | 默认值 |
主键标示 | id | String | 主键,由hibernate生成,和业务无关 | <o:p> </o:p> |
名称 <o:p> </o:p> | Name | String | 流程的名称 | <o:p> </o:p> |
<o:p> </o:p> | <o:p> </o:p> | <o:p> </o:p> | <o:p> </o:p> | <o:p> </o:p> |
流程包括了多个活动,即活动定义(ActionDefine)
每个活动,需要包含一个(或零个)活动转换器(ActionTrans),转换器定义活动完成后怎样转换到其他的活动上。转换器包含了多个条件,每个条件指明了转换的目标
每个活动必须定义谁在上面进行工作,因此活动包含若干个活动所有者(ActionOwner),活动所有者当前包含三类,用户(UserOwner)、角色(用户组)(RoleOwner)、部门(CompanyOwner),这三类是actionOwner的子类。
在每个活动的进入和离开时包含了一些可以自己添加的监听器。进入监听(IEnterActionListener)和离开监听(IExitActionListener)