审批业务流程方案设计

引言
审批流是在企业OA系统中比较常用的一个通用模块,审批流特点是一个审批流模板对应一种单据,其中申请节点可能会根据单据信息的数据内容做调整,但从类型上看,是一个模版对应一套审批流的逻辑。
在审批流中仅处理单据的状态,如审批通过、审批不通过;审批流中会用到单据数据,如条件中、各种需要引用单据变量的地方。审批流没有涉及到多个单据之间的处理,因此审批流是相对简单的。审批流定义节点用来为某个具体的业务单据或某个具体单据的一个业务类型进行审批流程的定义。被定义了审批流程的单据将按照定义的审批流程被传递和审批,这一完整的过程就称为审批流。
工作流: 可自定义的一种自动执行的工作流程,由表单数据发生改变时触发,同时触发关联多种不同的事务。
审批流: 可自定义的一种审批流程,需要用户手动批示是否允许进入下一步,触发审批流程规则需要满足审批申请人和数据筛选条件。

1. 流程设计思路

1. 流程概念分析

通常的流程一般分为2个层次来讲:流程、节点(活动或步骤):

  • 流程就是某一具体的业务流程(如请假审批流程,财务报销审批流程),它由若干节点组成;
  • 节点就是一种特定业务类型的封装,包括节点基本信息、参与者、时间限制、工作任务信息、触发事件、启动策略等信息。

2. 流程节点状态分析

首先我们分析业务工单状态,从操作人、流程、节点状态这三个角度分析

1. 操作人

串行: 上一处理人指定某一处理人时,其他拥有此步骤权限的操作员不可进行查看和操作,必须当前处理人处理完毕后,流程才能继续;
并行: 由上一处理人指定固定多个处理人时,由任一员工处理即可,不分前后顺序,全部处理完成,进入下一步骤;

这里有2点需要说清楚:

  • 多人处理:一人通过(其中一人进程审批处理即可既或签)、多人通过(所有审批人都需要进行审批处理既并签)2种情况,请根据自己的业务具体选择;
  • 设定审批人:由提交人指定、自动按照角色层级关系分配、选择审批人3种情况,请根据自己的业务具体选择;

并签、或签的逻辑

2. 执行动作

一套完整的审批流程参考钉钉审批事件信息的处理上包含如下5类:

  1. 申请:针对当前业务表单信息发起申请,开始审批流程的传递。分为2部分:由申请提交人手动发起申请、由程序自动判断满足触发规则的数据自动发起申请;另外还要注意的2点:是否允许提交人撤销(是、否)、记录编辑(不可编辑、管理员可编辑、管理员和审批人都可编辑 );
  2. 通过:当前步骤处理通过,进入下一步骤,若为末步骤,则流程处理完成;
  3. 退回:将步骤退回至上一步骤,即返回至上一处理人处,若为首步骤,则不进行退回;
  4. 否决:将步骤直接结束,执行结束动作拒绝活动,不再进行操作,或者回退至第一步骤;
  5. 撤回:若当前步骤已处理,下一处理人未处理的情况下可进行撤回操作。节点流程描述
3. 节点状态

提交人: 未提交、已提交、处理中、已结束。
处理人: 待处理、已处理。

  1. 创建业务工单:提交人登录系统之后,选择想要发起的业务工单,填写业务工单。填写完成可以选择提交或者保存;
  2. 未提交:列表中显示所有保存但未提交的业务工单,未提交列表中的业务工单都没有业务工单编号(唯一),状态为“未提交”。提交人可以选择某个业务工单后能方便对其进行修改、删除和提交;
  3. 已提交:列表显示所有已经提交的业务工单,有业务工单编号,并显示(未处理)。提交后的业务工单进入处理流程,提交人无法进行修改和删除;
  4. 处理中:列表显示所有提交并已经有节点处理的业务工单,提交人可以查询某个业务工单的处理进度;
  5. 已结束:列表显示所有已经处理完成的业务工单;
  6. 待处理:列表显示所有待处理业务工单;
  7. 已处理:列表显示所有当前处理人已处理的业务工单,既被当前处理人流转到下一个流程节点的业务工单;

以上内容为网上案例总结与自己项目业务需求整理得来的,重在分析总结,感谢无私的开源作者们。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐