|
@@ -0,0 +1,145 @@
|
|
|
|
+### 数据说明
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+1.信息点定义,用于描述类型的属性
|
|
|
|
+2.默认每个类型都有id、name、localId、localName、objType、classCode、projectId,无需订阅,也不能取消订阅
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 数据结构
|
|
|
|
+
|
|
|
|
+| 字段 | 数据类型 | 查询字段 | 说明 |
|
|
|
|
+| ---------- | -------- | -------- | -------------------------------------------------------------------------------- |
|
|
|
|
+| code | String | Y | 信息点编码,同类型下唯一 |
|
|
|
|
+| name | String | Y | 信息点名称 |
|
|
|
|
+| aliasCode | String | Y | 信息点别编码,同类型下唯一 |
|
|
|
|
+| aliasName | String | Y | 信息点别名 |
|
|
|
|
+| classCode | String | Y | 类型编码 |
|
|
|
|
+| type | String | Y | 字典级别:平台级 common,集团级 group,项目级 project |
|
|
|
|
+| category | String | Y | 信息点分类:静态,脉冲,阶段,时序 |
|
|
|
|
+| groupId | String | Y | 集团 id, type=group 或 type=project 时该字段为集团 id,否则为"0" |
|
|
|
|
+| projectId | String | Y | 集团 id, type=project 时该字段为项目 id,否则为"0" |
|
|
|
|
+| firstTag | String | Y | 一级标签 |
|
|
|
|
+| secondTag | String | Y | 二级标签 |
|
|
|
|
+| priority | String | | 优先级 |
|
|
|
|
+| inputMode | String | | 输入方式 |
|
|
|
|
+| unit | String | | 单位 |
|
|
|
|
+| dataType | String | Y | 数据类型 |
|
|
|
|
+| isMultiple | Boolean | | 是否复数 |
|
|
|
|
+| isRegion | Boolean | | 是否区间 |
|
|
|
|
+| formater | String | | 数据格式 |
|
|
|
|
+| dataSource | Object[] | | 数据源取值范围/枚举值清单等,根据 dataType 有不同的内容 |
|
|
|
|
+| note | String | | 备注 |
|
|
|
|
+| subFlag | String | Y | 子分类标记:是否可以按此信息点进行子分类替换,同一类型下目前只支持一个子分类信息点 |
|
|
|
|
+
|
|
|
|
+### 数据类型
|
|
|
|
+
|
|
|
|
+| 数据类型 | 类型名称 | 信息点分类 | 是否复数 | 是否区间 | 数据源 | 格式 |
|
|
|
|
+| ---------- | -------- | ------------------- | ---------- | ---------- | -------------------------------- | ------- |
|
|
|
|
+| INTEGER | 整数 | 静态/脉冲/时序/阶段 | true/false | true/false | {$gt:10, $lt:50} | 无 |
|
|
|
|
+| DOUBLE | 浮点型 | 静态/脉冲/时序/阶段 | true/false | true/false | {$gte:10.1, $lt:50.9} | 无 |
|
|
|
|
+| BOOLEAN | 布尔值 | 静态/脉冲/时序/阶段 | true/false | false | | 无 |
|
|
|
|
+| STRING | 字符串 | 静态/脉冲/时序/阶段 | true/false | false | (字符串长度区间){$gt:10, $lt:50} | 无 |
|
|
|
|
+| DATETIME | 日期时间 | 静态/脉冲/时序/阶段 | true/false | true/false | {'$gt':'0915', '$lt':'1031'} | 'MMdd' |
|
|
|
|
+| ENUM | 单选枚举 | 静态/脉冲/时序/阶段 | true/false | false | 应用数据标准化中定义的数据类型 | 无 |
|
|
|
|
+| MENUM | 多选枚举 | 静态/脉冲/时序/阶段 | true/false | false | 应用数据标准化中定义的数据类型 | 无 |
|
|
|
|
+| ATTACHMENT | 附件 | 静态 | true/false | false | | pdf |
|
|
|
|
+| OBJECT | 对象 | 静态 | true/false | false | | 对象 id |
|
|
|
|
+
|
|
|
|
+说明
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+把原来的data_type拆解成多个属性,减少了data_type种类数量
|
|
|
|
+使用新的数据类型时,使用新的数据类型时,创建或编辑信息点需要明确指出数据类型、动静分类、是否复数、是否区间、长度(可选)、取值区间(可选)、格式(可选)
|
|
|
|
+Tree、Topology、Route、Function四种类型不再支持(有需求再加回来)
|
|
|
|
+
|
|
|
|
+动静分类(静态 STATIC、脉冲 PULSE、时序 SEQUENTIAL、阶段 GRADATION)应该是信息点的一个分类,不是数据类型的属性,放在这里是为了更直观更容易理解
|
|
|
|
+根据动静分类区分动态量或静态量,静态量的值存储的是具体的数据,动态量的值存储的是表号-功能号,动态量包括脉冲量、时序量和阶段量
|
|
|
|
+根据是否区间来判断存储的值是具体值还是区间, 比如INTEGER非区间的值12, 区间值[8, 15],为了区分开闭区间,这里实际存储为{$gt: 12, $lte: 15}, 其中$gt大于,$lt小于,$gte大于等于,$lte小于等于
|
|
|
|
+根据是否复数区分存储的值是单个值还是多个值,单个值存储形式为xxx,多个值存储形式为[xxx, yyy],如果同时是复数和区间,存储的是多个区间
|
|
|
|
+取值区间可以约束值的取值范围,可以通过取值区间做一次校验,如果是区间值,区间也应该是在取值区间的内部
|
|
|
|
+统一用DATETIME表示日期和时间,通过格式设定具体存储的内容,格式由数据字典进行维护,物理世界存储的数据严格符合格式
|
|
|
|
+格式是数据存储的数据格式或文件格式,对于日期时间附件对象等可进行校验
|
|
|
|
+单选枚举Enum单数存储为GC, 复数存储为[GC, JK]
|
|
|
|
+多选枚举MEnum单数存储为[GC, JK], 复数存储为[[GC], [GC,JK]], 多选枚举单数和单选枚举复数的存储形式一样应该不会出现问题,因为实际使用时是和类型(Enum,Menum)一起使用
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询接口
|
|
|
|
+
|
|
|
|
+接口说明
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+1.若集团编码、方案id、项目id全部为空,则返回(符合查询条件的)平台级字典定义的数据
|
|
|
|
+2.若集团编码不为空,则返回集团级字典定义的数据
|
|
|
|
+3.若集团方案id不为空,则返回集团方案订阅的数据
|
|
|
|
+4.若项目id不为空,则返回项目级字典定义的数据
|
|
|
|
+5.若应用id不为空,则返回应用订阅的数据
|
|
|
|
+6.查询应带上classCode字段
|
|
|
|
+7.不支持分页
|
|
|
|
+8.如果平台级、集团级、项目级均有相同code对应的信息点数据,则按优先级顺序(项目级 > 集团级 > 平台级)返回高优先级的数据
|
|
|
|
+9.该接口已处理平台级、集团级、项目级三级字典逻辑,返回数据中type、groupCode、projectId三个字段可以忽略
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+请求方式
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+POST /def/funcid?groupCode=集团编码&schemeId=方案id&projectId=项目id&appId=应用id
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+路径参数说明
|
|
|
|
+
|
|
|
|
+| 字段 | 数据类型 | 说明 |
|
|
|
|
+| --------- | -------- | --------------------------------------------- |
|
|
|
|
+| groupCode | String | 集团编码 |
|
|
|
|
+| schemeId | String | 方案 id |
|
|
|
|
+| projectId | String | 项目 id |
|
|
|
|
+| appId | String | 应用 id, 若应用不为空则必须项目 id 同时不为空 |
|
|
|
|
+
|
|
|
|
+请求体
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+{
|
|
|
|
+ "criteria": {
|
|
|
|
+ "classCode": "ACATAH",
|
|
|
|
+ "category": "STATIC"
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+返回数据
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+{
|
|
|
|
+ "result": "success",
|
|
|
|
+ "data": [
|
|
|
|
+ {
|
|
|
|
+ "id": "29bdf24e030d47cdb05cfde4c8028d59",
|
|
|
|
+ "code": "isFanGear",
|
|
|
|
+ "origCode": "isFanGear",
|
|
|
|
+ "name": "风机有无档位选项",
|
|
|
|
+ "aliasCode": "isFanGear",
|
|
|
|
+ "aliasName": "风机有无档位选项",
|
|
|
|
+ "classCode": "ACATFC",
|
|
|
|
+ "category": "STATIC",
|
|
|
|
+ "type": "common",
|
|
|
|
+ "groupCode": "0",
|
|
|
|
+ "projectId": "0",
|
|
|
|
+ "firstTag": "技术参数",
|
|
|
|
+ "secondTag": "风机",
|
|
|
|
+ "priority": "S",
|
|
|
|
+ "inputMode": "E1",
|
|
|
|
+ "dataType": "BOOLEAN",
|
|
|
|
+ "origDataType": "Bool",
|
|
|
|
+ "isMultiple": false,
|
|
|
|
+ "isRegion": false,
|
|
|
|
+ "subFlag": false,
|
|
|
|
+ "weakPoint": false
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+```
|