Java 与 MySQL 打造高效审批流程

06-01 1158阅读

1流程思路分析

审批流程🐱‍💻

1.串行流程

当前节点审批完成后,下一次节点才能进行操作,例如经理通过之后,总监才能审批;

Java 与 MySQL 打造高效审批流程

图片

2.并行流程

一个审批节点需要多人联审。一般有两种方式:会签、或签;

Java 与 MySQL 打造高效审批流程

图片

会签:

注意:别跟串行审批混淆。会签的多个角色是平行的,没有上下级关系、前后顺序。

例如:在某项文件、合同、决策或其他重要事项上,需要多个相关人员进行确认、批准或签署的情况下,参与该过程的人员同时批准,这时会签就能很大程度上提高效率,顺便也能解决人情世故的问题~~。

会签支持并签:

业务模式支持:“全部投票”、“按投票比例”、“按投票通过比例”、支持设置 “百分比” 和 “分数” 两种方式。

或签(也有叫"竞签"、“串签”):指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,只要其中任意一人审批即可到下一审批节点;

3.条件流程

根据不同规则,走不同流程

Java 与 MySQL 打造高效审批流程

图片

例如报销5000以下直属领导审批就行,5000~10000需要总监审批。

4.混合流程

就是上述的流程混合运用;

Java 与 MySQL 打造高效审批流程

图片

例如请假的正常流程是到直属领导审批,3天以上需要总监审批。5天以上需要总裁审批。

审批动作🙋‍♀️

  1. 通过: 通过申请,流转到下一人。原因选填。
  2. 驳回: 驳回到发起人、驳回到上一环节、驳回到之前的某一环节
  3. 保存: 保存当前填写的信息。
  4. 转交: 转交给某人审批
  5. 加签: 处理者可以在审批时临时增加审核人员
  6. 抄送: 抄送人会知晓审核过程,但不进行操作

执行动作👩‍🎓

申请: 针对当前业务表单信息发起申请,开始审批流程的传递。分为2部分:由申请提交人手动发起申请、由程序自动判断满足触发规则的数据自动发起申请;另外还要注意的2点:是否允许提交人撤销(是、否)、记录编辑(不可编辑、管理员可编辑、管理员和审批人都可编辑 );

通过: 当前步骤处理通过,进入下一步骤,若为末步骤,则流程处理完成;

退回: 将步骤退回至上一步骤,即返回至上一处理人处,若为首步骤,则不进行退回;

否决: 将步骤直接结束,执行结束动作拒绝活动,不再进行操作,或者回退至第一步骤;

撤回: 若当前步骤已处理,下一处理人未处理的情况下可进行撤回操作。

Java 与 MySQL 打造高效审批流程

图片

节点状态🕵️‍♀️

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

处理人: 待处理、已处理。

创建业务工单: 提交人登录系统之后,选择想要发起的业务工单,填写业务工单。填写完成可以选择提交或者保存;

未提交: 列表中显示所有保存但未提交的业务工单,未提交列表中的业务工单都没有业务工单编号(唯一),状态为“未提交”。提交人可以选择某个业务工单后能方便对其进行修改、删除和提交;

已提交: 列表显示所有已经提交的业务工单,有业务工单编号,并显示(未处理)。提交后的业务工单进入处理流程,提交人无法进行修改和删除;

处理中: 列表显示所有提交并已经有节点处理的业务工单,提交人可以查询某个业务工单的处理进度;

已结束: 列表显示所有已经处理完成的业务工单;

待处理: 列表显示所有待处理业务工单;

已处理: 列表显示所有当前处理人已处理的业务工单,既被当前处理人流转到下一个流程节点的业务工单;

2UI预览🛹

Java 与 MySQL 打造高效审批流程

图片

Java 与 MySQL 打造高效审批流程

图片

Java 与 MySQL 打造高效审批流程

图片

Java 与 MySQL 打造高效审批流程

图片

Java 与 MySQL 打造高效审批流程

图片

3表设计🚧

流程配置表🚗

CREATE TABLE `approval_config` (
  `approval_config_id` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '雪花算法',
  `corp_id` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '企业ID',
  `node_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '节点名称',
  `form_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '表单ID 属于那个表单的流程',
  `approval_auto_pass` tinyint(1) DEFAULT '0' COMMENT '审批节点人员相同时自动通过[1:true;0:false]',
  `current_node_approver_type` tinyint DEFAULT NULL COMMENT '审批人类型[1:发起人自己;2:指定角色;3:指定人员;4:表单内人员];注:1/3/4存userid、2存roleId',
  `current_node_approver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '待审批人如果是角色就是角色ID,如果是其他则是userId格式:[xxx,xxx]',
  `care_of` tinyint(1) DEFAULT NULL COMMENT '允许审批人转交[1:true;2:false]',
  `approval_type` tinyint DEFAULT NULL COMMENT '审批类型[1:会签:2:或签]',
  `approval_node` int DEFAULT NULL COMMENT '审批节点[取值:1~N 从小到大;0:
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码