快程业务构建平台开发教程>基础篇>第四章 实体配置

1.1     实体的定义

实体是业务应用中最主要的配置元素,是业务应用的存储单位,我们可以将实体理解为数据库表,而实际上它与数据库表结构也是一一对应的,所不同的是实体被赋予了业务元素,而数据库表只是实体的存储形式。在实体中可以建立多个属性,同样,实体的属性与数据库字段之间存在对应关系

1.2     实体的结构

实体的配置界面如下:

      

l  实体名称

实体名称对应着数据库表,因此在同一个快程业务构建平台中实体名称必须是唯一的。

l  显示名称

显示名称是对实体名称的中文说明

l  是否分级

是否分级选项用于控制该实体是否拥有上下级关系,在快程业务构建平台中的分级实体可以同时查询某一节点下的多级数据,但最多只能建立5级数据,如果分级多于5级,也可以手动添加上下级属性,但这样也就失去了多级数据查询的功能。

l  日志属性

日志属性选项用于在实体中自动加入创建人、创建时间、最后一次修改人和最后一次修改时间等基本日志属性。

l  工作流属性

工作流属性选项用于在实体中自动加入在工作流运行中需要的相关属性。如果该实体需要和工作流一起运行,则必须选中该选项。

l  实体说明

实体说明是对实体的相关描述。

l  实体属性

实体属性即实体的内容,同一个实体可以拥有多个属性,属性的名称必须唯一。通过右键菜单可以添加或删除实体属性。实体属性的定义包含属性名称、显示名称和类型等三个基本内容,根据类型的不同,每个属性拥有各自的附加属性定义。在附加属性中的数据字典表示该属性可以与数据字典对应,这样该属性的值就只能在对应的数据字典中选择了。附加属性中的帮助信息用于在表单或查询结果列中向使用者说明该属性的内容,而备注说明仅用于对属性备注,不影响系统的运行结果。

 

1.3     实体属性的类型

实体属性的类型包括字符串、整数、浮点数、日期/时间、自动编码、布尔、图片、附件、关联实体、操作员等。以下对每一个类型分别进行说明。

l  字符串

与数据库中的字符串类型相对应,在附加属性中可以通过“数据长度”定义字符串的长度。

l  整数

与数据库中的整数类型相对应。在附加属性中的 “是否货币”选项用于控制该属性的显示方式是否以货币形式显示。当以整数类型作为货币属性时,存储的单位为分。例如,如果数据库中存储的内容为100,则表示的货币为100分,即1元。整数类型的属性也可以与数据字典相对应。

l  浮点数

与数据库中的浮点数类型相对应。在附加属性中通过“小数位数”来控制该属性显示时的小数位数。

l  日期/时间

与数据库中的日期时间类型相对应。

l  自动编码

自动编码属性能够根据特定的设置在运行时自动生成一串编码字符串,其原始数据类型还是字符串,因此在附加属性定义中需要设置字符串的长度。除此之外还需要设置与编码相关的定义:

是否可回收:用于说明该编码在用户取消时是否回收已生成的编码计数值,如果允许回收则在下次使用时将继续使用该计数值。

是否从0计数:用于指定编码是从0开始还是从1开始。

重置周期:编码可以设置重置周期,当前时间进入新的周期后编码计数将重新开始。

编码模板:编码模板是一个特定模式的字符串,用于生成最终的编码,如:!{type}${year:2,0}-${month:2,0}-${date:2,0}-${sequence:5,0},其中type是该编码的类型码,在同一个编码中的计数值根据类型码分别计数,类型码可以是任何字符串,在编码模板中类型码也可以是一个表达式引用,如!{$this.name},以上模板将以当前实体的name属性值作为该编码的类型码;处在${}中的是一个替换方式,year表示年,month表示月,date表示日,sequence表示编码计数值,冒号后的第一个数表示替换后的字符串长度,第二个数是当长度不够时的替换字符,可以是任何字符,最后一个是向前或向后填充说明符,${}的完整定义为:

${表达式:文本长度,填充字符,填充方式(P|S)},其中P为向前填充,S为向后填充,默认为向前填充。在以上编码模板示例中最终生成的编码可能为:

type08-05-06-00001

l  布尔

表示是或否的数据类型。

l  图片

用于存储图片。图片在实体中实际只保存图片文件的相对路径,实际的图片存储在文件系统中。

l  附件

附件允许实体存储相关的多个文件,在附加属性定义中需要设置最多允许存储的附件数量(最大值为10)。附件的存储和图片一样在数据库中仅存储文件的相对路径,附件文件存储在文件系统中。

l  关联实体

关联实体是指与当前实体存在关联关系的其他实体类型,在附加属性定义中要指定所关联实体的实体类型、用于显示该实体名称的属性以及该实体的快捷查询属性。关联实体属性在转化为数据库字段时对应两个字段,一个为所关联实体的ID字段,另一个为所关联实体的名称字段,名称字段的值通过关联实体的名称属性获取,而快捷查询属性用于快速查找实体对象。

l  操作员

操作员类型用于存储与当前实体相关的用户账户数据,与关联实体一样操作员属性在转化为数据库字段时也对应两个字段,一个为用户账户的ID,另一个为用户姓名。

1.4     实体属性的关联公式

我们可以通过关联公式来定义实体属性之间的关系,如总价=零售价*数量。具体的配置方式在实体编辑的“关联公式”选项页中,如下图:

其中$this表示当前实体对象,unit_price是单价属性的名称,count是数量属性的名称。可以为多个属性设置关联公式。关联公式设定以后在实体的创建、编辑过程中始终会保持公式成立。在上图示例中,如果单价或数量发生变,则销售价也会按照公式的定义发生变化。

 

建立“客户资料”的实体定义

    在“客户关系管理”业务应用的“实体对象”节点中打开右键菜单,



           点击新建分组,我们先建立一个“客户资料”分组节点。在“客户资料”节点中点击右键菜单“新建实体对象”建立名为“客户”的实体,最终结果如下图

                                 

关于实体名称,为了防止实体名称上的冲突,我们在实体名称之前用业务应用标识作为前缀。客户类型字段是一个整数类型,它与数据字典“客户关系管理/客户类型”相关联,数据字典的定义如下图:

在数据字典中值类型必须与实体中对应的属性类型相一致。字典表项中的标签是显示内容,值内容是实际存储的值。