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 | 信息点分类:静态,脉冲,阶段,时序 |
groupCode | 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 | [0, 1] | 无 |
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 | ||
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)一起使用
布尔值BOOLEAN只允许0或1, 其中0表示false,1表示true.
接口说明
1.若集团编码、方案id、项目id全部为空,则返回(符合查询条件的)平台级字典定义的数据
2.若集团编码不为空,则返回集团级字典定义的数据
3.若集团方案id不为空,则返回集团方案订阅的数据
4.若项目id不为空,则返回项目级字典定义的数据
5.若应用id不为空,则返回应用订阅的数据
6.查询应带上classCode字段
7.不支持分页
8.如果平台级、集团级、项目级均有相同code对应的信息点数据,则按优先级顺序(项目级 > 集团级 > 平台级)返回高优先级的数据
9.该接口已处理平台级、集团级、项目级三级字典逻辑,返回数据中type、groupCode、projectId三个字段可以忽略
请求方式
POST /rwd/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
}
]
}