根据适用业务场景的不同,微流程分为实体业务规则、页面规则和后端微流程三种,各种微流程内部也根据细分场景的不同进一步做了子类型的划分,详细结构如下图。这些微流程使用统一的微流程设计器,但各自支持的活动节点不同节点。
①实体业务规则-校验
在实体数据保存入库前,进行业务规则校验,如不满足规则,可以阻止数据保存入库并进行提示
适用场景举例:日常费用报销单保存时,如果报销人和制单人不是同一个人,需要校验报销人是否填写了代理报销说明,如未填写则不允许保存并提示。
②实体业务规则-计算
在实体数据保存入库前,对数据进行修改,并使用修改后的数据作为最终保存入库的数据。
适用场景举例:日常费用报销单保存时,如果单据为草稿状态,则在单据标题前增加前缀【草稿】。
③实体业务规则-默认值
在新建实体数据时,根据业务规则设置字段默认值。
适用场景举例:新建日常费用报销单时,根据当前登录人所在组织报销参数,获取成本中心字段默认值并设置。
④普通页面规则
针对页面及页面元素进行操作,与终端用户进行交互的页面级微流程。
适用场景举例:用户填写报销单时,如填写的发票抬头不符合企业标准,则可以调用页面规则进行校验,并且在对应控件上进行提示。
⑤公共页面规则
针对多个页面都需要使用的公共页面逻辑,支持抽象为可复用的公共页面规则,以供多个页面同时使用
适用场景举例:日常费用申请单和日常费用报销单中,都需要通过页面规则打开发票详情,可将打开发票详情页面规则抽象为公共页面规则,以便维护和复用
⑥微流程-服务定义
通过其他微流程或页面规则、实体业务规则调用触发,支持配置出入参的微流程;同时也支持将服务定义微流程暴露到开放平台中,供外部服务调用
适用场景举例:删除日常费用申请单时,通过服务定义微流程查询是否有下游报销单引用了该单据,并返回查询结果
- 新建:
- 定义出入参:
如果你的服务定义微流程需要使用出参和入参,需要在此处配置。出入参支持无参数、基本类型,实体对象和自定义对象
- 支持被其他服务调用:
服务定义微流程,创建并保存后,可以在页面规则、子微流程中被调用。
将服务定义微流程暴露到开放平台中,支持外部服务调用(非当前应用):
⑦微流程-事件监听
指通过监听业务事件、实体事件或者连接器事件(包括应用内和应用外事件)作为触发方式,不具备被调用能力的微流程
适用场景举例:监听日常费用报销单更新事件,当报销单状态更新为已生效时,更新上游申请单的状态为已完成。
- 新建:
- 选择监听事件:
⑧微流程-定时任务
通过定时任务触发,不具备出入参的微流程(定时任务支持运行态调整)
适用场景举例:创建定时任务,每天清除非正式的发票数据,减少无效数据的占用。
⑨自定义微流程
自定义微流程指在设计态中定义好触发方式及出入参后,微流程内部的实现由代码完成的自定义微流程。自定义微流程也包括服务定义、事件监听、定时任务三种类型。