封装业务流程,解决复杂重复的审批流程配置
文/陈淋文
编辑/麦壁瑜
在企业经营活动中,往往存在着重复但又有些许差异的业务流程。这些流程当然可以使用工作流搭建以实现自动化,但每个工作流里总有一部分节点需要重复搭建。当这部分重复环节发生变动时,管理员就要到每个工作流里手动修改,费时费力。
不过现在,我们不用再担心这个问题了——通过封装业务流程(PBP)构建可复用的工作流,避免重复配置工作流。当业务环节变更时,修改 PBP 的工作流就能同时更新到所有相关工作流,提高应用维护的效率。
审批是最适合使用封装业务流程功能的工作流场景了,尤其是涉及审批层级和数量多的情况。下面我以它为例子,介绍封装业务流程的用法。
通用化设计
触发审批的方式设置为“新增表单记录时触发”;也可以增加先保存为草稿记录,后面再点击按钮触发审批流程。
设计不同需求下的审批模板,比如审批结束后,要将审批意见、审批时间和审批人数据作为审批日志存档。
不同的审批对象根据需求选用合适的审批模板,通过“构造审批模板+封装审批流程”来满足各种审批。
只要审批流逻辑相同,就可以抽象为模型,也就可以将其封装为通用流程。无论触发方式、审批操作和审批对象是否一致,都可以直接调用封装业务流程进行审批。
接下来,我以一个“包含分支并行的多层审批场景”为例,介绍如何用封装业务流程构造通用的审批流。审批流转规则如下图示:
简单来说,完整的封装业务流程(PBP)有 4 大步骤,分别是定义输入数据、处理输入数据、定义输出数据、启用 API。这些在本文都会涉及,而在实际应用中,管理者根据需求选做即可。
最开始,我们要先新建封装业务流程,再在主流程中调用构建好的封装业务流程。
封装业务流程配置
1.定义输入数据
我们将审批简化到极致就只剩下审批人、节点名称这两个要素,再加上用于索引审批单的记录 id。所以,封装业务流程的输入数据至少要包含:定义审批人(person)、节点名称(node)和记录 id(rowid1)参数。
因为本例中构建了审批模板,所以用审批模板记录 id(rowid2)替代审批人和节点名称的传入,供封装业务流程匹配。
这样一来,后面的主流程会从审批模板中,按顺序传入每个审批对应的审批人和节点名称。因为本例中构建了审批模板,所以只需传入审批模板记录 id 供封装业务流程匹配即可达到同样的效果。
2.处理输入数据
先通过主流程传入的申请记录 id(rowid1),匹配到要审批的记录。
再通过主流程传入的审批模板记录 id(rowid2),匹配到对应的审批人和审批节点。
最后进行审批,并且将审批过程新增到审批日志记录中。
3.定义输出数据
定义输出参数,审批完成后,就可以将最新的审批进度(result)回传给主流程,用于分支判定。执行完毕后输出节点,封装业务流程就结束了。
注:不需要给主流程传数据就可以跳过该步骤。
4.启用 API
针对一些需要外部对接的流程,可以在封装业务流程的“配置”板块里一键生成可调用的接口。不涉及对接的流程可以跳过该步骤。
简单举一个运用 API 能力的例子:通过外部程序调用接口,实现个性化的审批流程图。在审批工作表里结合嵌入控件的话,就可以让审批记录和流程图在同一界面实时呈现。
主流程配置
1.配置分支和传入数据给封装业务流程
主流程只需负责指挥系统在什么情况下走哪个分支执行审批,以及给封装业务流程传入审批人、审批节点、审批记录数据。封装业务流程执行完成后,审批结果也会回到主流程的分支条件中,构成完整的流程闭环。
2.审批结尾进行消息推送和状态变更
在审批结束时配置通知节点和更新记录节点,告知申请人审批已结束。
最终效果对比
以下是整个审批流程的实现效果。
1.封装前的审批工作流配置
每个工作表各对应一套审批工作流,需要为不同的工作表分别配置审批工作流。
工作流配置的节点繁多复杂,重复的节点占比高,一旦业务变更可能需要修改每一处影响到的节点。
原本的审批流程图
2.封装后的审批工作流配置
所有工作表都可以调用同一个封装业务流程,只要审批模式相同可封装成一个业务模型,配置主流程+共用的封装业务流程即可满足不同审批需求。
主流程工作流配置的节点少,重复的节点都封装到业务流程中进行调用执行,不容易出错,业务变更只需一次修改即可适应。
封装后的工作流展示图
总结
除了对审批场景的封装外,还有进销存的出入库、订单数据批量查询、财务支付流程、设备扫码检修和各类接口服务等场景,都适合将业务流程封装化。欢迎大家到明道云帮助中心或零代码社区,进一步学习和探讨封装业务流程的用法!
评论