在做OA时,一般只需要开始结束节点、审批节点、条件分支;

    在做BPM时,一般需要开始节点(包含普通开始、定时开始)、结束节点(普通结束、消息结束)、审批节点、分支节点(条件分支、并行分支、人工分支)、子流程等等。

    有这么多节点,就像一个系统中要有很多的功能,要结合具体业务需求去做,也即在此之前首先得清楚需求。要知道自己的业务流程、流程参与人、流程执行中发生的事,以及参与方希望这些节点帮助解决什么问题、达到什么业务目标,才能判断要用上哪些节点,节点属性要如何设置。

    我们以最简单的请假业务为例。
    在这个业务中,请假人发起申请,根据请假天数、部门等条件判断,由其领导等审批人审批通过,通过后记录到考勤系统便于后续考勤业务数据记录。体现在BPM上,就包括[普通开始节点]、[审批节点]、[条件分支]、[普通结束节点],除此之外,还有条件规则和业务数据回写。

    根据BPMN标准,[普通开始节点]、[普通结束节点]没有太多属性,只需给它们命名的功能即可,即在属性中提供“节点名称”设置项。
    再如[审批节点]的属性有审批人,因此需要有人员的设置项。此外,在审批的场景里,会有串审(一群人依次审批)、会审(一群人无序审批)、任一审批(一群人中只需任意一个审批)的场景因此产生出三种审批方式,因此也作为[审批节点]的设置项。
    如是等等。

    以下列出常用节点及其属性(待补充):

    节点类型 属性/功能/设置项 高级属性 运行时用法
    普通开始节点 • 节点名、节点ID • 选择发生条件、回调接口 • 绑定内外部表单的,在提交表单后,流出开始节点
    定时开始节点 • 节点名、节点ID
    • 重复周期及时刻
    • 选择发生条件、回调接口
    普通结束节点 • 节点名、节点ID • 选择发生条件、回调接口 • 到达此节点即结束
    审批节点 • 节点名、节点ID
    • 默认审批人(从组织人员选、选择编辑规则)
    • 可由起草人指定(必填/选填、可指定范围)
    • 跳过审批(不可跳过、审批人为空跳过、审批人已审跳过)
    • 审批方式(串审、会审、任一审批、投票)
    • 关联节点表单
    • 流程权限
    • 选择发生条件、回调接口
    • 流入此节点时,由审批人操作审批
    • 审批操作包括:通过/驳回/转办
    抄送节点 • 节点名、节点ID
    • 默认抄送人(从组织人员选、选择编辑规则)
    • 由起草人指定(起草人必填、选填)
    • 可指定的范围(组织人员、规则)
    • 选择发生条件、回调接口 • 给抄送人发送通知消息
    条件分支 • 节点名、节点ID
    • 各支路下游节点、该支路条件
    • 选择发生条件、回调接口 • 判断分支条件,选择第一个满足的支路
    并行分支 • 节点名、节点ID • 选择发生条件、回调接口 • 流程分叉多个支路
    • 流程全部汇合后再往下走
    人工选择分支 • 节点名、节点ID
    • 可由起草人选择分支
    • 选择发生条件、回调接口 • 向上溯游,由此节点前的审批节点选择分支走向
    子流程 • 节点名、节点ID
    • 选择嵌入的流程模板
    • 指定启动模式是否需默认起草人
    • 等待子流程(全部、规则、不等待)
    • 选择发生条件、回调接口 • 给起草人发起流程任务
    • 父流程根据等待规则关心子流程的结束
    • 新流程与原流程存在父子关系
    定时边缘事件 • 节点名、节点ID
    • 延迟时长及到时执行何种事件/流程
    • 选择发生条件、回调接口

    备注:
    1、高级属性中选择发生条件,相当于蓝凌的【事件】;回调接口相当于【监听器】和【机器人节点】。
    2、仅条件分支具备设置分支条件的能力,其他分支不可设置分支规则。
    3、并行分支的规则:
    - 每个分支一个token,无条件分支,等待全部汇合,其中一个废弃,则全流程废弃。
    - 分支后可驳回到分支内,启动该分支审批任务;
    - 分之内驳回到分支前,若非“提交到本节点”,则废弃其他分支的任务。若“提交到本节点”,则提交时定点指向驳回节点;
    4、子流程暂不支持回归(暂不支持跨流程唤醒)
    5、连线规则:
    - 开始节点:不可流入,一个流出
    - 结束节点:多个流入,不可流出
    - 审批节点、抄送节点、子流程:一个流入,一个流出
    - 条件分支、人工分支、并行分支-分叉:多个流入,多个流出
    - 并行分支-汇合:多个流入,一个流出