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

返回本页常规视图.

实体建模

领域模型管理,实体、字段、关系、参照、事件、索引。

1 - 实体定义

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三方实体

2 - 实体创建

实体作为整个应用程序的核心,是搭建应用的第一步。本节将以资产管理系统中的物资领用场景为例,从零开始创建实体。通过该场景的实体建模,您可以初步了解实体配置的相关内容。

1.场景介绍

“物资领用单”(Material Requisition Form)在资产管理系统中是一个重要的单据,用于记录物资的领用情况。

在基础的物资领用场景中,涉及三个实体,其关系及字段如下:

1718244658705

其中“物资领用单”实体与“领用明细”实体为一对多聚合关系,“物资”实体与“领用明细”为关联关系。根据实体关系、实体类型的定义,可得以下逻辑:

1、“物资”实体为标准实体、“物资领用单”实体为单据实体;

2、“领用明细”实体为“物资领用单实体”的子实体;

3、“领用明细”实体有一个字段关联“物资”实体。

2.操作步骤

2.1创建“物资”实体

1、登录平台,选择应用,进入可视化开发界面,点击左侧导航项“实体”,在实体列表中可进行实体的操作。

2、点击实体列表右上角“添加实体”或点击分组右侧“添加”,创建实体。

1718261623587

3、输入实体名称“物资”,选择实体类型为“标准”,按序录入其余基本信息,点击“确定”,完成“物资”实体创建。

实体基本信息的设置详情,请参考实体基本信息

1718243998772

4、添加物资字段

实体字段详细配置信息,请参考实体字段

  • 添加字段
  • 字段属性中,设置物资编码字段唯一

1718261786837

5、配置实体规则(该场景中物资实体无需配置实体逻辑)

实体规则详细配置及示例,请参考实体规则

6、配置参照方案

参照详细配置,请参考参照方案

  • 选择参照模板“列表”,输入名称,选择终端“web端”,点击下一步,进入参照配置页面

1718244236784

  • 选择参照显示字段“物资名称”

1718244321965

  • 显示列中勾选“物资名称”、“型号”

1718244343408

  • 按序设置条件、排序、搜索、穿透页面(该场景中可不做配置)

1718244364033

7、按序配置实体事件、索引(该场景中物资实体无需配置事件和索引)

实体事件的详细配置,请参考实体事件

索引详细信息,请参考索引

2.2创建“物资领用单”实体

同理创建“物资领用单”实体。

1718261318923

2.3创建“物资明细”子实体

1、点击“物资领用单”实体右侧“添加”按钮,添加领用单子实体

1718261351711

2、录入基本信息,实体关系选择“一对多(父:子)”

  • 子实体的增删改跟随主实体,其部分属性也跟随主实体
  • 子实体均为标准实体,无预置的业务行为

1718261448280

3、添加明细字段,并建立与“物资”实体的关联

  • 添加“领用物资”字段
    • 输入名称“领用物资”
    • 字段类型选择“实体”,其后选择“物资”实体,单选
  • 添加其余字段

1718261549700

4、按序配置其余属性

3.补充说明

3.1实体删除

实体列表中点击实体右侧“更多”或右键点击实体,选择“ 删除 ”,可删除当前实体。实体删除将一同删除下级实体。

1719295440684

3.2实体复制

实体复制是指允许设计师快速复制现有实体的所有配置信息,包括但不限于字段定义、实体规则、索引、子实体等,常用于快速创建一个具有相似配置的新实体或用于其他目的。

  • 复制入口:实体列表中点击实体右侧“更多”或右键点击实体,选择“复制 ”,可复制当前实体。

    1719295376355

  • 复制内容:实体复制功能中字段复制为基础复制,其余复制内容可根据业务情况自行选择

    1719295678356

2.1 - 基本信息

1.功能概述

实体基本信息是指实体的基础的配置信息,在于定义和调整实体的结构、属性和行为。通常在实体创建时确定配置,部分设置项也支持创建后进行修改维护。

基本信息分为两类:基础设置、高级设置。

2.功能介绍

2.1基础设置

基础设置内容如下:

  • 实体名称

    实体显示名称,创建时必填。

  • 实体编码

    实体唯一标志,创建时必填。实体编码只能以字母开头,允许输入数字、字母。

  • 实体类型

    平台基于常用业务抽象出的具有固定模式的实体模型。不同实体类型会预置不同的字段和行为,默认为标准实体。

1718259581064

实体类型相关信息,请参考:实体类型

  • 实体分组

    实体所属分组,存在默认分组,创建时必填。

  • 字段集

    字段集是一组有共性可通用的字段集合,支持一次定义,多处引用。实体中引用字段集后,可以减少重复性配置工作。

    字段集详细信息及配置方式,请参考:空链接

  • 第三方实体

    三方实体标识开关,勾选后,当前创建实体标示为三方实体。针对该类实体,平台将不进行数据的存储,所有的数据均来源于三方实体。

    平台目前仅支持独立三方实体查询,不支持主子结构,且平台预置三方微流程,对于三方数据的查询,需配置微流程。

    三方实体详细信息及使用方式,请参考:空链接

2.2高级设置

  • 扩展方案

    扩展方案核心是为了解决用户在运行态需要字段扩展的能力。比如设备管理,目前客户设备属性,定义了10个字段,但随着业务的发展,还需要扩展其他的属性,故可以使用扩展方案,预留N个字段。

    启用扩展方案后,将自动生成一个当前实体的扩展子实体,其字段为扩展方案中设置内容。扩展子实体在设计态无法使用,仅支持在运行态启用后使用。需和个性化能力搭配使用。

    1718260173387

  • 数据权限

    开启后,运行时可管控数据的权限

    运行时数据权限配置方式,请参考:空链接

  • openApi

    勾选后将向第三方开放对应接口,在【后台管理-集成连接-开放平台-API管理】处可查看详细接口文档。

    1718260505126

  • 密级管理

    开启后,将预置【密级】字段用于数据项的密级管理,且开启后无法关闭。密级字段可用于页面进行数据密级的设置。

    1718260684906

    密级的管控需开启平台“密级管理”开关。对于密级管控的实体数据,低密级人员将无法查看高密级数据,以防高密低传现象的发生。

    1718261077055

2.2 - 实体字段

1.功能概述

字段是对实体属性或特征的描述。实体可直观的理解为一张数据库表,实体名对应表名,实体字段即对应表头。一个实体具有多个字段,根据业务需要设计师可以自行添加字段。

每个实体字段都有对应的名称、数据类型(如文本、整数、日期等),并且可以包含额外的属性,比如是否允许为空、是否有默认值、是否唯一等。这些字段共同定义了实体的结构,用于组织和存储信息,以便于进行查询、更新和管理。在应用中,实体字段通常与用户界面中的输入域或显示区域相对应,允许用户与数据进行交互。设计良好的实体字段不仅有助于确保数据的一致性和准确性,而且对于提高数据库的性能和可用性至关重要。

1729757564147

2.字段数据类型

数据类型是软件开发中的重要概念,它决定了可以数据存储的值的种类和范围。通过正确选择和使用数据类型,可以确保数据的准确性、一致性和有效性。例如,当需要存储一个人的年龄信息时,适合使用整数类型的数据来表示,而存储商品价格时则适合使用货币类型。

字段类型 字段说明
文本 表示一串包含字母、数字、和其他字符的字符串,通常用于文本的处理和数据存储。
● 最多可输入4000字符
● 支持设置正则规则规范其格式
● 支持脱敏和加密设置
多行文本 特殊类型的文本,允许用户输入较长的字符串内容,阈值最多可输入 10000字符。多行文本最大阈值小于4000时,数据库按文本存储,
且运行态提交时会校验数据长度。最大阈值大于等于4000时,数据库按大文本字段存储,且运行态提交时不会校验数据长度。
注:文本字段和长度不超过4000的多行文本字段,其总字符数上限为16000,超出限制将无法新增文本类字段。
整数 表示没有小数部分的数字,可以是正数、负数或零。
取值范围:-(2 <sup>31 </sup>-1) ~ 2 <sup>31 </sup>,即:-2147483648 ~ 2147483647
长整数 特殊类型的整数。
取值范围:-(2 <sup>53 </sup>-1) ~ 2 <sup>53 </sup>-1,即:-9007199254740991 ~ 9007199254740991
小数 表示带有小数部分的数字,能够提供更高的精度,通常用于科学计算,或其他需要精度较高的场景,小数位数最大支持 10位。
货币 特殊类型的小数,可携带指定币种符号,通常用于货币计算。
日期 表示具体的日期,通常用于仅日期处理和数据存储。
时间 表示具体的时间,通常用于仅时间处理和数据存储。
日期时间 表示具体的日期和时间,通常用于日期和时间的处理和数据存储。
布尔 表示真(true)或假(false),通常用于条件判断。
选项集 选项集是一种自定义的数据类型,用于定义一组有穷序列集。选项集运行态无法修改,通常用于固定选项的序列集场景。
例如“星期”就是一个选项集,星期一、星期二、 星期三、星期四、星期五、星期六、星期日就是其值。
注:选项集详细信息,请参考:空链接
枚举 枚举也是一种自定义的数据类型,用于定义一组有穷序列集。枚举运行态可扩展,且支持多层级展示。
例如“兴趣爱好”就是一个枚举,内部值可在运行态随时定义添加。
注:枚举详细信息,请参考:空链接
附件 通常用于存储指向文件的引用,而不是文件本身。
借助页面中附件组件,用户可上传多种类型的文件,文件本身会存储于文件服务器,而附件字段将存储文件的路径、以及文件相关的元数据,如文件名、大小、创建者、创建日期等。
实体 通常用于存储其余实体的唯一标识ID,可建立实体间的关联关系。
支持一对一关联或一对多关联。
注:多选时,最多选择 180 个。
流水号 一种特殊的字段类型,用于唯一标识数据库中的每条记录,通常具有业务意义,如订单编码、交易记录等。
流水号字段的值是按规则自动生成的,以确保其唯一性和顺序性。
正文 一种特殊的字段类型,通常用于存储带有格式的大文本,如新闻内容、报告详情等。
● 支持内容的格式设置,如粗体、斜体、字号等
● 支持HTML标签,允许用户创建包含各种样式和布局的文本内容
● 其内容的查看和编辑需依赖页面中的正文组件(富文本编辑器)

3.字段属性

创建字段后,支持的配置如下:

1719215689021

  • 名称:字段的显示名称,可使用中文等任一字符。配置后,在页面中如需展示该字段,会显示对应名称,如数据列表的表头会默认展示字段名称。

  • 编码:字段的唯一标识,只能以字母开头,支持至多 30 个英文字母、数字的组合。

  • 类型:字段数据类型,可根据实际需求选择字段类型。

  • 默认值:字段的初始值。当在创建记录时没有为该字段提供值,系统将自动使用这个默认值进行填充,以减少数据缺失的情况。

  • 计算值:基于其他字段值通过预定义的计算逻辑动态生成的字段值,这种值通常不是用户直接输入的,而是系统根据设置的公式或规则自动计算得出的,例如,根据商品的单价和数量自动计算总价,或根据日期字段计算年龄等。

  • 必填:必填属性要求用户在创建或更新数据时,必须提供有效值。复选框勾选时表示必填,未勾选时表示非必填。勾选时,页面组件会自动校验此字段是否被用户填写。

    1718868713400

  • 唯一:设置该字段的值是否唯一,常用于标识记录的主键或确保实体的某个字段(如电子邮件地址、身份证号等)在整个数据集中具有唯一性。字段唯一支持单字段唯一和多字段组合唯一。

    • 单字段唯一:单个字段内的值必须唯一

    • 多字段组合唯一:由两个或多个字段组合而成的一组值必须在数据库表中保持唯一性

      1718868797888

  • 阈值设置:用于限定字段值的允许范围,确保输入或处理的数据满足特定的最小值和最大值要求,以防止无效或不合理的数据被录入数据库,例如,确保年龄字段或者价格字段不会记录负值。

    1718868823597

  • 默认显示:用于控制实体生成页面的显示内容,及页面中拖拽实体生成数据控件时的显示内容,支持设置显示在列表、详情、搜索中,如该字段在创建列表时是否自动生成列,自动生成搜索项

    • 列表项:复选框勾选时,拖拽实体生成的列表含有该字段

      1719217252278

    • 详情信息:

      1719217414647

    • 快捷搜索项:

      1719217291883

  • 输入检验:文本字段支持使用正则规则进行内容格式检验同时支持自定义设置格式错误时提示

  • 脱敏加密:文本字段支持脱敏加密配置

    • 智能脱敏:智能识别手机号码、银行卡号、身份证号码及邮箱地址并做智能脱敏,其他类型数据全部替换为“”,脱敏效果仅针对页面显示生效
    • 全脱敏:针对所有的类型数据全部替换为“*”,脱敏效果仅针对页面显示生效
    • 加密:针对数据存储时进行加密,加密效果仅针对数据库数据生效
  • 数据在异构系统加密:加密配置之一,适用于异构系统加密后通过 openapi 接口存入数据的情况

  • 数据不解密传递给异构系统:加密配置之一,适用于 openapi 查询接口中数据不解密传递给异构系统的情况

  • 审计:设置该字段数据是否进行审计。勾选后,平台将追踪和记录数据库中该字段的每一次变更

  • 全文检索:设置是否能对该字段的内容进行全文检索

  • 敏感词检测:用于字段敏感词检测标记,仅文本、多行文本、正文有该属性。勾选后,可遵循平台配置的敏感词监测规范,对该字段进行录入检测

    • 保存记录时自动检测,并提示

      1719282057636

    • 配置页面事件,手动触发检测

      1719282019388

  • 默认控件:用于设置页面中拖入字段时自动使用的控件

4.字段分类

应用支持预置字段或用户自定义字段。

4.1预置字段

针对不同类型的实体,平台预置有不同的字段,可以满足最基本的业务需求,系统预置字段如下:

预置字段不可删除,其部分属性不可修改。

1、系统分组:系统字段,由系统自动管理,用以追踪记录的创建和变更历史,字段属性不可修改

  • ID:数据的主键信息,作为每条数据的唯一标识,数据类型为 Integer 整数类型。字段列表中不可见
  • 创建时间:数据的创建时间,数据类型为 DateTime 日期时间类型
  • 创建人:数据的创建人,数据类型为 Enity 实体类型
  • 创建人机构:创建人所在机构,数据类型为 Enity 实体类型
  • 创建人部门:创建人所在部门,数据类型为 Enity 实体类型
  • 创建人岗位:创建人所在岗位,数据类型为 Enity 实体类型
  • 更新时间:最后一次更新数据的时间,数据类型为 DateTime 日期时间类型
  • 更新人:最后一次更新数据的人,数据类型为 Enity 实体类型
  • [实体]发送状态:流程中使用的状态,数据类型为 Enum 选项集类型。该字段值及对应的选项集均由系统自动生成
  • 扣减规则信息:单据实体特有系统字段,用于记录扣减规则相关信息的字段,数据类型为 MultiLineString 多行文本类型
  • 父实体:子实体特有系统字段,用于标注所属父实体id,数据类型为 Enity 实体类型
  • 排序号:子实体特有系统字段,用于记录前端录入顺序,数据类型为 Integer 整数类型。前端页面不可见

2、流程分组:流程审批相关字段,由系统自动管理,仅档案和单据实体有该分组字段,字段属性不可修改

  • 流程相关字段:单据状态(草稿、待提交、提交中、已生效)、流程模板、流程实例、流程标题等
  • 流程过程字段:终止(是否终止、终止人、终止时间等)、作废(是否作废、作废人、作废时间等)等过程中特殊状态的相关字段

3、单据分组:单据实体独有字段,为单据业务的常用字段

  • 单据编号:用于唯一标识单据的一串数字或字母组合,数据类型为 SerialNum 流水号类型
  • 单据日期:单据生成或交易发生的日期,默认值为创建时间,可修改,数据类型为 DateTime 日期时间类型
  • 申请人:业务中发起单据或请求的个人,默认值为当前登录人员,可修改,数据类型为 Enity 实体类型

3、档案分组:档案实体特有字段,为档案业务的常用字段

  • 档案业务字段
    • 组织机构:档案所属机构,默认值为登录人员所在机构,可修改,数据类型为 Enity 实体类型
    • 编码:唯一标识每份档案的编号,数据类型为 String 文本类型
    • 名称:档案名称,数据类型为 String 文本类型
    • 简称:档案内容的简短描述,数据类型为 String 文本类型
    • 助记码:与档案相关联的简短、易记的代码或标识符,数据类型为 String 文本类型
    • 是否启用:档案启用状态,数据类型为 Boolean 布尔类型
  • 树形档案的结构字段
    • 上级:标识档案的上级或父级档案,用于建立层级关系,数据类型为 Enity 实体类型
    • ID路径:从根节点到当前节点的数据ID路径,用于定位档案,数据类型为 String 文本类型
    • 显示名称路径:从根节点到当前节点的数据显示名称路径,用于定位档案,数据类型为 String 文本类型
    • 是否末级:指示器字段,用于标识当前节点是否是树结构中的最底层或末级节点,数据类型为 Boolean 布尔类型

4.2自定义字段

系统字段以外的字段为自定义字段,设计师可以通过添加自定义字段来扩展实体的描述,以满足具体的业务需求。

  • 添加字段:点击字段列表左上方“ 添加 ”或单击列表下方的“ 添加 ”按钮来添加自定义字段。

    1719282452485

    1719282490775

  • 删除字段:右键点击字段选择“ 删除所在行 ”或选中字段后单击列表上方的“ 删除 ”按钮来删除该字段。

    1719282744679

5.补充说明

5.1字段分组

在实体字段列表中提供字段分组能力,允许将具有相似属性或属于相同业务逻辑的实体字段归类到一个组中。这种分组可以基于字段的数据类型、用途或其他自定义标准,从而简化数据的检索和维护。

  • 添加分组:点击字段列表左上方“ 新建分组 ”来添加空白分组。

    1719283324953

  • 分组中添加字段

    • 添加字段:鼠标移至对应分组,点击分组项右侧“添加字段”,可添加分组内字段。

      1719283744923

    • 拖入字段:勾选欲拖入分组的字段,鼠标左键长按字段左侧“拖拽”图标,拖入对应分组。

      1719283692998

  • 解散分组:鼠标移至对应分组,点击分组项右侧“解散分组”,可解散当前分组,解散分组后其包含的字段会移出到当前位置。

    1719283928545

  • 删除分组:鼠标移至对应分组,点击分组项右侧“删除”,或者勾选分组后,点击列表上方可删除当前分组,删除分组也将会删除其包含的所有字段。

    1719284413724

5.2字段转移

字段转移允许设计师将字段从一个实体复制或移动到另一个实体。这个功能可以字段重复构建,提高实体创建的效率。

  • 转移入口:勾选欲转移字段,点击列表上方“转移至”。

    1719284614027

  • 转移位置:可选择转移至已有实体或新建实体

    1719284756909

  • 复制并转移副本:该功能支持直接转移,或先复制再转移副本

    1719284863760

5.3一键生成页面

允许设计师通过简单的操作,基于实体快速生成列表页面、详情页面,并建立关联。

  • 操作入口:完成实体字段的设置后,点击列表右上角“生成页面”。

    1719285644460

  • 生成页面:可以基于实体和模板,快速创建列表页和详情页,快速生成页面会自动建立列表页和详情页的跳转关系。

    1719295902440

2.3 - 实体规则

1.功能概念

实体规则是由设计师利用可视化的规则编辑器,在数据模型层面上为实体定义的一套自定义逻辑规则。这些规则专注于数据层的逻辑处理,具备跨页面和跨应用的生效能力,确保数据底层的准确性和一致性。实体规则适用于处理 多字段联合条件性较强 的复杂规则,涵盖了校验类和计算类规则。

2.功能介绍

2.1功能入口

  • 选择实体,进入实体信息页面,点击顶部“规则”,进入实体规则列表

  • 点击列表右上角“新建”,创建实体规则

    1719391122521

2.2实体规则类型

  • 校验类规则

    数据的准入规则,仅针对数据的新增和更新生效,如限制不能补上个月的打卡信息。

  • 计算类规则

    可实现实体字段值设置的逻辑定义,区别“字段”处的默认值计算值,规则能够满足更为复杂的多条件赋值情况,如当字段1=a时,字段2赋值为A,当字段1=b时,不赋值。

  • 页面默认值规则

    为实体字段的初始默认数据,最终录入数据受用户录入以及计算值的影响。在页面初始化字段控件时生效,优先级高于字段默认值,低于页面默认值。

2.3常用节点

分支

1719383335701

使用范围:校验类规则、计算类规则、页面默认值规则

简介:判断特定条件,当满足时决定逻辑执行分支走向。适用于多模式匹配场景,如根据不同的输入类型执行不同的操作。

1719383816091

使用说明

  1. 分支节点接受的匹配条件可以是变量、逻辑、接口、内置函数等有返回值的表达式
  2. 支持多分支,存在默认分支,若其余分支条件均不满足,正文自动进入默认分支
  3. 每条分支后可选择其余要执行的动作节点

子微流程

1719388861847

使用范围:校验类规则、计算类规则、页面默认值规则

简介:支持调用当前应用下正式态的服务定义类型微流程,按需根据所选的微流程配置入参。

1719388965291

使用说明

  1. 仅支持调用服务定义类型微流程
  2. 使用子微流程时,请避免造成微流程的循环调用
  3. 检验类和计算类规则,由于以获取实际字段值,可使用字段数据进行入参映射
  4. 页面默认值规则的执行时间在页面初始化字段组件时,此时无字段数据,因此无法使用字段数据进行入参映射

唯一

1719386442336

使用范围:校验类规则

简介:设置所选字段的值是否唯一,数据保存时进行值的唯一性校验。

1719386590270

使用说明

  1. 支持单字段唯一和多字段联合唯一
  2. 支持设置错误是提示信息

必填

1719386832697

使用范围:校验类规则

简介:设置所选字段是否需要必填

1719386897193

使用说明

  1. 支持设置错误时提示信息

显示信息

1719387633601

使用范围:校验类规则

简介:选择字段,提交时显示提示信息,信息类型为错误时,会终止当前实体的提交。

1719388229331

使用说明

  1. 选择具体字段,提示信息将显示在字段控件下方
    1719389985040
  2. 当前仅支持“错误信息”,执行至当前节点,将终止实体的提交
  3. 支持设置错误时提示信息内容

设置值

1719388664040

使用范围:计算类规则

简介:针对实体字段,提供值设置操作。设置字段值,其执行在实体字段的默认值、计算值执行之前。

1719388331411

使用说明

  1. 出于性能考虑,该节点限制了可选上下文,只能在当前聚合根内选择字段或对子孙进行汇总
  2. 设置值节点的执行在实体字段的默认值、计算值执行之前

默认值

1719390356364

使用范围:页面默认值规则

简介:字段的初始值,页面初始化字段组件时,赋值

1719390463116

使用说明

  1. 实体规则的默认值,其优先级高于字段默认值,低于页面默认值
  2. 支持多字段同时设置默认值
  3. 由于页面默认值规则的执行时间在页面初始化字段组件时,此时无字段数据,因此该节点通常和子微流程一起使用,通过子微流程出参数据作为分支条件参数,以达到条件默认值的效果

3.场景示例

3.1条件唯一

3.1.1场景描述

3.1.2操作步骤

3.1.3效果展示

3.2条件性限制录入

3.3条件设置值

2.4 - 实体参照

1. 功能概念

业务中常见一种场景,当前页面需要引用其他实体的数据,该场景在低代码平台中定义为“参照”,如:在填写进货单时可以选择已有的商品,其中进货单和商品是两个不同的实体。

参照方案:本质是数据的查询方案,每个实体可以配置多个参照方案,会以参照方案的配置生成该实体的数据列表,供其他实体引用。

参照控件:是一种数据录入的基础控件,参照控件绑定关联实体的参照方案,运行态可以选择该参照方案查询的数据。请查看参照控件的详细介绍

在填写进货单时选择商品,演示效果如下:

1719888593618

2. 功能介绍

2.1 参照样式

在运行态选择参照方案的数据,有三种样式:列表、左树右列表、树表。

(1)列表:所有实体均可配置列表参照。

(2)左树右列表:实体中必须有字段关联了树形实体,才可展现为左树右列表样式。

比如:[商品]实体中有实体类型的字段“商品类别”,“商品类别"关联了树形实体[商品类别],那么[商品]实体的参照可以设置成左树右列表样式,左侧是商品类别,右侧是商品列表。

(3)树表:仅树形实体可配置树表参照。

运行态列表参照:

1719887925512

运行态左树右列表参照:

1719890886824
运行态树表参照:

2.2 参照方案配置

2.2.1 选择参照模板

(1)选择参照样式模板:列表、左树右表、树表。

(2)配置参照名称。运行态将在参照选择数据的弹窗中展示参照名称,所以,需要设置合适的参照名称。

(3)选择终端。 PC和移动端的参照是默认勾选且不可取消。

设计态配置界面:

1719907901960

2.2.2 设置参照内容

2.2.2.1 实体
  • 首先需要理解参照驱动实体。参照驱动实体是指哪个实体的参照方案。主实体和一对多子实体都可以设置参照方案,他们都可以作为驱动实体。主实体作为驱动实体,参照列表是以主的维度展示数据;子实体作为驱动实体,参照列表是以子的维度展示数据。
  • 进入参照内容设置中,“实体”会默认勾选驱动实体,且不可以取消, 还可以手动选择驱动实体的子实体。

设计态配置界面:

1719908285571

2.2.2.2 参照显示字段
  • 参照显示字段是指选择参照方案后回写到参照控件中的数据。比如选择人员后,参照控件显示人员姓名。
  • 参照显示字段只能选驱动实体的字段,但不支持实体、枚举、附件、多行文本类型的字段。
  • 参照显示字段支持选择多个字段,比如人员实体的参照回显姓名和工号。参照显示字段还支持手动输入常量,比如想回显为“姓名+工号”,可在输入框中手动输入“+”。 注意:手动输入的常量不建议使用类似变量的文案,比如”姓名",容易与变量混淆。

设计态配置界面:

1719910007067

2.2.2.3 参照下拉字段
  • 参照下拉字段是指在参照控件中通过下拉框快捷选择参照数据时,在下拉框中展示每条数据的关键字段。比如选择商品,在下拉快捷选择时展示商品编号和商品名称。
  • 未设置时默认使用参照显示字段。
  • 参照下拉字段只能选到驱动实体的字段,但不支持实体、枚举、附件、多行文本类型的字段。仅PC端有该配置,移动端的参照组件交互不需要该配置。

设计态配置界面:

1719910201620

2.2.2.4 数据关联
  • 数据关联是指驱动实体的数据和另一个关联了当前实体的实体数据取交集。
  • 场景搭建举例:

前置:两个实体[商品]、[进货表],[库存表]中有一个实体类型字段“商品编号”,该字段关联了实体[商品]且单选**(多选不支持数据关联)**。

需求:在出库单中,只选择库存表中的商品。

搭建:该需求的本质是选择商品,所以需要做商品的参照方案,但只能选择库存表中的商品。

在[商品]的参照方案中数据关联[库存表]。约束实体选择[库存表],关联字段会默认使用[库存表]中的“商品编号"字段。

设计态配置界面:

1719911957661

2.2.2.5 显示列

显示列是指在参照列表中显示哪些字段。当参照方案是左树右列表样式时,需要分别配置树和列表。当参照方案是列表或树表样式时,只需要配置列表。

  • 列表显示列字段的可选范围:

(1)驱动实体是主实体,“实体"只选了主实体,显示列只能选到”实体"的字段。如下图配置界面:

1719908999581

(2)驱动实体是子实体, “实体"选择了子实体和孙实体。参照显示列可选到“实体"中的字段(框红), 也可以选到驱动实体的上级实体字段(框蓝)。如下图配置界面:

1719908836421
(3)驱动实体是孙实体, “实体"选择了孙实体。参照显示列可选到“实体"中的字段(框红), 也可以选到驱动实体的所有上级实体字段(框蓝)。如下图配置界面:
1719908944802

2.2.2.6 条件

设置参照列表的过滤条件,参照列表中仅展示满足条件的数据。条件左值可选字段范围与“实体”中的配置有联动关系。

设计态配置界面:

1719913209742

2.2.2.7 排序

对参照列表数据排序,排序字段可选范围与“实体”配置保持一致。

当有多个排序字段时,先按第一个字段排序,第一个字段相同的行再用第二个字段排序。

设计态配置界面:

2.2.2.8 搜索
  • 参照列表进行搜索。搜索字段可选范围与“实体”配置保持一致。
  • 支持多种搜索样式 。详细介绍请查看不同字段类型的搜索样式。
  • 实体类型字段作为搜索字段时,需要选择参照方案。运行态搜索时,可以在下拉中快捷搜索或进入到参照列表中选择数据。
  • 快速搜索:快捷搜索是指直接在参照控件输入框中进行搜索,仅支持使用文本类型字段做快捷搜索。
  • 搜索匹配方式:文本类型字段用于搜索时,默认使用左匹配。

设计态配置界面:

1720430602371
1720429059928

1720430688713
运行态效果:

1719976004510

运行态效果:

1719976148516

2.2.2.9 穿透页面

穿透页面只能是详情页面,且页面对应实体是驱动实体的主实体。

运行态点击参照控件回写的内容,或参照列表中点击参照显示字段所在列,都可以打开穿透页面;一般用于查看数据详情。

1719991045693

运行态演示效果:

1719993445271

2.2.2.10 新增页面
  • 主要用于找不到预期的参照数据,可以打开新增页面新增一条数据。默认新增页面和穿透页面是同一个页面。
  • 配置了新增页面,将默认在参照列表中展示新增按钮,点击按钮打开新增页面。

设计态配置界面:

1719991005993

运行态演示效果:

1719993812488

2.2.2.11 左树右列表参照配置

左树右列表参照方案,需要分别配置树和列表。

树的配置中,显示列、条件、排序、搜索的配置和列表是一致的。下面说明数据源和字段。

数据源:驱动实体中关联的树形实体,且该树形实体为当前应用中的实体。 运行态以该数据源的数据来渲染左树。

选择字段:当驱动实体中有多个字段关联了这个树形实体,运行态点击树节点对列表过滤时,按指定的这个字段进行过滤。

1719996886688

2.3 参照方案PC转移动

支持一键将PC端的参照方案配置转到移动端,提高搭建效率。

1720428636707

相同的属性是完全一致转换, 有个别特殊的转换规则说明如下:

(1)搜索配置:实体类型字段的参照方案会默认取PC已选的参照方案的对应移动端参照方案,如果未找到,则默认用移动端第一个参照方案。如果未配置参照方案,一致性检查会报错。

(2)穿透页面配置:会默认取PC端页面对应的移动端页面,如果页面入参一致,也会进行参数映射的转换。

2.5 - 实体事件

1.功能概述

实体事件是实体暴露出来,解决实体到上层业务的数据交互方法,通过订阅实体的事件,允许设计师在数据生命周期的关键点插入自定义逻辑,从而实现复杂的业务需求。比如报销单付款状态是付款失败时,向出纳发送邮件。

用户在发起数据新增、更新或删除请求时,数据库将遵循一系列标准化流程来处理这些操作,同时在关键步骤或特殊时机触发事件,允许外部系统或应用程序响应这些关键时刻。

2.功能介绍

2.1预置事件

实体创建后,平台会自动暴露新增前、新增后、新增成功、更新前、更新后、更新成功、删除前、删除后、删除成功9种预置事件,预置事件仅支持在应用内部使用。

按照操作类型和时机分为以下几类:

操作前 操作后 操作成功
新增
更新
删除

此处以用户购买【商品】下单事件为例,商品订单新增事件的操作前、操作后、操作成功适用场景如下:

1、用户下单后,可以监听【操作前】事件,为此订单生成一个流水号或者进行该【商品】的参数合法性检查。

2、用户下单后,可以监听【操作后】事件,用于扣减订单对应商品的库存,如此次扣减失败(如库存不足),则会取消本次【商品】下单操作。

3、用户下单后,可以监听【操作成功】事件,发送下单成功的通知短信,如发送短信失败(如短信平台余额不足),也不会影响本次订单的正常生成。

预置事件定义如下

1、新增操作相关事件

  • 新增操作前 (Before Create): 在数据库记录被创建之前触发,可用于数据验证或修改。
  • 新增操作后 (After Create): 在数据库记录创建过程中触发,后续其余操作步骤失败可阻断新增,可用于更新关联数据。
  • 新增操作成功 (Create Success): 在数据库记录成功创建后触发,后续的其余操作步骤成功与否不影响新增,可用于发送通知等场景。

2、更新操作相关事件

  • 更新操作前 (Before Update): 在数据库记录被更新之前触发,可用于检查更新条件或修改数据。
  • 更新操作后 (After Update): 在数据库记录更新过程中触发,后续其余操作步骤失败可阻断更新,可用于同步更新到其他系统。
  • 更新操作成功 (Update Success): 在数据库记录成功更新后触发,后续的其余操作步骤成功与否不影响新增,可用于记录变更日志等场景。

3、删除操作相关事件

  • 删除操作前 (Before Delete): 在数据库记录被删除之前触发,可用于检查删除条件或备份数据。
  • 删除操作后 (After Delete):在数据库记录删除过程中触发,后续其余操作步骤失败可阻断删除,可用于清理相关资源等场景。
  • 删除操作成功 (Delete Success): 在数据库记录成功删除后触发,后续的其余操作步骤成功与否不影响新增,可用于更新计数器等场景。

2.2自定义事件

自定义事件,是为了解决跨应用的事件通知,实体数据的新增、修改、删除,都可作为事件的触发时机。

  • 事件数据:可设置事件发生时,对外输出的数据,支持主子孙实体全部字段输出,或者部分字段输出

    1719304877301

  • 触发时机:可设置事件触发时机,支持数据的新增、修改、删除做为触发事件,此处均为操作成功时触发

    1719304908058

  • 触发条件:可设置符合对应的条件事件才会触发。比如更新物料领用单时,物料领用单生效状态为已生效时,事件触发;否则不会触发

    1719305017510

2.3实体事件使用

1、当前应用中使用事件

  • 创建“事件监听”微流程,选择开始节点

    1719305323766

  • 节点配置:选择数据来源实体,选择对应事件,利用平台自动生成的预置事件,创建监听工作流

    1719305355742

  • 根据业务,配置后续操作节点

2、跨应用使用事件

  • 应用A中,指定实体中创建自定义事件

    1719305714311

  • 应用B中,添加依赖应用A

    1719305541098

  • 应用B中,创建“事件监听”微流程,选择开始节点

  • 节点配置:选择“应用间”,选择依赖应用A,选择对应事件,创建监听工作流

    1719305612191

  • 根据业务,配置后续操作节点

2.6 - 实体索引

功能概述

索引是数据库优化的关键工具,其功能类似于图书的目录,允许用户通过索引快速定位到数据,就像利用目录快速翻阅到书的特定章节一样。这种机制显著提升了SQL查询的执行速度,使得用户能够迅速提取数据库表中的精确信息。索引特别适用于那些经常用于搜索、排序或过滤操作的字段,以确保这些常见操作的响应速度。

功能介绍

索引分类

根据索引在数据唯一性方面的约束可以将索引划分为两类:

  • 普通索引

    最基本的索引类型,主要用于优化查询性能,并不保证数据的唯一性。

  • 唯一索引

    唯一索引要求索引列或列组合中的值必须组合唯一的,不能有重复。这种索引不仅优化了查询性能,还防止了重复数据的插入。

    注:修改唯一索引会对数据库产生影响,因此测试发布后若修改唯一索引,需清空沙箱数据才可生效。

索引操作

  • 创建索引

    • 字段快捷添加唯一索引:字段列表处可通过勾选字段“唯一”属性,来快捷创建唯一联合索引

      1719309036880

      1719309074677

    • 手动添加自定义索引:单击索引列表右上角“ 新建”按钮来添加索引。同一个索引支持添加多个字段,即添加联合索引。

      1719309212081

  • 删除索引:勾选预删除的索引项,单击索引列表右上角“ 删除”按钮来删除索引。

    1719309342114