# 物理世界 ## 数据结构 ### 1.对象实例表(dt_object) | 字段 | 字段说明 | 数据类型 | 备注 | | ------------- | -------------- | ------------ | -------------------- | | id | 主键 | varchar(100) | 32位UUID | | name | 对象名称 | varchar(100) | 对象名称 | | local_id | 对象本地编码 | varchar(100) | 对象本地id | | local_name | 对象本地名称 | varchar(100) | 对象本地名称 | | group_code | 集团编码 | varchar(40) | 对象类型 | | project_id | 项目id | varchar(40) | 类型编码 | | obj_type | 对象分类 | varchar(40) | 集团编码 | | class_code | 对象类型编码 | varchar(40) | | | grouping | 对象分组 | int(11) | 1单个对象,2对象组 | | infos | 边类型编码 | json | | | virtual_codes | 虚点清单 | json | | | create_app | 创建应用 | varchar(40) | | | update_app | 最后更新应用 | varchar(40) | | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 2.关系实例表(dt_relation) | 字段 | 字段说明 | 数据类型 | 备注 | | :-----------: | :----------------: | :---------: | :---------------------------: | | id | 主键(无业务含义) | varchar(40) | 32位UUID | | group_code | 集团编码 | varchar(40) | | | project_id | 项目id | varchar(40) | id规则:Pj+6位地区码+4位顺序码 | | graph_id | 图主键 | varchar(40) | | | graph_code | 图编码 | varchar(40) | | | rel_code | 关系编码 | varchar(40) | | | rel_value | 关系值 | varchar(45) | | | obj_from | 来源对象 | varchar(60) | | | obj_to | 目标对象 | varchar(60) | | | create_app | 创建应用 | varchar(40) | | | update_app | 最后更新应用 | varchar(40) | | | creator | 创建人 | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后修改人 | varchar(32) | | | modified_time | 最后修改时间 | char(14) | 格式为yyyyMMddHHmmss | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 3.图类型表(dt_define_graph) | 字段 | 字段说明 | 数据类型 | 备注 | | :-------------: | :----------------: | :----------: | :------------------: | | id | 主键(无业务含义) | varchar(40) | 32位UUID | | code | 编码 | varchar(40) | | | name | 名称 | varchar(200) | | | first_category | 一级分类 | varchar(40) | | | second_category | 二级分类 | varchar(40) | | | remark | 分类说明 | varchar(255) | | | object_types | 关系两侧对象类别 | varchar(255) | | | creator | 创建人 | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后修改人 | varchar(32) | | | modified_time | 最后修改时间 | char(14) | 格式为yyyyMMddHHmmss | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 4.边类型表(dt_define_rel) | 字段 | 字段说明 | 数据类型 | 备注 | | :------------: | :------------------------: | :----------: | :-------------------: | | id | 主键(无业务含义) | varchar(40) | 32位UUID | | code | 边类型编码 | varchar(40) | | | name | 边类型名称 | varchar(40) | | | graph_code | 图类型编码 | varchar(40) | | | directional | 边方向性 | int(11) | | | attribute | 边属性 | varchar(255) | | | target_objs | 主要连接对象 | varchar(255) | | | remark | 备注 | varchar(45) | | | before_cal_rel | 计算关系之前需要计算的关系 | json | | | cal_rule | 计算器,就是计算规则 | json | | | from_obj_type | 边关系左侧的对象分类 | varchar(50) | | | to_obj_type | 关系右侧的对象分类 | varchar(50) | | | automatic_flag | 计算类型 | tinyint | 0-手动计算,1-自动计算 | | creator | 创建人 | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后修改人 | varchar(32) | | | modified_time | 最后修改时间 | char(14) | 格式为yyyyMMddHHmmss | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | #### 4.1 before_cal_rel字段补充说明 该字段json结构如下 ``` [ { "graphCode":"***", "relCode":"***", "relValue":"***", "preRelDirection":true, "currentRelDirection":true } ] ``` | 字段 | 字段说明 | 备注 | | :-----------------: | :--------: | :--------------------------------------------------: | | graphCode | 图类型编码 | | | relCode | 边类型编码 | | | relValue | 关系类型值 | 多为空间的功能类型编码 | | preRelDirection | 关联标记 | 前一种关系的是用左侧关系还是右侧关系与当前关系做关联 | | currentRelDirection | 关联标记 | 当前关系的是用左侧关系还是右侧关系与前一种关系做关联 | #### 4.2 cal_rule字段补充说明 该字段json结构如下 ``` { "calRuleType":"***", "dependentRelChain":[ { "graphCode":"***", "relCode":"***", "relValue":"***", "preRelDirection":true, "currentRelDirection":true } ], "graphCalInfo":{ "fromInfoCode":"***", "toInfoCode":"***", "calRelFromFileRelFlag":true, "fromIsPointFlag":true, "toIsPointFlag":true } } ``` | 字段 | 子字段 | 字段说明 | 备注 | | :---------------: | --------------------- | :----------: | :-----------------------------------------------------: | | calRuleType | | 计算规则类型 | 1-通过关系链计算,2-通过平面图坐标计算 | | dependentRelChain | | 关系计算链 | 计算规则类型为1时的关系计算链 | | | graphCode | 图类型编码 | | | | relCode | 边类型编码 | | | | relValue | 关系类型值 | 多为空间的功能类型编码 | | | preRelDirection | 关联标记 | 前一种关系的是用左侧关系还是右侧关系与当前关系做关联 | | | currentRelDirection | 关联标记 | 当前关系的是用左侧关系还是右侧关系与前一种关系做关联 | | graphCalInfo | | 坐标计算 | 计算规则类型为2时的坐标计算信息点code | | | fromInfoCode | | 左侧计算坐标的信息点code | | | toInfoCode | | 右侧计算坐标的信息点code | | | calRelFromFileRelFlag | | 有种计算器是先根据model_id关联的业务id作为楼层 | | | fromIsPointFlag | | 关系左侧为点的标识,true-关系左侧是点,false-关系左侧是面 | | | toIsPointFlag | | 关系右侧为点的标识,true-关系右侧是点,false-关系右侧是面 | #### 4.3 各种边关系的配置值(特指关系计算业务) ##### 4.3.1 ArchSubset:Bd2Sp | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [] | | cal_rule | {"calRuleType": "1", "dependentRelChain": [{"relCode": "Bd2Fl", "relValue": "", "graphCode": "ArchSubset", "preRelDirection": true, "currentRelDirection": true}, {"relCode": "Fl2Sp", "relValue": "", "graphCode": "ArchSubset", "preRelDirection": true, "currentRelDirection": true}]} | | from_obj_type | building | | to_obj_type | space | | automatic_flag | 1 | ##### 4.3.2 ArchSubset:Fl2Sp | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [] | | cal_rule | {"calRuleType":"2","graphCalInfo":{"fromInfoCode":"outline","toInfoCode":"outline","calRelFromFileRelFlag":false,"fromIsPointFlag":false,"toIsPointFlag":false}} | | from_obj_type | floor | | to_obj_type | space | | automatic_flag | 1 | ##### 4.3.3 ArchSubset:Bd2Sh | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Bd2Sp","relValue":"","graphCode":"ArchSubset","preRelDirection":true,"currentRelDirection":true},{"relCode":"Sh2Sp","relValue":"","graphCode":"ArchSubset","preRelDirection":true,"currentRelDirection":false}]} | | from_obj_type | building | | to_obj_type | shaft | | automatic_flag | 1 | ##### 4.3.4 MechInArch:Eq2Fl | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [] | | cal_rule | {"calRuleType":"2","graphCalInfo":{"fromInfoCode":"bimLocation","toInfoCode":"outline","calRelFromFileRelFlag":false,"fromIsPointFlag":true,"toIsPointFlag":false}} | | from_obj_type | equipment | | to_obj_type | floor | | automatic_flag | 1 | ##### 4.3.5 MechInArch:Eq2Bd | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Fl","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Eq2Fl","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Bd2Fl","relValue":"","graphCode":"ArchSubset","preRelDirection":true,"currentRelDirection":false}]} | | from_obj_type | equipment | | to_obj_type | building | | automatic_flag | 1 | ##### 4.3.6 MechInArch:Eq2Sp | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Fl","relValue":"","preRelDirection":true,"currentRelDirection":true},{"graphCode":"ArchSubset","relCode":"Fl2Sp","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Eq2Fl","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Fl2Sp","relValue":"","graphCode":"ArchSubset","preRelDirection":true,"currentRelDirection":true}]} | | from_obj_type | equipment | | to_obj_type | space | | automatic_flag | 1 | ##### 4.3.7 MechInArch:Eq2Sh | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Sp","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Eq2Sp","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Sh2Sp","relValue":"","graphCode":"ArchSubset","preRelDirection":true,"currentRelDirection":false}]} | | from_obj_type | equipment | | to_obj_type | shaft | | automatic_flag | 1 | ##### 4.3.8 MechInArch:Sy2Bd | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Bd","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Sy2Eq","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Eq2Bd","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true}]} | | from_obj_type | system | | to_obj_type | building | | automatic_flag | 1 | ##### 4.3.9 MechInArch:Sy2Fl | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Fl","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Sy2Eq","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Eq2Fl","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true}]} | | from_obj_type | system | | to_obj_type | floor | | automatic_flag | 1 | ##### 4.3.10 MechInArch:Sy2Fl | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Sh","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Sy2Eq","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Eq2Sh","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true}]} | | from_obj_type | system | | to_obj_type | floor | | automatic_flag | 1 | ##### 4.3.11 MechInArch:Sy2Sp | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Sp","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"1","dependentRelChain":[{"relCode":"Sy2Eq","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true},{"relCode":"Eq2Sp","relValue":"","graphCode":"MechInArch","preRelDirection":true,"currentRelDirection":true}]} | | from_obj_type | system | | to_obj_type | space | | automatic_flag | 1 | ##### 4.3.12 SensorRelationship:ss2sp | 字段名 | 配置值 | | -------------- | ------------------------------------------------------------ | | before_cal_rel | [{"graphCode":"MechInArch","relCode":"Eq2Sp","relValue":"","preRelDirection":true,"currentRelDirection":true}] | | cal_rule | {"calRuleType":"3","relExtendCal":{"objSide":true,"objFilterObj":{"criteria":{"objType":"equipment","classCode":["OTSETP","OTSERH","OTSECT"]}},"relationFilterObj":{"criteria":{"graphId":"MechInArch","relCode":"Eq2Sp","relValue":"AirConditioningZone"}}}} | | from_obj_type | equipment | | to_obj_type | space | | automatic_flag | 1 | ##### 4.3.13 ThroughRelationship:Fl2Fl | 字段名 | 配置值 | | -------------- | ------------------- | | before_cal_rel | [] | | cal_rule | {"calRuleType":"4"} | | from_obj_type | floor | | to_obj_type | floor | | automatic_flag | 1 | ##### 4.3.14 ThroughRelationship:Sh2Sh | 字段名 | 配置值 | | -------------- | ------------------- | | before_cal_rel | [] | | cal_rule | {"calRuleType":"5"} | | from_obj_type | floor | | to_obj_type | floor | | automatic_flag | 1 | ### 5.信息点定义表(dt_define_info) | 字段 | 字段说明 | 数据类型 | 备注 | | ------------- | -------------- | ------------ | ------------------------------------------------------------ | | id | 主键 | varchar(40) | 32位UUID | | code | 信息点编码 | varchar(60) | 同类型下唯一,标准驼峰格式 | | name | 信息点名称 | varchar(200) | | | alias_code | 别名编码 | varchar(60) | | | alias_name | 别名名称 | varchar(200) | | | class_code | 类型编码 | varchar(60) | | | group_code | 集团编码 | varchar(40) | | | project_id | 项目id | varchar(40) | | | category | 信息点分类 | varchar(40) | 静态,脉冲,阶段,时序 | | first_tag | 一级标签 | varchar(40) | | | second_tag | 二级标签 | varchar(40) | | | priority | 优先级 | varchar(10) | | | input_mode | 输入方式 | varchar(40) | | | unit | 单位 | varchar(40) | | | data_type | 数据类型 | varchar(40) | | | is_multiple | 是否复数 | int(11) | | | is_region | 是否区间 | int(11) | | | formater | 数据格式 | varchar(40) | | | data_source | 数据源 | json | 数据源取值范围/枚举值清单等,根据dataType有不同的内容 | | remark | 备注 | text | | | sub_flag | 子分类标记 | int(11) | 是否可以按此信息点进行子分类替换,同一类型下目前只支持一个子分类信息点 | | weak_point | 虚点 | int(11) | | | show_order | 显示顺序 | int(11) | | | version | 最后修改版本 | varchar(40) | | | source_from | 信息点来源 | tinyint | 0-common 1-adm 2-资管 3-revit模型 4-adm工程数据 | | type | 管理层级 | varchar(40) | common-平台级,group-集团级,project-项目级 | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 6.对象类型定义表(dt_define_type) | 字段 | 字段说明 | 数据类型 | 备注 | | -------------- | -------------- | ------------ | ----------------------------------------- | | id | 主键 | varchar(40) | 32位UUID | | code | 信息点编码 | varchar(40) | 同类型下唯一,标准驼峰格式 | | name | 信息点名称 | varchar(200) | | | alias_code | 别名编码 | varchar(40) | | | alias_name | 别名名称 | varchar(200) | | | obj_type | 大类型 | varchar(40) | 项目建筑楼层空间系统设备竖井 | | group_code | 集团编码 | varchar(40) | | | project_id | 项目id | varchar(40) | | | major_code | 专业编码 | varchar(40) | 类型是系统or设备时该字段有值 | | system_code | 系统编码 | varchar(40) | 类型是设备时该字段有值,值为系统类型的code | | equipment_code | 设备编码 | varchar(40) | 类型是部件时该字段有值,值为设备类型的code | | parent_code | 上级类型code | varchar(40) | 默认为"0" | | first_tag | 一级标签 | varchar(40) | | | second_tag | 二级标签 | varchar(40) | | | version | 最后修改版本 | varchar(40) | | | source_from | 类型来源 | tinyint | 0-common 1-adm 2-资管 3-revit模型 4-adm工程数据 | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ### 6.项目关系记录表(relation_project_cal) | 字段 | 字段说明 | 数据类型 | 备注 | | ------------------- | ------------------ | ------------ | ------------------------------------------------------------ | | id | 主键 | varchar(200) | 32位UUID | | graph_code | 图类型编码 | varchar(100) | | | rel_code | 关系类型编码 | varchar(100) | | | source_flag | 是否需要配置源末端 | tinyint | 1-需要,0-不需要 | | automatic_flag | 是否自动计算类型 | tinyint | 1-自动计算,0-手动计算 | | manual | 手动计算类型 | tinyint | 1 禁用 2提示引导 3手动维护 | | project_id | 项目id | varchar(200) | | | computing_time | 计算时间 | varchar(100) | 最后一次自动计算时间,格式为yyyyMMddHHmmss | | computational_state | 计算状态 | tinyint | 1初始状态 2需要计算 3计算中 4等待中 5计算失败(如果处于计算中状态,则不再次调用) | | zone_type | 业务分区类型 | varchar(50) | | | system_type | 系统类型 | tinyint | 风系统1,水系统0 | | rel_manual_type | 手动计算关系类型 | varchar(200) | | | compute_version | 计算版本 | tinyint | | | creator | 创建人账号id | varchar(32) | | | creation_time | 创建时间 | char(14) | 格式为yyyyMMddHHmmss | | modified_time | 最后更新时间 | char(14) | 格式为yyyyMMddHHmmss | | modifier | 最后更新账号id | varchar(32) | | | valid | 合法标识 | tinyint(4) | 0-无效,1-有效 | | ts | 乐观锁 | timestamp | | ## DDL语句 ### 对象实例表 ```sql CREATE TABLE IF NOT EXISTS `dt_object` ( `id` varchar(100) NOT NULL, `name` varchar(100) DEFAULT NULL COMMENT '对象名称', `local_id` varchar(100) DEFAULT NULL COMMENT '对象本地编码', `local_name` varchar(100) DEFAULT NULL COMMENT '对象本地名称', `group_code` varchar(40) DEFAULT NULL COMMENT '集团编码', `project_id` varchar(40) NOT NULL COMMENT '项目id', `obj_type` varchar(40) NOT NULL COMMENT '对象分类', `class_code` varchar(40) NOT NULL COMMENT '对象类型编码', `grouping` int(11) NOT NULL DEFAULT '1' COMMENT '1单个对象,2对象组', `infos` json DEFAULT NULL COMMENT '边类型编码', `virtual_codes` json DEFAULT NULL COMMENT '虚点清单', `create_app` varchar(40) DEFAULT NULL COMMENT '创建应用', `update_app` varchar(40) DEFAULT NULL COMMENT '最后更新应用', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `idx_project_1` (`project_id`,`class_code`,`creation_time`) USING BTREE, KEY `idx_project_2` (`project_id`,`creation_time`) USING BTREE, KEY `idx_project_3` (`project_id`,`modified_time`) USING BTREE, KEY `idx_0` (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='对象实例表'; ``` ### 关系实例表 ```sql CREATE TABLE IF NOT EXISTS `dt_relation` ( `id` varchar(40) NOT NULL, `group_code` varchar(40) DEFAULT NULL, `project_id` varchar(40) NOT NULL, `graph_id` varchar(40) DEFAULT NULL COMMENT '图主键', `graph_code` varchar(40) DEFAULT NULL COMMENT '图编码', `rel_code` varchar(40) DEFAULT NULL COMMENT '关系编码', `rel_value` varchar(45) DEFAULT NULL COMMENT '关系值', `obj_from` varchar(60) DEFAULT NULL COMMENT '来源对象', `obj_to` varchar(60) DEFAULT NULL COMMENT '目标对象', `create_app` varchar(40) DEFAULT NULL COMMENT '创建应用', `update_app` varchar(40) DEFAULT NULL COMMENT '最后更新应用', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `idx_graph_code` (`graph_code`) USING BTREE, KEY `idx_1` (`graph_code`,`rel_code`,`obj_from`,`obj_to`,`project_id`) USING BTREE, KEY `idx_3` (`graph_code`,`rel_code`,`obj_to`,`project_id`) USING BTREE, KEY `idx_2` (`graph_id`,`rel_code`,`obj_from`,`obj_to`,`project_id`) USING BTREE, KEY `idx_4` (`graph_id`,`rel_code`,`obj_to`,`project_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='关系实例表'; ``` ### 图类型表 ```sql CREATE TABLE IF NOT EXISTS `dt_define_graph` ( `id` varchar(40) NOT NULL, `code` varchar(40) DEFAULT NULL COMMENT '编码', `name` varchar(200) DEFAULT NULL COMMENT '名称', `first_category` varchar(40) DEFAULT NULL COMMENT '一级分类', `second_category` varchar(40) DEFAULT NULL COMMENT '二级分类', `remark` varchar(255) DEFAULT NULL COMMENT '分类说明', `object_types` varchar(255) DEFAULT NULL COMMENT '关系两侧对象类别', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `idx_code` (`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='图类型表'; ``` ### 边类型表 ``` CREATE TABLE `dt_define_rel` ( `id` varchar(40) NOT NULL, `code` varchar(40) DEFAULT NULL COMMENT '边类型编码', `name` varchar(40) DEFAULT NULL COMMENT '边类型名称', `graph_code` varchar(40) DEFAULT NULL COMMENT '图类型编码', `directional` int(11) DEFAULT NULL COMMENT '边方向性', `attribute` varchar(255) DEFAULT NULL COMMENT '边属性', `target_objs` varchar(255) DEFAULT NULL COMMENT '主要连接对象', `remark` varchar(45) DEFAULT NULL COMMENT '备注', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', PRIMARY KEY (`id`) USING BTREE, KEY `code` (`code`) USING BTREE, KEY `graph_code` (`graph_code`,`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='边类型表'; ``` ### 信息点定义表 ```sql CREATE TABLE IF NOT EXISTS `dt_define_info` ( `id` varchar(40) NOT NULL, `code` varchar(60) NOT NULL COMMENT '信息点编码,同类型下唯一,标准驼峰格式', `name` varchar(200) DEFAULT NULL COMMENT '信息点名称', `alias_code` varchar(60) DEFAULT NULL COMMENT '别名编码', `alias_name` varchar(200) DEFAULT NULL COMMENT '别名名称', `class_code` varchar(60) DEFAULT NULL COMMENT '类型编码', `group_code` varchar(40) NOT NULL DEFAULT '0' COMMENT '集团编码', `project_id` varchar(40) NOT NULL DEFAULT '0' COMMENT '项目id', `category` varchar(40) DEFAULT NULL COMMENT '信息点分类:静态,脉冲,阶段,时序', `first_tag` varchar(40) DEFAULT NULL COMMENT '一级标签', `second_tag` varchar(40) DEFAULT NULL COMMENT '二级标签', `priority` varchar(10) DEFAULT NULL COMMENT '优先级', `input_mode` varchar(40) DEFAULT NULL COMMENT '输入方式', `unit` varchar(40) DEFAULT NULL COMMENT '单位', `data_type` varchar(40) DEFAULT NULL COMMENT '数据类型', `is_multiple` int(11) DEFAULT NULL COMMENT '是否复数', `is_region` int(11) DEFAULT NULL COMMENT '是否区间', `formater` varchar(40) DEFAULT NULL COMMENT '数据格式', `data_source` json DEFAULT NULL COMMENT '数据源取值范围/枚举值清单等,根据dataType有不同的内容', `remark` text COMMENT '备注', `sub_flag` int(11) DEFAULT NULL COMMENT '子分类标记:是否可以按此信息点进行子分类替换,同一类型下目前只支持一个子分类信息点', `weak_point` int(11) DEFAULT NULL COMMENT '虚点', `show_order` int(11) DEFAULT NULL COMMENT '显示顺序', `version` varchar(40) DEFAULT NULL COMMENT '最后修改版本', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', `type` varchar(40) DEFAULT NULL COMMENT '管理层级:common-平台级,group-集团级,project-项目级', PRIMARY KEY (`id`) USING BTREE, KEY `idx_class_1` (`class_code`,`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='信息点定义表'; ``` ### 对象类型定义表 ```sql CREATE TABLE IF NOT EXISTS `dt_define_type` ( `id` varchar(40) NOT NULL COMMENT '主键', `code` varchar(40) NOT NULL COMMENT '编码-全局唯一', `name` varchar(200) NOT NULL COMMENT '名称', `alias_code` varchar(40) NOT NULL COMMENT '别名编码, 集团下唯一 ', `alias_name` varchar(200) NOT NULL COMMENT '别名名称', `obj_type` varchar(40) DEFAULT NULL COMMENT '大类型:项目建筑楼层空间系统设备竖井', `group_code` varchar(40) NOT NULL DEFAULT '0' COMMENT '集团编码', `project_id` varchar(40) NOT NULL DEFAULT '0' COMMENT '项目id', `major_code` varchar(40) DEFAULT NULL COMMENT '专业编码, 上级类型是系统or设备时该字段有值', `system_code` varchar(40) DEFAULT NULL COMMENT '系统编码,上级类型是设备时该字段有值,值为系统类型的code', `equipment_code` varchar(40) DEFAULT NULL COMMENT '设备编码,上级类型是部件时该字段有值,值为设备类型的code', `parent_code` varchar(40) DEFAULT NULL COMMENT '上级类型code,默认为"0"', `version` varchar(40) DEFAULT NULL COMMENT '最后修改版本', `creator` varchar(32) DEFAULT NULL COMMENT '创建人', `creation_time` char(14) DEFAULT NULL COMMENT '创建时间', `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人', `modified_time` char(14) DEFAULT NULL COMMENT '最后修改时间', `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁', `type` varchar(40) DEFAULT NULL COMMENT '管理层级:common-平台级,group-集团级,project-项目级', PRIMARY KEY (`id`) USING BTREE, KEY `idx_code` (`code`) USING BTREE, KEY `idx_alias_code` (`alias_code`) USING BTREE, KEY `idx_parent_code` (`parent_code`) USING BTREE, KEY `idx_major_code` (`major_code`) USING BTREE, KEY `idx_code_1` (`group_code`,`project_id`,`code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='对象类型定义'; ```