一位客户要求我们进行定制开发。客户觉得钉钉的操作体验比较好(用户惯性),要求我们实现钉钉的自动配置审批流程。幸运的是,这并不丢人。与钉钉相比,流程审批、表单配置等相关功能做了Java私有化版本。钉钉的流程审批操作确实比activity和flowable更贴近业务人员,后两种常用的流程引擎更适合技术人员。对比上图,左侧卡片式流程配置优于右侧传统流程配置,操作简单,流程透明,体验更佳。本篇我们详细拆解审批功能。如果您的产品涉及业务审批流程,强烈建议您了解卡片配置的审批流程是如何设计的。相信看完本文后,您会对审批流程有一个非常清晰的认识。一、审批流程的基本内容做审批流程,我们需要思考审批流程的几个基本问??题:1、流程从哪里来?启动流程2.流程去哪里?过程路径3.谁是参与者?参与者4.你打算做什么?要解决以上问题,需要对流程有深刻的理解。该过程包括集中式核心能力的组装:1.发起节点;2、人工执行节点(审核);3、路由判断节点;4、自动化业务节点(触发器);分析下面来拆解分析一下我们是如何实现仿钉钉审批功能的。2.流程发起在企业日常内部业务流程中,流程发起的场景可以包括1.在用户的工作台中发起流程,通过工作台的业务应用入口创建流程(例如,个人用户发起费用报销)2、业务执行过程中,需要发起流程审批。该模式需要在数据管理或列表管理中通过按钮/表单触发流程(例如创建入库订单时,需要启动流程审批)3.当系统内部或外部系统满足一定条件时,系统会自动创建审批流程。在这种模式下,支持接口创建过程的能力(例如,如果设备出现故障,自动创建故障单以进行故障排除)由我们构建。实现了逻辑引擎,在逻辑引擎中实现了通过接口创建工作流的功能。3.手动审批节点手动节点审批包括:包括链接名称、链接关联表单、链接处理人员(关联组织/公司/团队/角色/个人)、审批时限、业务触发按钮等,如如下图所示。其中,需要支持自动审批、审批后触发关联业务逻辑等,如下图,审批人的表单可以独立设计。点击设计后,将在审批表中输入表单设计者。获取”拖放式表单设计器。在布局中,左边是窗体控件区域,右边是窗体控件的窗体信息和属性设置,中间是窗体预览区。在设计表单时,用户可以直接将表单从左侧的表单控制区拖拽到预览区,然后设置右侧字段的属性即可完成表单字段的添加。要删除表单域,只需点击选中一个域,然后点击垃圾桶小图标即可删除。除了审批链接,还可以支持CC链接:4.分支节点分支条件:流程会根据表单内容(分支条件变量)和发起人信息,走不同的审批链接,以及控制流程会进入不同的审批环节。元素称为分支条件。比如借款的流程,有的公司会把部门负责人的审批时间定在1000-5000天,超过5000天就需要上级领导审批。可以根据表单中的数据处理审批条件,灵活实现各种判断条件。5、在线测试支持列表和测试功能,可以方便的完成业务测试和入口建设。6.会签功能7.触发自动化业务通过增加自动化业务节点实现由人工业务联动自动处理的业务。8、小结钉钉作为国内移动协同办公的领跑者,可以满足绝大部分企业的办公需求。当然,在很多场景下,当客户需要私有化部署、定制化开发、成本控制时,可以考虑JVS快速开发平台。如果想了解更多,可以在Gitee上搜索“JVS”。9、获取开源仓库地址:https://gitee.com/software-mi...管理平台(包括管理平台、低代码、数据仓库):https://frame.bctools.cn/
