这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

实体定义

1.功能概述

实体是线下业务的线上化呈现基础,是指在数据模型中具有代表属性的事物或对象,可以作为数据的一种载体将结构化数据持久化保存在数据库中。

在应用中,每个实体均对应一张数据库表,实体的字段对应数据库表的列。例如在资产管理业务中,可以定义一个包含物资名称、型号、成本等字段的“物资”实体,以及一个包含供应商名称、联系人等字段的“供应商”实体,同时支持建立两张表之间的联系。

1718174649177

实体的定义可以划分为三个部分:

1、实体

对实体及实体间关系的定义,主要包含实体字段、实体规则、参照方案、索引等相关内容。

2、方法

方法是由实体暴露,提供给业务侧,与实体进行数据交互的规则,由业务侧触发。应用内部可直接调用,而外部应用可通过OpenAPI进行调用。为了便于使用,平台针对常用的实体方法。进行了不同程度的封装,如保存、删除等。

3、事件

事件也是由实体暴露,在实体数据变更后,主动推送给外部业务的消息,由实体触发。上层业务可通过订阅实体的事件,从而实现基于实体数据增删改作为触发条件的逻辑定义,比如报销单付款状态为付款失败时,向出纳发送邮件。

2功能介绍

2.1实体

2.1.1实体关系

正如现实业务中的对象大多存在一定关系,实体也存在着特定关系,平台将实体关系划分为两种:关联关系及聚合关系。

如何设置实体间关系,请参考:空链接

  • 关联关系

关联关系表达的是实体之间的一种静态、天然的弱关联关系,更改实体时,不会更改任何关联的实体。比如物资和供应商之间的关系,物资被删除了,但是供应商档案信息不会被删除依然存在,这种关系就是关联关系。

关联关系在系统中以字段形式存在,如物资实体中有一个字段,关联供应商。

1718182929881

  • 聚合关系

聚合关系表达的是不同实体之间的强关联关系,是一组业务对象的组合,由一个主实体和多个子实体构成,删除主实体时,会同步删除所有聚合关系的子实体。比如物资领用单和领用明细,领用单被删除了,领用明细也会同步被删除,这种关系就是聚合关系。

聚合关系在系统中以主子实体形式存在,领用明细作为物资领用单的子实体。在该场景中,系统支持基于主实体进行聚合对象数据的增删改操作,基于主、子实体进行数据的查询操作。

1718183180655

聚合关系在平台中存在两种类型:

  1. 一对多聚合实体:实体A的一个实例可以与另一个实体B的多实例相关联,但实体B的一个实例只能与实体A的一个实例相关联。例如每个客户都可以具有多个销售订单,一个销售订单却只能对应一个客户。
  2. 一对一聚合实体:实体A的一个实例只能与另一个实体B的一个实例相关联,反之依然,这种关系就叫做一对一聚合。在现实世界中一对一聚合关系较少见,但在某些特定的业务场景中仍然会出现。例如一个人只能有一个身份证信息,一个身份证信息也只能对应一个人。

2.1.2实体类型

平台基于组织中常用的业务抽象提炼出有固定模式的规则,以帮助设计师快速创建业务对象。目前提供标准实体类型以及【单据】、【平铺档案】、【树形档案】在内的三种特定类型实体。

特定类型实体预置有不同的规则、事件以及字段,可以减少重复模式和固定规则的设计。

2.1.2.1标准实体

标准实体类型为通用的实体类型,未预置业务属性,设计师可以根据需求完全自定义实体的字段以及逻辑规则。

通常用于存储基础参数,比如报销参数,不会对其直接走流程做审批(流程中也无法选标准实体作为入口的)。

同时在聚合关系中,聚合实体的业务逻辑是基于根实体进行的,根实体是外部可以访问的唯一对象,非根实体不携带过多业务性质的规则,比如产生流程,因此非根实体默认为标准类型实体。

2.1.2.2单据实体

单据实体主要是日常的业务数据,通常需要走流程或审批。该类型实体不仅包含业务预置字段,还包含了相应的行为。

● 主要预置字段

○ 系统字段:创建时间、更新时间、创建人、更新人等

○ 单据业务字段:单据编号、单据日期、申请人

○ 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等

○ 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段

● 主要预置行为

○ 自动生成流水号(单据编号字段)

○ 该实体的页面可作为流程的入口页面,且创建流程后,将自动绑定流程

○ 根据流程流转,自动更新单据状态

○ 支持作为扣减规则的上游实体
2.1.2.3平铺档案

平铺档案实体通常作为基础信息或资料的载体,比如供应商,图书,组织机等。

● 主要预置字段

○ 系统字段:创建时间、更新时间、创建人、更新人等

○ 档案业务字段:名称、编码、组织机构、助记码、是否启用等

○ 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等

○ 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段

● 主要预置行为

○ 该实体的页面可作为流程的入口页面,且创建流程后,将自动绑定流程

○ 自动生成档案使用控制页面,用于管理档案类实体的权限管控模式

○ 自动生成参照方案
2.1.2.4树形档案

树形档案实体是一种特殊的档案实体,适用于承载具有多层级关系的档案业务数据。其预置字段和行为在平铺档案的基础上增加树形相关的预置内容。

● 主要预置字段

○ 系统字段:创建时间、更新时间、创建人、更新人等

○ 树结构字段:上级、是否末级、级次、id路径、显示名称路径

○ 档案业务字段:名称、编码、组织机构、助记码、是否启用等

○ 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等

○ 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段

● 主要预置行为

○ 该实体的页面可作为流程的入口页面,且创建流程后,将自动绑定流程

○ 自动生成档案使用控制页面,用于管理档案类实体的权限管控模式

○ 自动生成树形参照方案

○ 树结构字段根据树形结构自动生成,如层级变更后,id路径、是否末级等字段将自动调整值

2.2实体方法

方法是由实体暴露,提供给业务侧,与实体进行数据交互的规则,由业务侧触发。应用内部可直接调用,而外部应用可通过OpenAPI进行调用。为了便于使用,平台针对常用的实体方法,进行了不同程度的封装

1、内部调用

平台在页面中和微流程中军队实体常用方法进行了不同程度的封装,封装如下:

  • 页面:页面中封装了一系列实体行为,以便设计师使用

如何使用页面事件行为,请参考:空链接

○ 存为草稿:存储时不触发实体的校验规则

○ 保存记录:若提交的数据中包含的数据的ID,则为更新;若提交的数据中不包含ID,则为新增

○ 保存并新增:保存之后清空数据,继续保留新增弹窗

○ 保存并复制:保存后以保存的数据为默认值,继续新增

○ 提交记录:保存数据并触发绑定的工作流

○ 撤回记录:针对进行中的流程,进行撤回操作到首节点操作

○ 删除记录:删除数据

○ 刷新记录:重新请求数据

○ 导入:导入数据

○ 导出:导出数据
  • 微流程:微流程中封装了一系列节点,以便设计师使用

微流程节点详情,请参考:空链接

○ 查询单条数据

○ 查询多条数据

○ 插入数据

○ 批量插入数据

○ 更新数据

○ 批量更新数据

○ 删除数据

2.3实体事件

实体事件是实体暴露出来,解决实体到上层业务的数据交互方法,用户可通过订阅实体的事件,从而实现基于实体数据增删改作为触发条件的逻辑定义。比如报销单付款状态是付款失败时,向出纳发送邮件。

事件详细信息,请参考:空链接

事件包含两种:预置事件和自定义事件

  • 预置事件

实体创建后,平台自动暴露新增前、新增后、新增成功、更新前、更新后、更新成功、删除前、删除后、删除成功9种预置事件,用户可通过订阅实体的事件,从而实现基于实体数据增删改作为触发条件的逻辑定义。

  • 自定义事件

平台支持在实体-事件中定义,通过外部应用以来,外部应用可使用实体的自定义事件。

2.4三方实体