# 编码说明
1. 项目（Project）：Pj+6位地区代码+4位项目顺序码 
2. 建筑体（Building）：Bd+6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：Bd+6位地区代码+4位项目顺序码+任意位数唯一码 ）
3. 楼层（Floor）：Fl+6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：Fl+6位地区代码+4位项目顺序码+任意位数唯一码 ）
4. 空间（Space）：Sp+6位地区代码+4位项目顺序码+32位uuid  （此为系统默认，支持旧版本的广义规则为：Sp+6位地区代码+4位项目顺序码+任意位数唯一码 ）
5. 系统（System）：Sy+6位地区代码+4位项目顺序码+32位uuid  （此为系统默认，支持旧版本的广义规则为：Sy+6位地区代码+4位项目顺序码+任意位数唯一码 ）
6. 设备（Equipment）：Eq+6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：Eq+6位地区代码+4位项目顺序码+任意位数唯一码 ）
7. 部件（Equipment Component）：Ec+6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：Ec+6位地区代码+4位项目顺序码+任意位数唯一码 ）
8. 设施（Structure）：St+6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：St+6位地区代码+4位项目顺序码+任意位数唯一码 ）
9. 设施部件（Structure Component）：Sc+6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：Sc+6位地区代码+4位项目顺序码+任意位数唯一码 ）
10. 图实例 ：Gt + n位图类型 + 3位顺序码 
11. 自定义信息点 ："ctm-" + 信息点编码
12. 设备资产编码: Pe+(除去'-'的UUID)
13. 元空间 ：Si+6位地区代码+4位项目顺序码+32位uuid  （此为系统默认，支持旧版本的广义规则为：Si+6位地区代码+4位项目顺序码+任意位数唯一码 ）
14. 竖井：Sh+6位地区代码+4位项目顺序码+32位uuid
15. 虚拟对象：虚拟对象4位编码 + 6位地区代码+4位项目顺序码+32位uuid （此为系统默认，支持旧版本的广义规则为：VO + Bd + 6位地区代码+4位项目顺序码+任意位数唯一码 ）  
             虚拟对象编码如下：虚拟建筑VOBd，计算单元VOCu，能源分项VOEi，租户VOTn，区域VOZn，设备组VOGp，自控VOCt，信标VOBc，用电分项VOSe，用冷分项VOSc，用热分项VOSh，
             用水分项VOSw，用燃气分项VOSg，用燃油分项VOSf，用蒸汽分项VOSv, 支路  VOBr, 仪表  VOMt
16. 耗材：Co+6位地区代码+4位项目顺序码+32位uuid
17. 工具：TO+6位地区代码+4位项目顺序码+32位uuid

**删除依赖关系:删除项目必须删除建筑体, 删除建筑体必须删除建筑体下的设备,系统和楼层, 删除楼层必须删除楼层下的空间**

# 规则约定

##某些信息点值约定：

### 附件类信息点，其值格式为：
    [
        {
            "type": "image",   // image,file,video或panorama
            "key":"",          
            "name":"",
            "systemId":"dataPlatform"  //选填，图片服务所用账号，不填默认为dataPlatform
        },
        {
            "type": "file",  // image,file,vedio或panorama
            "key":"",
            "name":"",
            "systemId":"dataPlatform"  //选填，图片服务所用账号，不填默认为dataPlatform
        },
    ]
    
### 表号功能号类信息点(对应数字类值)，值格式为(用横杠连接)：
               
                   "meter-fun"
                   
### 表号功能号类信息点(对应字符串类值)，值格式为(用加号连接)：
               
                   "meter+fun"                   
                   
### 建筑上HeatPeriod（供暖季时段）和CoolPeriod（供冷季时段）值约定：

    [
        "2018-10-08",
        "2018-11-14"
    ]
    
第一个值为开始时间，第二个值为结束时间，忽略年，只取月日。（按此方式约定原因：前端已完成功能按此方式写入）
    
##关于资产跟岗位(设备或部件)信息点同步(信息点的相互补充和覆盖)的问题 (默认不同步信息点)
      添加资产接口(property/create接口):
          1. 指定关联对象, [添加信息点或不添加信息点均可]
                 添加完信息点, 最后同步关联对象信息点, 不会覆盖关联对象的信息点
          2. 未指定关联对象, 添加信息点
                 只添加信息点, 不再同步关联对象信息点, 也不会覆盖关联对象信息点
      修改资产接口(property/update接口):
          1. 修改关联对象, 修改信息点
                 同步关联对象的信息点, 之后覆盖关联对象的信息点[仅覆盖此次修改过的信息点, 仅覆盖当前起作用的值和未来起作用的值]
          2. 不修改关联对象, 仅修改信息点
                 覆盖关联对象的信息点[仅覆盖此次修改过的信息点, 仅覆盖当前起作用的值和未来起作用的值]
          3. 修改关联对象, 不修改信息点
                 仅同步关联对象的信息点
      修改设备或部件接口(object/batch_update接口, 仅限修改设备和部件, 并且有关联的资产时适用):
          1. 修改信息点
                 覆盖关联对象的信息点[仅覆盖此次修改过的信息点, 仅覆盖当前起作用的值和未来起作用的值]
##查询资产或设备的返回值, 由linkInfos参数决定是不是查询关联资产或者岗位的信息, 默认true(返回)
    {
        "id":"Pe******",
        "family":"",
        "infos":{              // 里面的信息点是该资产和关联岗位的信息点的合并
            "EquipName":"***",.....
        }
    }
    {
        "id":"Eq******",
        "family":"",
        "linkId":"Pe******",
        "infos":{              // 里面的信息点是该岗位和关联资产的信息点的合并
            "EquipName":"***",.....
        }
    }

##信息点计算的配置 (此处以设备[Eq...001]的信息点[infoPoint001]为例, 此处仅演示重要部分)
    // 当查询Eq...001的信息点infoPoint001的分精度数据时候, 会按照expr里面的表达式来计算, vars里面是表达式中的变量
    // 每个变量里面要写明所引用的id和id的信息点编码.
    
    // 设备Eq...001
    {
      "infoPoint001": {
        "expr": "(a+b+5.5)/6.6*c",
        "vars": {
          "a": {
            "id": "Eq....002",
            "code": "infoPoint002"
          },
          "b": {
            "id": "Eq....003",
            "code": "infoPoint002"
          },
          "c":{
            "meterfunc":"meter-func"        // 标号-功能号
          }
        }
      },
      "infoPoint002": "1001-9005"
    }
    // 设备Eq...002
    {
        "infoPoint002":"1003-10101"
    }
    // 设备Eq...003
    {
        "infoPoint002":"1002-10101"
    }

#查询物理实体
## 根据Id批量获取各物理实体  --->支持自身项目,建筑体,竖井,元空间,空间,楼层,设备,系统,虚拟对象查询

    http://localhost:8080/data-platform-3/object/batch_query?projectId=Pj110108****&secret=***
post例子：
    
	{
	    "customInfo": false // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
        "nodata":true, // 选填, 如果为true, 则只统计个数. 不查询实际信息, 适用于所有查询, 默认false
        "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已删除对象, null表示都查询. 不填默认是true. 
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "noInfo":false,      // 选填, 查询结果是否需要信息点, true是不需要, false是需要, 默认false
        "ctime":{      // 选填, 按创建时间筛选数据 $gt 大于, $gte 大于等于, $lt 小于, $lte 小于等于. 可以只有大于或者小于, 但是要合乎是一个时间段的逻辑
            "$gte":"20170913000000",
            "$lte":"20170920000000"
        },
        "returnInfos":[      //选填，指定返回信息点
            "EquipID",
            "EquipName"
        ],
	    "criterias":[
		    {"id":"Pj1101080001"},
		    {"id":"Bd1101080001001"},
		    {"id":"Fl1101080001001000"},
		    {"id":"Sp1101080001001000001"},
		    {"id":"Eq1101080001001ACATAH027"},
		    {"id":"Sy1101080001001ACCC001"},
		    {"id":"VOBd11010800010001"}, // VO + Bd(建筑类型) + 项目Id + 4位自身编号
		    {"id":"VOCu11010800010001"}, // VO + Cu(计算单元类型) + 项目Id + 4位自身编号
		]
	}
返回： 

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 6,
        "Content": [
            {
                "id": "Pj1101080001",
                "location":{},
                "password":"***",
                "infos": {
                    "ProjLocalID": "1101080001",   // 根据历史数据计算出的当前值. 值为null表示当前没有生效的值
                    "ProjLocalID_his":[            // 历史数据 , 其中time为生效时间.
                        {"time":"20170806202258", "value" : "111111111"},
                        {"time":"20170806202258", "value" : "111110001"}
                    ]
                    "ProjLocalName": "广联达二期",
                    *
                    *
                    "ProjID": "Pj1101080001"
                }
            },********
            {
                "id": "Eq1101080001001ACATAH027",
                "location":{
                    "building":"Bdgefgdfgdfsg"
                },
                "category":"ACATAH",                //具体种类，只有系统、设备、部件有该字段。其他没有
                "infos": {
                    ...
                }
            },
            {
                "id": "Ec1101080001aaaaaaaa",
                "location":{
                    "equipment": "Eq11010800014c6a0df8e1f64219bb081d9525ade87d",    //部件所属设备
                    "building": "Bd1101080001001"                                   //部件所在建筑
                },
                "category":"SETDLSDW",                //具体种类，只有系统、设备、部件有该字段。其他没有
                "infos": {
                    ...
                }
            },
            {
                "id": "Sp11010800017d432c26bd9f4e23943806fc316faea4",
                "business_type":"",                                                 // 空间的业务类型
                "location":{
                    "floor": "Fl11010800013e439634f83e41a98bb3e8e44c1749d5",        // 空间所在楼层，不一定有该字段，空间可以直接挂在建筑下面
                    "building": "Bd1101080001002"                                   // 空间所在建筑
                },
                "infos": {
                    ...
                }
            }
        ]
    }
    // 当nodata为true的时候, 返回:
    {  
        "Result": "success",
        "ResultMsg": "",
        "Count": 6
        "Content": [ ]
    }
    {"Result":"failure","ResultMsg":"****"}  

## 查询带有实时数据的物理实体

    http://localhost:8080/data-platform-3/object/query_with_param?projectId=Pj110108****&secret=***

post例子：
    
	{
	    "customInfo": false // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
        "nodata":true, // 选填, 如果为true, 则只统计个数. 不查询实际信息, 适用于所有查询, 默认false
        "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已删除对象, null表示都查询. 不填默认是true. 
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "ctime":{      // 选填, 按创建时间筛选数据 $gt 大于, $gte 大于等于, $lt 小于, $lte 小于等于. 可以只有大于或者小于, 但是要合乎是一个时间段的逻辑
            "$gte":"20170913000000",
            "$lte":"20170920000000"
        },
        "id":"Bd1101080001001"	  
	}
	
返回：

	{  
        "Result": "success",
        "ResultMsg": "",
        "Count": 6
        "Content": { 
            "id": "Eq1101080001001ACATAH027",
            "location":{
                "building":"Bdgefgdfgdfsg"
            },
            "category":"ACATAH",                //具体种类，只有系统、设备、部件有该字段。其他没有
            "infos": {
                "info1":{
                    "value":"",                     //信息点中的表号功能号
                    "data":12,                      //实时数据
                    "receivetime":"20171102110012"  //实时数据接收到的时间
                }
            }
        
        }
    }
	
## 根据信息点来查询各物理实体  --->支持自身项目,建筑体,竖井,元空间,空间,楼层,设备,系统, 虚拟对象查询

    http://localhost:8080/data-platform-3/object/query_by_info?projectId=Pj110108****&secret=***
post例子：

    新接口
    
    {
        "customInfo": false       // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
        "nodata":false,           // 可选
        "valid": true,            // 可选
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "noInfo":false,      // 选填, 查询结果是否需要信息点, true是不需要, false是需要, 默认false
        "ctime":{                 // 可选
            "$gte":"20170905120200",
            "$lte":"20170905120200"
        }
        "criteria":{
            "id":"Bd*********",    // 可选, 不填默认是从项目下找. 只能是Pj Bd, Fl, Eq的id.
            "type":["Eq", "TD"],   // 可选, 
            "set":true,            // 可选 true为交集, false为并集,  默认交集
            "infos":[              // 必填.
                {
                    "ProjLocalName":"广联达二期",            // 信息点名称和信息点值 
                    "time":"20170905120200"                  // 可选填, 不填默认是当前时间, 为null则匹配所有历史值
                },
                {
                    "ProjLocalID":{
                        "$gte":"***",
                        "$lte":"******"
                    },
                    "time":"20170905120200"
                }
            ]
        },
        "returnInfos":[                //可选，指定返回信息点
            "EquipID",
            "EquipName"
        ]
    }
    
返回:
    
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 6
        "Content": [
            {
                "id": "Pj1101080001",
                "password":"***",
                "infos": {
                    "ProjLocalID": "1101080001",
                    "ProjLocalName": "广联达二期",
                    *
                    *
                    "ProjID": "Pj1101080001"
                }
            },.....
        ]
    }
    {"Result":"failure","ResultMsg":"****"}  
## 信息点查询(信息点的in操作)  --->  支持自身项目, 建筑体, 竖井, 元空间, 空间, 楼层, 设备, 部件, 系统, 虚拟对象查询, 资产

    http://localhost:8080/data-platform-3/fast/object/in_query?projectId=Pj110108****&secret=***
post例子：

    新接口
    
    {
        "customInfo": false,       // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
        "nodata":false,            // 可选
        "valid": true,             // 可选
        "limit":{        // 分页查询, 选填.
            "skip":300,  // 跳过多少数据
            "count":50   // 查询跳过300条数据之后的50条 (默认按照创建时间从大-->小排序)
        }
        "linkInfos": true,         // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "historyInfos":false,      // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "noInfo":false,      // 选填, 查询结果是否需要信息点, true是不需要, false是需要, 默认false
        "ctime":{                  // 可选
            "$gte":"20170905120200",
            "$lte":"20170905120200"
        },
        "criteria":{               // 必填
            "id":"Bd*********",    // 可选, 不填默认是从项目下找. 只能是Pj Bd, Fl的id.
            "type":["Eq", "TD"],   // 必填, 支持业务空间类型、耗材、工具
            "set":true,            // 可选 true为交集, false为并集,  默认交集
            "accurate":true,       // 可选 true是精确匹配或false是模糊匹配, 默认true
            // 下面是信息点的查询
            "ProjLocalName":["广联达二期", "广联达三期"],   // 选填, 信息点可以多个, 支持[null]值, 表示匹配该信息点没有值的对象
            "EquipLocalName":["泵"]
            // 下面是关系筛查, 同时有exclude和include的时候, 结果是include - exclude
            "exclude":[            // 可选, 排除指定图/关系中的对象, 条件在该层面应具有唯一性[graphId, relType, fromId, toId]
                {
                    "graphId":"",                // 必填, graphId和graphType二选一
                    "graphType":"",              // 同上, 如果只指定图类型, 则默认使用当前生效的第一张图实例, 如果没有则忽略此exclude
                    "relType":"",                // 选填, 默认值是1, 建议填, 关系类型, 如果不是1则需要指定
                    "side":"fromId|both|toId"    // 选填, 默认是both, 要筛选的关系方向, 三选一
                    "fromId":"",                 // 选填
                    "toId":""                    // 选填
                },....
            ],
            "include":[            // 可选, 只查询指定图/关系中的对象
                {
                    "graphId":"",
                    "graphType":"",
                    "relType":"",
                    "side":"fromId|both|toId"
                    "fromId":"",                 // 选填
                    "toId":""                    // 选填
                }
            ]
        },
        "returnInfos":[                //可选，指定返回信息点
            "EquipID",
            "EquipName"
        ]        
    }
    
返回:
    
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 6
        "Content": [
            {
                "id": "Pj1101080001",
                "password":"***",
                "infos": {
                    "ProjLocalID": "1101080001",
                    "ProjLocalName": "广联达二期",
                    *
                    *
                    "ProjID": "Pj1101080001"
                }
            },.....
        ]
    }
    {"Result":"failure","ResultMsg":"****"}  


## 查询项目下所有设备信息

    http://localhost:8080/data-platform-3/fast/object/queryAllEq?projectId=Pj110108****&secret=***
post例子：

    新接口
    {
        "returnInfos":[                //可选，指定返回信息点
            "EquipID",
            "EquipName",
			"EquipLocalName"
        ]        
    }
    
返回:
    
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 6
        "Content": [
            {
                "id": "Eq634d1f652b0b4bc881601e7498b4d053",
                "category":"SELTLT",
				"location": {
					"floor": "Fl9de6b315b82a11e9b9119757a1f51ffb",
					"building": "Bd9de6b315b82a11e9b9119757a1f51ffb"
				},
                "infos": {
                    "EquipName": "设备-179TF",
					"EquipLocalName": "B01_B1M3ALG#电箱30#",
					"EquipID": "Eq3203020001634d1f652b0b4bc881601e7498b4d053"
                }
            },.....
        ]
    }
    {"Result":"failure","ResultMsg":"****"}  


## 查询某个object下指定类型的objects (查询项目下的所有类型, 建筑下的设备,系统, 部件,楼层,元空间,空间. 查询楼层中的空间,元空间, 非关系表查询)
	http://localhost:8080/data-platform-3/object/subset_query?projectId=Pj110108****&secret=*** 
	
post例子：
        
	{
	    "customInfo": false // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
        "nodata":false,  //选填, 是否只获取Count
        "noInfo":false,      // 选填, 查询结果是否需要信息点, true是不需要, false是需要, 默认false
        "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已删除对象, null表示都查询. 不填默认是true.
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "ctime":{      // 选填
            "$gte":"20170905120200",
            "$lte":"20170905120200"
        },
        "returnInfos":[                //可选，指定返回信息点
            "EquipID",
            "EquipName"
        ],
        "limit":{          // 选填
            "skip":0,
            "count":10
        },
        "criteria":{
            "id":"Bd......" // id只能是project id, building id , floor id 或者 equipment id. 不填id或者null, 则默认是project id
            "type":["Eq", "Sy"]     // 值可以是设备类型:"TDLS", 系统类型: "TD"或者 "Eq", "Sy", "Fl", "Sp", "Bd", "Pj". 
        }                           // 也可以是耗材（Cs）,工具（Tl）及其子类型（2255）
    }
返回:

    {
        "Result": "success", 
        "Content": [ 
            { 
                "id": "Eq........", 
                "infos": { 
                    "ProjLocalID": "1101080001", 
                    "ProjLocalName": "广联达二期", 
                    * 
                    *....
                }
            }
        ],
        "Count": 1
    }
    {"Result":"failure","ResultMsg":"****"}  
    
##设备综合查询
    http://localhost:8080/data-platform-3/equipment/complex_query?projectId=Pj110108****&secret=*** 
    	设备综合查询1--->按专业大类查询设备.
    	{
    	    "customInfo": false // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
    		"valid":true,                    // 可选
    		"nodata":true,                   // 可选
            "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
            "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
            "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
    		"ctime":{                        // 可选 设备创建时间
    			"$gte":"20170905120200",
    			"$lte":"20170905120200"
    		},
    		"limit":{                        // 可选
    			"skip":300,  // 跳过多少数据
    			"count":50   // 查询跳过300条数据之后的50条 (默认按照创建时间从大-->小排序)
    		}
    		"criteria":{
    			"building_id":"Bd*****",   // 可选, 默认是整个项目下的设备.
    			"category":"AC",           // 2位专业编码, 4位系统编码, 6位设备编码下的所有设备
    			"name":"****"              // 模糊匹配 EquipLocalName和EquipLocalID
    		},
            "returnInfos":[                //可选，指定返回信息点
                "EquipID",
                "EquipName"
            ]    		
    	}
    	设备综合查询2--->按关系类型查询系统下的所有设备.
    	{
    	    "customInfo": false             // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
    		"valid":true,                   // 可选
    		"nodata":true,                  // 可选
    		"ctime":{                       // 可选 创建时间再此范围内的设备.
    			"$gte":"20170905120200",
    			"$lte":"20170905120200"
    		},
    		"limit":{                        // 可选
    			"skip":300,  // 跳过多少数据
    			"count":50   // 查询跳过300条数据之后的50条 (默认按照创建时间从大-->小排序)
    		},
    		"criteria":{
    			"system_id":"Sy******",    // 某个系统下关联的所有设备(关系查询)
    			"graph_id":"****",         // 图实例id
    			"rel_type":"****"          // 关系类型
    			"name":"****"              // 模糊匹配 EquipLocalName和EquipLocalID
    		},
            "returnInfos":[                //可选，指定返回信息点
                "EquipID",
                "EquipName"
            ]		
    	}
返回:
    
    	{
    		"Result":"***",
    		"TotalCount":500,
    		"Count":50,
    		"ResultMsg":"****",
    		"Content":[
    			{
    				"***":"****"
    			},.....	
    		]
    	}
    	{"Result":"failure","ResultMsg":"****"}  
    	
##批量查询指定信息点内容(查询设备时，不会将资产信息点覆盖过来)
    http://localhost:8080/data-platform-2/object/query_part_info?projectId=Pj110108****&secret=*** 
post例子：

    {
        "time":"20180101000000",            //生效时间，选填
        "criterias":[
            {
                "id":"Fl1101080001001001",
                "code":"LocalName"
            },
            {
                "id":"VOBd11010800010001",
                "code":"LocalID"
            }            
        ]
    }
返回：

    {
        "Result":"success",
        "Content":[
            {
                "id":"Fl1101080001001001",
                "code":"LocalName",
                "data":""                   //信息点的值，不一定是String；如果当前没有该信息点，返回null
            },
            {
                "id":"VOBd11010800010001",
                "code":"LocalID",
                "data":""
            }
        ]
    }
    {"Result":"failure","ResultMsg":"****"}      	
## 查询某个建筑/项目/楼层内[没有|有]绑定某种图类型/图实例, 关系类型的指定类型
    http://localhost:8080/data-platform-3/object/outside_query?projectId=Pj110108****&secret=*** 
    	
    post说明：
    	{
    	    "customInfo": false, // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
            "nodata":false,  //选填, 是否只获取Count
            "noInfo":false,      // 选填, 查询结果是否需要信息点, true是不需要, false是需要, 默认false
            "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已删除对象, null表示都查询. 不填默认是true.
            "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
            "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
            "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
            "ctime":{      // 选填
                "$gte":"20170905120200",
                "$lte":"20170905120200"
            },
            "filter":{             // 选填, 模糊匹配信息点的值
                "infoCode":"value" // 信息点编码:模糊匹配的值, 字符串模糊匹配, 其他类型直接匹配
            },
            "limit":{        // 可选
                "skip":300,  // 跳过多少数据
                "count":50   // 查询跳过300条数据之后的50条 (默认按照创建时间从大-->小排序)
            },
            "criteria":{
                "id":"Bd......",        // 选填, id只能是project id, building id, floor_id, 不填id或者null, 则默认是project id
                
                "graphId":"",           // 必填, 和graphType二选一, 对象没有出现的图id,
                "graphType":"",         // 必填, 对象没有出现的图类型, 如果该类型下只有一个图实例(多个图实例默认选当前起作用并且序列号最小的), 则可以只填graphType, 不填graphId
                "relType":"",           // 选填, 关系类型, 不填默认是"1", 支持填null, 即查询图id下所有关系类型
                "fromId":"A",            // 选填, 缩小过滤范围, 只过滤fromId是A的关系
                "toId":"B",              // 选填, 缩小过滤范围, 只过滤toId是B的关系
                
                "exclude":true,        // 选填, 默认true 是查询没有绑定图类型的对象, 表示查询[有|没有]绑定图类型的对象
                "side":-1/0/1,        // 选填, 对象没有出现在关系中的方向, -1表示左边, 0表示两边, 1表示右边, 默认是0
                "type":["Eq", "Sy"]     // 必填, 值可以是详细类型, 比如设备类型:"TDLS", 系统类型: "TD"或者 "Eq", "Sy", "Ec", "Pe", "Fl", "Sp", "Si", "Sh", "VO**"
            }
        }
    举例: 搜索建筑Bd1101080001001内, 没有绑定在楼层上的所有设备
        {
            "criteria":{
                "id":"Bd1101080001001",              // 从Bd1101080001001建筑内搜索
                "graphId":"GtEquipinFloor001",       // 设备所在楼层的图id
                "relType":"1",                       // 关系类型是"1"
                "side":-1,                           // 因为设备所在楼层的"1"关系定义是  equip --> floor, 所以只搜索左边的equip就可以满足, 根据说明左边对应-1
                "type":["Eq"]                        // 搜索的类型是设备
            }
        }
    返回:
    
        { 
            "Result": "success", 
            "Content": [ 
                { 
                    "id": "Eq........", 
                    "infos": { 
                        "EquipLocalID": "1101080001", 
                        "EquipLocalName": "广联达二期", 
                        * 
                        *....
                    }
                }
            ],
            "ResultMsg":"",
            "Count": 1
        }
        {"Result":"failure","ResultMsg":"****"}  
    
## 简单通过关系查询对象
	http://localhost:8080/data-platform-3/object/rel_query?projectId=Pj110108****&secret=*** 
	
post例子：
        
	{
	    "customInfo": false // 选填, 默认为false, true则会把自定义信息点查询出来. false不会查询到自定义信息点
        "nodata":false,  //选填, 是否只获取Count
        "noInfo":false,      // 选填, 查询结果是否需要信息点, true是不需要, false是需要, 默认false
        "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已删除对象, null表示都查询. 不填默认是true.
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "ctime":{      // 选填
            "$gte":"20170905120200",
            "$lte":"20170905120200"
        },
        "limit":{      // 选填, 分页
            "skip":0,
            "count":10
        },
        "filter":{             // 选填, 模糊匹配信息点的值
            "infoCode":"value" // 信息点编码:模糊匹配的值, 字符串模糊匹配, 其他类型直接匹配
        },
        "criteria":{
            "graphId":"Gt***",                 // 必填, 图id  和graphType二选一
            "graphType":"",                    // 必填, 图类型
            "relType":"",                      // 推荐填, 默认值"1", 关系类型
            "fromId":"",                       // 选填, 匹配fromId的关系
            "fromIdArr":["Eq*******", ""],     // 选填, 匹配fromId的关系, 新增
            "toId":"",                         // 选填, 匹配toId的关系
            "toIdArr":["", ""],                // 选填, 匹配toId的关系, 新增
            "side":"fromId|both|toId",         // 选填, 指定参与筛选关系的side 
            "type":["Eq", "Sy"]                // 选填, 值可以是设备类型:"TDLS", 系统类型: "TD"或者 "Eq", "Sy", "Fl", "Sp", "Bd", "Pj".参考object/batch_query的类型 
        }
    }
返回:

    { 
        "Result": "success", 
        "Content": [ 
            { 
                "id": "Eq........", 
                "infos": { 
                    "ProjLocalID": "1101080001", 
                    "ProjLocalName": "广联达二期", 
                    * 
                    *....
                }
            }
        ],
        "Count": 1
    }
    {"Result":"failure","ResultMsg":"****"}  
    
#批量更新项目, 建筑体, 设备, 系统, 楼层, 空间, 竖井,元空间,虚拟对象的infos信息(建议不需要修改的信息点不要填写)
    http://localhost:8080/data-platform-3/object/batch_update?projectId=Pj110108****&secret=***
post例子：
        
        // 信息点的值为null则删除该信息点, 没有该信息点则添加, 其余的更改.
        {
            "skipErrorInfo":false,                // 选填, 当有信息点不属于指定类型的时候, 跳过错误信息点, 默认false不跳过, true是跳过
            "coverInfos" : true,               // 选填(修改信息点时使用), 是否覆盖该设备或部件的信息点到关联的资产, 默认是true覆盖, false是不覆盖.(只对部件或设备的修改起作用)
    	    "criterias":[
    	        {
                    "id":"Fl1101080001001001",
                    "infos":{
                        "LocalName":[  // 信息点的值只允许JSONArray, 不能为其他类型.
                            {"time": "*****", "value":"*****"} // 
                            {"value":"*****"} // 不填写time字段时, 操作的都是起效时间最大的值. 如果该信息点不在数据库中则默认添加上当前时间为起效时间再入库
                        ],
                        "LocalID":[
                            {"time" : "20170806053311", "value":"*****"}, // 如果这个时间点的数据不存在, 则执行添加
                            {"time" : "20170809053311", "value":"*****"}, // 如果这个时间点的数据存在, 则更新
                            {"time" : "20170808053311", "value":null}     // 将删除这个时间点的历史数据
                        ]
                    }
                },
                {
                    "id":"Fl1101080001001002",
                    "infos":{
                        // 同上
                    }
                }....
            ]
    	}
    	
返回:

    {"Result": "success","ResultMsg": ""}
    // 返回失败的时候会将失败的信息点返回回来, 用|分割 , 除去列出来的失败信息, 其余的均成功执行
    {"Result":"failure","ResultMsg":"****"}
#批量移动设备, 系统, 空间, 楼层 . [可移动的类型-->可被放置到的类型], [Fl --> Bd], [Sp --> Fl Bd], [Eq --> Bd], [Sy --> Bd]
    http://localhost:8080/data-platform-3/object/move?projectId=Pj110108****&secret=***
post例子：

    {
        "criterias":[
            {
                "moveId":"",
                "toId":""
            },
            {
                "moveId":"",
                "toId":""
            }......
        ]
    }

返回:

    // 部分成功时的返回结果
    {"Result":"success","ResultMsg":"****", "Error":[{"moveId":"", "toId":"", "error":""}]} 
    // 全部成功
    {"Result":"success","ResultMsg":"****"]}
    // 全部失败
    {"Result":"failure","ResultMsg":"****", "Error":[{"moveId":"", "toId":"", "error":""}]} 
     
#批量修改设备、系统、耗材、工具类型

    http://localhost:8080/data-platform-3/object/change_category?projectId=Pj110108****&secret=***
    
post例子：

    {
        "criterias":[
            {
                "id":"Eq11010800021fd18277503a11e9b9606b3fc2455ee7",     //必填，设备或系统id
                "category":"TDTF"                                        //必填，2位系统类型或4位设备类型或合法耗材、工具类型
            },
            {
                "id":"Sy11010800028dc6854f60964f6282f88cf7db1f0a01",
                "category":"TD"
            }
        ]
    }

返回:

    {
        "Content": [
            {
                "Count": 1
            },
            {
                "Count": 1
            }
        ],
        "Count": 2,
        "Result": "success"
    }

# 项目操作
## 增加一个新项目
	http://localhost:8080/data-platform-3/mng/project/create?secret=****
post例子：
	**所有对象的信息点的插入均以此例子为标准(必须添加时间字段)**
	
	{
		"area_code":"110108",
		"password":"***",
		"infos": {
		    "ProjLocalID":[ // 信息点的值必须是JSONArray类型(如例子所示), 否则失败
		        {"time":"*******", "value": "1101080002"}, // 添加Object时, time默认是当前时间.
		        {"time":"*******", "value": "********"}
            ]
			"ProjLocalName": [
			    {"value": "广联达1期测试","time":"*********"}
            ]
			"Province": [
			    {"value":"11", "time":"*********"}
            ]
			"City": [{"value":"110108", "time":"**********"}
			]
		    "UrbanDevpLev":[
		        {"time":"20170508085324", "value":"1000"},
		        {"time":"20170808085324", "value":"1200"}
		    ],
			"Tdb": [
			    {"value" :"123-456", "time":"**********"}   //表号-功能号
            "RH": [ 
                {"value":{
                        "ABC": "8003",
                        "DEF": 112001
                    }, "time":"*******"}
            ]
        }
    }
    
    或
    
    {
    		"id":"Pj1101080099",
    		"password":"***",
    		"infos": {
    		    "ProjLocalID":[ // 信息点的值必须是JSONArray类型(如例子所示), 否则失败
    		        {"time":"*******", "value": "1101080002"}, // 添加Object时, time默认是当前时间.
    		        {"time":"*******", "value": "********"}
                ]
    			"ProjLocalName": [
    			    {"value": "广联达1期测试","time":"*********"}
                ]
    			"Province": [
    			    {"value":"11", "time":"*********"}
                ]
    			"City": [{"value":"110108", "time":"**********"}
    			]
    		    "UrbanDevpLev":[
    		        {"time":"20170508085324", "value":"1000"},
    		        {"time":"20170808085324", "value":"1200"}
    		    ],
    			"Tdb": [
    			    {"value" :"123-456", "time":"**********"}   //表号-功能号
                "RH": [ 
                    {"value":{
                            "ABC": "8003",
                            "DEF": 112001
                        }, "time":"*******"}
                ]
            }
        }
返回：

	{"Result":"success","ResultMsg":"","id":"Pj1101080002", "ProjName":"*******"}
	{"Result":"failure","ResultMsg":"id自动生成失败"}  

## 删除  (删除成功的时候也会将所有与此id相关的关系一并删除, 对于其他对象的删除同理)
	http://localhost:8080/data-platform-3/mng/project/delete?secret=****
post例子：	
	
	{  
       "criteria":{
            "id":"Pj1101080003"
       }
    }
返回：

    {"Result":"failure", "ResultMsg":"id不存在"}
	{"Result":"success", "ResultMsg":""}

## 查询项目
### 按id查询
**GET方法**

	http://localhost:8080/data-platform-3/mng/project/query?secret=****                               
	http://localhost:8080/data-platform-3/mng/project/query?secret=****&projectId=Pj1101080001         //指定查询projectId项目
	查询私有信息点需要加一个参数在url后面 --> customInfo=true, 默认值是false
返回：

	{
		"Result":"success",
		"Content":[
		{"password":"***","id":"Pj1101080001","infos":{"ProjLocalID":"1101080001","ProjLocalName":"广联达二期","Province":"11","City":"110108","UrbanDevpLev":"1110","Tdb":{"meter":"8003","func-id":111001},"RH":{"meter":"8003","func-id":112001},"ProjName":"北京市海淀区0001项目","CreatTime":"20170526112903","ProjID":"Pj1101080001"}},{"password":"***","id":"Pj1101080002","infos":{"ProjLocalID":"1101080002","ProjLocalName":"广联达不知道多少期","Province":"11","City":"110108","UrbanDevpLev":"1110","Tdb":{"meter":"8003","func-id":111001},"RH":{"meter":"8003","func-id":112001},"ProjName":"北京市海淀区0002项目","CreatTime":"20170526021304","ProjID":"Pj1101080002"}}
		],
		"Count":2,
		"ResultMsg":""
	}
	{"Result":"failure","ResultMsg":"id自动生成失败"}  
	
## 批量查询  
**POST方法**  

	http://localhost:8080/data-platform-3/mng/project/batch_query?secret=****
post例子：

	{
	    
		"criterias":[
			{"id":"Pj1101080001"},
			{"id":"Pj1101080002"},
			{"id":"Pj1101080003"}
		]
	}
返回:

    {
        "Result": "success",
        "Count": 3,
        "Content": [
            {
                "password": "***",
                "id": "Pj1101080001",
                "infos": {
                    "ProjLocalID": "1101080001",
                    "ProjLocalName": "广联达二期",
                    "Province": "11",
                    "City": "110108",
                    "UrbanDevpLev": "1110",
                    "Tdb": "123-456",
                    "RH": {
                        "ABC": "8003",
                        "DEF": 112001
                    },
                    "ProjName": "北京市海淀区0001项目",
                    "CreatTime": "20170526112903",
                    "ProjID": "Pj1101080001"
                }
            },
            ...
         ]
        "ResultMsg": ""
    }
    
    {"Result":"failure","ResultMsg":""}
    
# 建筑体操作
## 增加
	http://localhost:8080/data-platform-3/mng/building/create?secret=****
post例子：

	{
		"project_id": "Pj1101080001",
		"infos":{
		    "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
         }
	} 
返回：
 
	{"Result":"success","ResultMsg":"","id":"Bd1101080001001", "BuildName":"*******"}
	{"Result":"failure","ResultMsg":""}


## 删除

	http://localhost:8080/data-platform-3/mng/building/delete?secret=****
post例子：
	
	{
		"criteria":{
			"id":"Bd1101080001002"
		}
	}


返回：

	{"Result":"success","ResultMsg":""}
	{"Result":"failure","ResultMsg":""}


# 楼层操作
## 增加
	http://localhost:8080/data-platform-3/floor/create?projectId=Pj1101080002&secret=****
post例子：系统自动为floor_id赋值
	
	{
		"building_id":"Bd1101080002001",      //选填
		"infos":{
		    "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
         }
	}
返回：
	
	{"Result":"success","ResultMsg":"","id":"Fl1101080002001001", "FloorName":"..."}
	{"Result":"failure","ResultMsg":""}

## 删除
    
	http://localhost:8080/data-platform-3/floor/delete?projectId=Pj1101080002&secret=****
post例子：

	{
		"criteria":{
			"id":"Fl1101080002001001"
		}
	}
返回：

	{"Result":"success","ResultMsg":""}
	{"Result":"failure","ResultMsg":""}
	
# (业务)空间操作
##增加
	http://localhost:8080/data-platform-3/space/create?projectId=Pj1101080002&secret=****

post体例子：

    所有的业务空间类型: 
        供电分区	PowerSupplyZone, 照明分区	LightingZone
        网络分区	NetworkZone, 空调分区	AirConditioningZone
        采暖分区	HeatingZone, 洁净分区	CleanZone
        生活给水分区	DomesticWaterSupplyZone, 防火分区	FireZone
        安防分区	SecurityZone, 租户分区	TenantZone, 功能分区	FunctionZone

	{
	    "building_id":"Bd1101080002001",        // 选填, 所属建筑id
        "floor_id": "Fl1101080002001000",       // 选填, 所属楼层id
        "business_type":"AirConditioningZone",  // 选填, 业务空间类型, 只能是上述所列的类型, 不填默认为没有业务空间类型.
        "infos": {
            "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
        }
    }
       
返回：

	{"Result":"success","ResultMsg":"","id":"Sp1101080002001000001", "RoomName":"..."}
	{"Result":"failure","ResultMsg":"需包含字段floor_id"}
	
## 批量增加
    http://localhost:8080/data-platform-3/space/batch/create?projectId=Pj1101080002&secret=****
post体例子：

    所有的业务空间类型: 
        供电分区	PowerSupplyZone, 照明分区	LightingZone
        网络分区	NetworkZone, 空调分区	AirConditioningZone
        采暖分区	HeatingZone, 洁净分区	CleanZone
        生活给水分区	DomesticWaterSupplyZone, 防火分区	FireZone
        安防分区	SecurityZone, 租户分区	TenantZone, 功能分区	FunctionZone

	{
	    "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url 
	    "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
	    "criterias":[
	        {
                "building_id":"Bd1101080002001",        // 选填, 所属建筑id
                "floor_id": "Fl1101080002001000",       // 选填, 所属楼层id
                "business_type":"AirConditioningZone",  // 选填, 业务空间类型, 只能是上述所列的类型, 不填默认为没有业务空间类型.
                "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "infos": {
                    "UrbanDevpLev":[
                        {"time":"20170508085324", "value":"1000"},
                        {"time":"20170808085324", "value":"1200"}
                    ]
                }
            },........
        ]
    }

返回：

	返回结果参考property/create接口
## 修改空间的业务类型
    http://localhost:8080/data-platform-3/space/update?projectId=Pj1101080002&secret=****
    {
        "criterias":[
            {
                "id":"Sp********",                            // 要修改的空间id
                "business_type":"AirConditioningZone"         // 目标业务空间类型
            },....
        ]
    }
##删除
**id要精确到唯一一条数据，即以Sp开头**
	
	http://localhost:8080/data-platform-3/space/delete?projectId=Pj1101080002&secret=****
post体例子：

    {  
		"criteria":{ 
			"id":"Sp1101080002001000001"
		}
	}

    
返回：
   
    {"Result":"success","ResultMsg":""}
	{"Result":"failure","ResultMsg":""}
##批量删除
**id要精确到唯一一条数据，即以Sp开头**
    
    http://localhost:8080/data-platform-3/space/batch/delete?projectId=Pj1101080002&secret=****
post体例子：

    {  
        "criteria":{ 
            "ids":["Sp1101080002001000001", "Sp1101080002001000002"]
        }
    }

返回：
   
    {"Result":"success","ResultMsg":""}
    {"Result":"failure","ResultMsg":""}
    
##查找轮廓相交空间
    
    http://localhost:8080/data-platform-3/space/query_intersected?projectId=Pj1101080002&secret=****
post体例子：

    {  
        "id":"Sp1101080002001000001"， //空间id，必填
        "type":["GeneralZone", ""DomesticWaterSupplyZone""]           //返回结果的空间类型，选填,不填为全部空间类型
    }

返回：
   
   {
       "Content": [
           {
               "create_time": "20190924151628",
               "location": {
                   "floor": "Fl11010100150859ceee8af24405b04eccbd730a6a9f",
                   "building": "Bd1101010015381423add8fd11e9b8f2a580bf64f887"
               },
               "id": "Sp110101001524f9f86fcf98476cae2dbe37773a9abf",
               "businessType": "GeneralZone",
               "infos": {
                   "RoomQRCode": "Sp110101001524f9f86fcf98476cae2dbe37773a9abfQR",
                   "RoomName": "空间-WVGS2",
                   "Outline": "[[[{\"X\":-51568.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-50948.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-50248.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-48048.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-47348.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-39628.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-38928.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-38928.76,\"Y\":-12007.93,\"Z\":5800},{\"X\":-39873.84,\"Y\":-12007.93,\"Z\":5800},{\"X\":-39873.84,\"Y\":-11727.91,\"Z\":5800},{\"X\":-44445.78,\"Y\":-11727.91,\"Z\":5800},{\"X\":-44445.78,\"Y\":-12827.91,\"Z\":5800},{\"X\":-45065.12,\"Y\":-12827.91,\"Z\":5800},{\"X\":-45132.39,\"Y\":-12827.91,\"Z\":5800},{\"X\":-45607.97,\"Y\":-12827.91,\"Z\":5800},{\"X\":-45760.98,\"Y\":-12827.91,\"Z\":5800},{\"X\":-52535.76,\"Y\":-12827.91,\"Z\":5800},{\"X\":-52688.77,\"Y\":-12827.91,\"Z\":5800},{\"X\":-53165.12,\"Y\":-12827.91,\"Z\":5800},{\"X\":-53232.39,\"Y\":-12827.91,\"Z\":5800},{\"X\":-53780.75,\"Y\":-12827.91,\"Z\":5800},{\"X\":-53780.75,\"Y\":-12007.93,\"Z\":5800},{\"X\":-58773.84,\"Y\":-12007.93,\"Z\":5800},{\"X\":-58773.84,\"Y\":-12657.93,\"Z\":5800},{\"X\":-58773.84,\"Y\":-14287.93,\"Z\":5800},{\"X\":-58668.76,\"Y\":-14287.93,\"Z\":5800},{\"X\":-51568.76,\"Y\":-14287.93,\"Z\":5800}]]]",
                   "RoomID": "Sp110101001524f9f86fcf98476cae2dbe37773a9abf",
                   "RoomLocalName": "空间 188 188",
                   "RoomFuncType": "111"
               }
           }
       ],
       "ResultMsg": "",
       "Count": 1,
       "Result": "success"
   }
    
    
# 元空间操作
##增加
	infos的内容可任意添加

	http://localhost:8080/data-platform-3/ispace/create?projectId=Pj1101080002&secret=****

post体例子：//已更新

	{
	    "building_id":"Bd1101080002001",      //选填
        "floor_id": "Fl1101080002001000",     //选填
        "infos": {
            "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
        }
    }
       
返回：

	{"Result":"success","ResultMsg":"","id":"Si1101080002001000001", "RoomName":"..."}
	{"Result":"failure","ResultMsg":"需包含字段floor_id"}
	
## 批量增加
    http://localhost:8080/data-platform-3/ispace/batch/create?projectId=Pj1101080002&secret=****
post体例子：

	{
	    "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url
	    "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
	    "criterias":[
	        {
                "building_id":"Bd1101080002001",        // 选填, 所属建筑id
                "floor_id": "Fl1101080002001000",       // 选填, 所属楼层id
                "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "infos": {
                    "UrbanDevpLev":[
                        {"time":"20170508085324", "value":"1000"},
                        {"time":"20170808085324", "value":"1200"}
                    ]
                }
            },........
        ]
    }

返回：

	返回结果参考property/create接口
##删除
**id要精确到唯一一条数据，即以Si开头**
	
	http://localhost:8080/data-platform-3/ispace/delete?projectId=Pj1101080002&secret=****
post体例子：

    {
		"criteria":{
            "graphId":"GtElementSptoSpace001",         // 选填, 元空间和业务空间的图id(检查受影响的业务空间时用), 在有多张图起作用时使用
			"id":"Si1101080002001000001"               // 必填, 元空间id
		}
	}

    
返回：
   
    {"Result":"success","ResultMsg":""}
	{"Result":"failure","ResultMsg":""}
# 竖井操作
## 增加
	http://localhost:8080/data-platform-3/shaft/create?projectId=Pj1101080002&secret=****
post例子：
	
	{
		"infos":{
		    "*****":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
         }
	}
返回：
	
	{"Result":"success","ResultMsg":"","id":"Sh1101080002***********", "FloorName":"..."}
	{"Result":"failure","ResultMsg":""}
	
## 删除
    
	http://localhost:8080/data-platform-3/shaft/delete?projectId=Pj1101080002&secret=****
post例子：

	{
		"criteria":{
			"id":"Sh1101080002001001"
		}
	}
返回：

	{"Result":"success","ResultMsg":""}
	{"Result":"failure","ResultMsg":""}
	
# 设备和系统操作
##增加     （deprecated， 请使用批量接口）
	http://localhost:8080/data-platform-3/equipment/create?projectId=Pj1101080002&secret=****
	
post体例子：

    {
        "building_id":"Bd1101080002001",  //选填
        "equipment_category":"TDTF",     // 必填，设备或者是系统的category
        "infos":{
            "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
        }
    }

返回：

    {"Result":"success","ResultMsg":"","id":"Eq1101080002001SETDTF001", "EquipName":"..."}	
    {"Result":"success","ResultMsg":"","id":"Sy1101080002001SETD001", "SysName":"..."}	
    {"Result":"failure","ResultMsg":""}}
## 批量添加
    http://localhost:8080/data-platform-3/equipment/batch/create?projectId=Pj1101080002&secret=****
	// 设备的创建会自动生成一个二维码, 存于文件服务器, QRCode信息点保存位于文件服务器中的二维码key
	// 如果有EquipQRCode信息点, 则不生成二维码.
post体例子：

    {
        "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url 
        "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
        "criterias":[
            {
                "building_id":"Bd1101080002001",  //选填
                "building_ids":["Bd1101080002001", "Bd1101080002002"],  //选填，系统可以属于多个建筑
                "floor_id":"",                       // 选填, 设备所属楼层, 仅设备可用
                "equipment_category":"TDTF",     // 必填, 设备或者是系统的category
                "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "infos":{                        // 必填, 
                    "UrbanDevpLev":[
                        {"time":"20170508085324", "value":"1000"},
                        {"time":"20170808085324", "value":"1200"}
                    ]
                }
            },
            {
                ....
            },......
        ]
    }

    返回:
    // 全部成功, 返回success, 没有Error节点, Content中是成功提交之后生成的id和本地名称.
    {"Result": "success","ResultMsg": "", "Content":[{"id":"Pe******", "EquipName|SysName":"******", "warnMsg":"与***的关系添加失败"},.....]}
    // 部分成功, 返回success, 失败的内容在Error节点中，成功的内容在Content中.
    {"Result":"success","ResultMsg":"****", 
        "Error":[                              // 当信息点中没有的时候
            {
                "building_id":"Bd1101080002001",  //选填
                "floor_id":"",                       // 选填, 所属楼层
                "equipment_category":"TDFF",     // 必填，设备或者是系统的category
                "infos":{                      // 
                     "***":[{*****}],
                     .......
                }
                "error":"缺少必要字段"       // 错误信息
            },....
        ],
        "Content":[
            {"id":"Pe*********", "****name":"******"},.....
        ]
    }
    // 全部没有提交或者全部提交失败. 
    {"Result":"failure","ResultMsg":"****", 
        "Error":[
            {
                 "id":"Pe*********",           // 选填, 指定Id创建资产时使用, 不填系统会生成id
                 "family": "***",               // 必填, 资产所属种族编码(三位)
                 "relation":{                   // 选填, 内容也是选填, 指定该资产关联的岗位, 建筑, 楼层和部件, 值是类型相匹配的Id, 每种只能关联一个
                     "link":"Eq*********",      // 资产关联的设备岗位ID
                     "building": "Bd*******",   // 资产关联的建筑ID
                     "floor":"Fl******",        // 资产关联的楼层ID
                 }
                 "infos":{                      // 必填, 资产的信息点
                     "***":[{*****}],
                     .......
                 }
                "error":"种族编码不存在"       // 错误信息
            },....
        ]
    }
    // 后台服务问题
    {"Result":"failure","ResultMsg":"****"}

## 批量添加更新设备
    http://localhost:8080/data-platform-3/equipment/batch/create_update?projectId=Pj1101080002&secret=****
	// 设备的创建会自动生成一个二维码, 存于文件服务器, QRCode信息点保存位于文件服务器中的二维码key
	// 如果有EquipQRCode信息点, 则不生成二维码.
post体例子：

    {
        "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url 
        "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
        "criterias":[
            {
				"id":"Eq32030200012020d092ffe641069bce2ed58ea359d9", // 选填，设备id，若存数据库存在该id则更新对象的infos中的信息，否则创建对象
                "building_id":"Bd1101080002001",  //选填
                "floor_id":"",                       // 选填, 设备所属楼层, 仅设备可用
                "equipment_category":"TDTF",     // 必填, 设备或者是系统的category
                "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "infos":{                        // 必填, 
                    "UrbanDevpLev":[
                        {"time":"20170508085324", "value":"1000"},
                        {"time":"20170808085324", "value":"1200"}
                    ]
                }
            },
            {
                ....
            },......
        ]
    }

    返回:
    // 新增和更新全部成功, 返回success, 没有error_insert节点和error_update节点, Content中是新增成功的设备id和设备名称.
    {"Result": "success","ResultMsg": "", "Content":[{"id":"Eq******", "EquipName":"******", "warnMsg":"与***的关系添加失败"},.....]}
    // 新增不完全成功，更新完全成功, 返回success, 新增失败信息放在error_insert节点，新增成功成功的内容在Content中.
    {"Result":"success","ResultMsg":"****", 
        "error_insert":[                              // 当信息点中没有的时候
            {
                "building_id":"Bd1101080002001",  //选填
                "floor_id":"",                       // 选填, 所属楼层
                "equipment_category":"TDFF",     // 必填，设备或者是系统的category
                "infos":{                      // 
                     "***":[{*****}],
                     .......
                }
                "error":"缺少必要字段"       // 错误信息
            },....
        ],
        "Content":[
            {"id":"Eq*********", "EquipName":"******"},.....
        ]
    }
    // 新增全部成功，更新失败，返回failure，没有error_insert节点,error_update节点存放更新失败信息，Content中是新增成功的设备id和设备名称.
    {
		"Result":"failure",
		"ResultMsg":"****", 
        "error_update":""  // 更新失败的信息点返回回来, 用|分割 , 除去列出来的失败信息, 其余的均成功执行
    }
    // 后台服务问题
    {"Result":"failure","ResultMsg":"****"}
    
##删除
**id要精确到唯一一条数据，即以Eq或Sy开头**
		
	http://localhost:8080/data-platform-3/equipment/delete?projectId=Pj1101080002&secret=****
	
post体例子：

	{  
		"criteria":{
			"id":"Eq1101080002001SETDTF001"
		}
	}
返回：
	
	{"Result":"success","ResultMsg":""} 
	{"Result":"failure","ResultMsg":""}
	
## 批量删除
    http://localhost:8080/data-platform-3/equipment/batch/delete?projectId=Pj110108****&secret=****
	// 删除会将跟此岗位相关的所有关联关系删除(仅删除关系, 不删除关联对象), 作废则只作废该资产, 保留关系
	post例子:
	{
	    "criterias":[
	        {
	            "id" : "Pe**********",  // 要删除的Id, 只删除url上指定的项目下的该资产.
	            "flag": true            // 选填, 是否作废 , true为删除, false为作废(保留数据), 默认为false
	        }, ........
	    ]
	}
	返回: 
	// 成功
	{"Result":"success", "ResultMsg":"***"}
	// 部分成功, error中提示失败的id
	{"Result":"success", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
	// 全部失败, 不会对任何资产产生任何操作. 	
	{"Result":"failure", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
    // 服务器出错
    {"Result":"failure", "ResultMsg":"***"}
## 按照系统的专业编码来查询专业下的所有系统
	http://localhost:8080/data-platform-3/equipment/system_query?projectId=Pj110108****&secret=*** 
	
post例子：
        
    {
        "criteria":{
            "category":"AC" // 专业Id
        }
    }
返回:

    { 
        "Result": "success", 
        "Content": [ 
            { 
                "id": "Sy1101080001ACCC", 
                "infos": { 
                    "ProjLocalID": "1101080001", 
                    "ProjLocalName": "广联达二期", 
                    * 
                    * 
                } 
            }
        ], 
        "Count": 1
    }
    {"Result":"failure","ResultMsg":"****"}  	
    
# 部件操作
##批量增加部件
    http://localhost:8080/data-platform-3/component/batch/create?projectId=Pj1101080002&secret=****
    {
        "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url  
        "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
        "criterias":[
            {
                "building_id":"Bd1101080002001",            // 选填
                "floor_id":"Fl*****8",                              // 选填, 设备所属楼层, 仅设备可用
                "equip_id":"Eq1101080002001SETDHS001",      // 选填
                "component_category":"TDHSIP",              // 必填，6位编码
                "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "infos":{                        // 必填, 
                    "UrbanDevpLev":[
                        {"time":"20170508085324", "value":"1000"},
                        {"time":"20170808085324", "value":"1200"}
                    ]
                }
            },
            {
                ....
            },......
        ]
    }

    返回:
    // 全部成功, 返回success, 没有Error节点, Content中是成功提交之后生成的id和本地名称.
    {"Result": "success","ResultMsg": "", "Content":[{"id":"Ec******", "EquipName":"******", "warnMsg":"与***的关系添加失败"},.....]}
    // 部分成功, 返回success, 失败的内容在Error节点中，成功的内容在Content中.
    {"Result":"success","ResultMsg":"****", 
        "Error":[                              // 当信息点中没有的时候
            {
                "building_id":"Bd1101080002001",  //选填
                "floor_id":"",                       // 选填, 所属楼层
                "equipment_category":"TDFF",     // 必填，设备或者是系统的category
                "infos":{                      // 
                     "***":[{*****}],
                     .......
                }
                "error":"缺少必要字段"       // 错误信息
            },....
        ],
        "Content":[
            {"id":"Pe*********", "EquipName":"******"},.....
        ]
    }
    // 全部没有提交或者全部提交失败. 
    {"Result":"failure","ResultMsg":"****", 
        "Error":[
            {
                 "id":"Ec*********",           // 选填, 指定Id创建资产时使用, 不填系统会生成id
                 "infos":{                      // 必填, 资产的信息点
                     "***":[{*****}],
                     .......
                 }
                "error":"部件编码不存在"       // 错误信息
            },....
        ]
    }
    // 后台服务问题
    {"Result":"failure","ResultMsg":"****"}
    
## 增加部件(单个)  (deprecated, 不会增加二维码)
	http://localhost:8080/data-platform-3/component/create_old?projectId=Pj1101080002&secret=****
	
post体例子：

    {  
        "equip_id":"Eq1101080002001SETDHS001",      //选填
        "component_category":"TDHSIP",              //必填，6位编码
        "infos":{
            "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
        }
    }

返回：
    
	{"Result":"success","ResultMsg":"","id":"Ec1101080002001SETDHS001IP001", "EquipName":""}	
    {"Result":"failure","ResultMsg":""}
	
##删除部件
**id要精确到唯一一条数据**
		
	http://localhost:8080/data-platform-3/component/delete?projectId=Pj1101080002&secret=****
	
post体例子：

	{  
		"criteria":{
			"id":"Ec1101080002001SETDHS001IP001"
		}
	}
返回：
	
	{"Result":"success","ResultMsg":""} 
	{"Result":"failure","ResultMsg":""}

#资产操作	
## 查询
### 按资产Id查询
    http://localhost:8080/data-platform-3/property/id_query?projectId=Pj110108****&secret=****
    
    post例子：
    
    {
        "nodata":true, // 选填, 如果为true, 则只统计个数. 不查询实际信息, 默认false
        "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已作废的对象, null表示都查询. 不填默认是true. 
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "ctime":{      // 选填, 按创建时间筛选数据 $gt 大于, $gte 大于等于, $lt 小于, $lte 小于等于. 可以只有大于或者小于, 但是要合乎是一个时间段的逻辑
            "$gte":"20170913000000",
            "$lte":"20170920000000"
        },
        "criterias":[
    	    {"id":"Pe************"},
    	    {"id":"Pe************"},
    	    {"id":"Pe************"}
    	]
    }
    返回:
        
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 3
        "Content": [
            {
                "id": "Pe************",
                "family":"AAA",
                "relation":{        
                    "link":"Eq*********",      // 资产关联的设备岗位ID
                    "building": "Bd*******",   // 资产关联的建筑ID
                    "floor":"Fl******",        // 资产关联的楼层ID
                },
                "infos": {                    // 所属种族在信息点里保存.
                    "***": "1101080001",
                    "***": "广联达二期",
                    *
                    *
                    "***": "Pj1101080001"
                }
            },.....
        ]
    }
    {"Result":"failure","ResultMsg":"****"}
    {"Result":"success","ResultMsg":"****", "Count":2, "Content":[]}
        
### 按关联关系查询
    http://localhost:8080/data-platform-3/property/relation_query?projectId=Pj110108****&secret=****
    
    post例子：
    
    {
        "limit":{        // 分页查询, 选填.
            "skip":300,  // 跳过多少数据
            "count":50   // 查询跳过300条数据之后的50条 (默认按照创建时间从大-->小排序)
        },
        "filter":{             // 选填, 模糊匹配信息点的值
            "infoCode":"value" // 信息点编码:模糊匹配的值, 字符串模糊匹配, 其他类型直接匹配
        },
        "nodata":true, // 选填, 如果为true, 则只统计个数. 不查询实际信息, 默认false
        "valid": true, // 选填, true表示筛选可用的对象, false表示筛选已作废的对象, null表示都查询. 不填默认是true. 
        "linkInfos": true, // 选填, 查询岗位时候显示关联资产的信息点, true是显示, false是不显示, 默认true
        "historyInfos":false, // 选填, 查询信息点的历史值, 默认false 是不查询. 
        "venderInfo":true,   // 选填, 补充厂商库关联的信息点, 默认true 是补充.
        "ctime":{      // 选填, 按创建时间筛选数据 $gt 大于, $gte 大于等于, $lt 小于, $lte 小于等于. 可以只有大于或者小于, 但是要合乎是一个时间段的逻辑
            "$gte":"20170913000000",
            "$lte":"20170920000000"
        },
        "directOnly":false,              // 是否只查询直接在id内的资产, 默认是false
        "criteria":{                     // 必填
            "id":"Bd********",           // 关联的Id, 可以是项目id, 建筑id, 楼层id, 设备id, 部件id中的一种, 不填默认项目id
            "family":["***", "AAA"]      // 种族编码 , 数组内可不填(查该id下所有种族的资产)
        }
    }
    返回:
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 50,
        "TotalCount": 1374,
        "Content": [
            {
                "id": "Pe************",
                "family":"AAA",
                "relation":{
                    "link":"Eq*********",      // 资产关联的设备岗位ID
                    "building": "Bd*******",   // 资产关联的建筑ID
                    "floor":"Fl******",        // 资产关联的楼层ID
                },
                "infos": {                  // 所属种族在信息点里保存.
                    "***": "1101080001",
                    "***": "广联达二期",
                    *
                    *
                    "***": "Pj1101080001"
                }
            },.....
        ]
    }
    {"Result":"failure","ResultMsg":"****"}
### 查询资产所在的项目
    http://localhost:8080/data-platform-3/property/project/query
    post例子
    {
        "criterias":[{"id":"Pe*****"}, {"id":"Pe******"}]
    }
    返回
    {
        "Result":"success",
        "Content":[                             // 如果没有该对象, 则表示该对象不存在
            {
                "id":"Pe*****",
                "projId":"Pj110108****"         // 所属项目
                "valid":true|false              // 对象状态
            }
        ],
        "Count":1        
    }
    // 后台服务问题
    {"Result":"failure","ResultMsg":"****"}
## 创建
    http://localhost:8080/data-platform-3/property/create?projectId=Pj110108****&secret=****
    
    post例子    
    {
        "innerImageUrl":"",                             // 选填, 二维码中间自定义图片的url 
        "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
        "skipErrorInfo":false,                          // 选填, 当有信息点不属于指定种族的时候, 跳过错误信息点, 默认false不跳过, true是跳过 
        "criterias":[
            {
                "id":"Pe...",                           //选填，String，指定资产id创建时填写，id为Pe+uuid(去掉横线)
                "family":"CCA",                         //必填，String，3位种族编码
                "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "relation":{                            //选填，可没有relation字段
                    "link":"Eq1301020001001ACCCCC001",  //选填，关联的设备id或部件id
                    "building":"Bd1301020001001",       //选填，资产所在建筑id
                    "floor":"Fl1301020001001001"        //选填，资产所在楼层id
                },
                "infos":{                               //必填，JSONObject，信息点，可写"infos":{}
                    "EquipName":[
                        {
                            "time":"20180101000000", "value":"100"
                        },
                        {
                            "time":"20180310000000", "value":"200"
                        },
                        {
                            "time":"20180501000000", "value":"300"
                        }
                    ],
                    "RatedU":[
                        {
                            "time":"20180101000000", "value":"33"
                        },
                        {
                            "value":"55"
                        }
                    ]
                }
            },
            {
                "family":"CCA",
                "qrKey":"",                         
                "relation":{
                    "link":"Eq1301020001001ACCCCC002",
                    "floor":"Fl1301020001001002"
                },
                "infos":{
                    "RefrigerantType":[
                        {
                            "time":"20000102000000", "value":"555"
                        }
                    ],
                    "EquipName":[
                        {
                            "time":"20180503000000", "value":"突突突"
                        },
                        {
                            "value":"叭叭叭"
                        }
                    ]
                }
            }
        ]
    }
    
    返回:
    // 全部成功, 返回success, 没有Error节点, Content中是成功提交之后生成的id和本地名称.
    {"Result": "success","ResultMsg": "", "Content":[{"id":"Pe******", "EquipLocalName":"******"},.....]}
    // 部分成功, 返回success, 失败的内容在Error节点中，成功的内容在Content中.
    {"Result":"success","ResultMsg":"****", 
        "Error":[                              // 当信息点中没有的时候
            {
                 "id":"Pe*********",           // 
                 "family": "***",               // 
                 "relation":{                   //
                     "link":"Eq*********",      // 
                     "building": "Bd*******",   // 
                     "floor":"Fl******",        // 
                 },
                 "infos":{                      // 
                     "***":[{*****}],
                     .......
                 },
                "error":"指定ID已存在"       // 错误信息
            },....
        ],
        "Content":[
            {"id":"Pe*********", "****name":"******"},.....
        ]
    }
    // 全部没有提交或者全部提交失败. 
    {"Result":"failure","ResultMsg":"****", 
        "Error":[
            {
                 "id":"Pe*********",           // 选填, 指定Id创建资产时使用, 不填系统会生成id
                 "family": "***",               // 必填, 资产所属种族编码(三位)
                 "relation":{                   // 选填, 内容也是选填, 指定该资产关联的岗位, 建筑, 楼层和部件, 值是类型相匹配的Id, 每种只能关联一个
                     "link":"Eq*********",      // 资产关联的设备岗位ID
                     "building": "Bd*******",   // 资产关联的建筑ID
                     "floor":"Fl******",        // 资产关联的楼层ID
                 }
                 "infos":{                      // 必填, 资产的信息点
                     "***":[{*****}],
                     .......
                 }
                "error":"种族编码不存在"       // 错误信息
            },....
        ]
    }
    // 后台服务问题
    {"Result":"failure","ResultMsg":"****"}
    
## 根据设备创建资产
    http://localhost:8080/data-platform-3/property/create_by_equip?projectId=Pj110108****&secret=****
    // 根据部件或设备的id生成新的资产, 种族为相匹配的种族, 信息点会尽可能的拷贝, 仅有当前生效的信息点, 没有历史信息点.
    // 会创建
    post例子    
    {
        "id":"Eq*********",      // 必填, 只能是设备或部件
        "floor":"Fl****"         // 选填, 表示设备关联的楼层
    }
    
    返回:
    {"Result":"success", "ResultMsg":"", "id":"", "EquipName":""}, // EquipName如果不存在说明该资产没有EquipName信息点
    {"Result":"failure", "ResultMsg":""}
## 批量修改资产
    http://localhost:8080/data-platform-3/property/update?projectId=Pj110108****&secret=****
    
    post例子:
    
    {
        "skipErrorInfo":false,                // 选填, 当有信息点不属于指定种族的时候, 跳过错误信息点, 默认false不跳过, true是跳过
        "syncInfos" : true,               // 选填(关联设备使用, 只会新增信息点, 并不会覆盖或修改信息点的值), 是否同步信息点到资产绑定的设备或部件, 默认是true同步, 指定false为不同步
        "coverInfos" : true,               // 选填(修改信息点时使用), 是否覆盖该资产修改的信息点到关联的岗位, 默认是true覆盖, false是不覆盖.
        "criterias":[
            {
                "id":"Pe*********", // 必填, 要修改的资产id
                "family":"",         // 选填, 修改种族时使用, 值是三位种族编码
                "relation":{         // 选填, 内容也是选填
                    "link":"Eq****",           // 填ID, 要修改, 添加或删除关联设备时使用, 填null是删除该关联
                    "project":"Pj*****",       // 只接收非null值, 修改该资产所属的项目
                    "building": "Bd*******",   // 资产关联的建筑ID, 值为null时则删除该指定关联
                    "floor":"Fl******",        // 资产关联的楼层ID, 值为null时则删除该指定关联
                },
                "infos":{            // 必填
                    "EquipName":[{"value":"***", "time":"20180320181200"}],     // 修改, 添加或者删除某个信息点, 参考信息点修改接口
                }
            }.....
        ]
    }
    
    返回:
    {"Result": "success","ResultMsg": ""} // 全部成功
    {"Result": "success","ResultMsg": "", "Error":[{******}], ""} // 部分成功
    {"Result":"failure","ResultMsg":"****"} // 如果是服务器异常, 则全部失败

## 批量删除
    http://localhost:8080/data-platform-3/property/delete?projectId=Pj110108****&secret=****
	// 删除会将跟此资产相关的所有关联关系删除(仅删除关系, 不删除关联对象), 作废则只作废该资产, 保留关系
	post例子:
	{
	    "criterias":[
	        {
	            "id" : "Pe**********",  // 要删除的Id, 只删除url上指定的项目下的该资产.
	            "flag": true            // 选填, 是否作废 , true为删除, false为作废(保留数据), 默认为false
	        }, ........
	    ]
	}
	返回: 
	// 成功
	{"Result":"success", "ResultMsg":"***"}
	// 部分成功, error中提示失败的id
	{"Result":"success", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
	// 全部失败, 不会对任何资产产生任何操作. 	
	{"Result":"failure", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
    // 服务器出错
    {"Result":"failure", "ResultMsg":"***"}
    
#耗材操作	

## 批量增加
    http://localhost:8080/data-platform-3/consumable/batch/create?projectId=Pj1101080002&secret=****
post体例子：


	{
	    "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url  
	    "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
	    "criterias":[
	        {
	            "id":"Co1101080002****",         //选填，String，指定id创建时填写
	            "category":"2255",
	            "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "infos": {
                    "StockNum":[
                        {"time":"20170508085324", "value":1000},
                        { "value":1200}
                    ]
                }
            },........
        ]
    }

返回：

## 批量删除
    http://localhost:8080/data-platform-3/consumable/batch/delete?projectId=Pj110108****&secret=****

	post例子:
	
	{
	    "criterias":[
	        {
	            "id" : "Co1101080002****",  // 要删除的Id, 只删除url上指定的项目下的该资产.
	            "flag": true            // 选填, 是否作废 , true为删除, false为作废(保留数据), 默认为false
	        }, ........
	    ]
	}
	返回: 
	// 成功
	{"Result":"success", "ResultMsg":"***"}
	// 部分成功, error中提示失败的id
	{"Result":"success", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
	// 全部失败, 不会产生任何操作. 	
	{"Result":"failure", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
    // 服务器出错
    {"Result":"failure", "ResultMsg":"***"}
    
#工具操作	

## 批量增加
    http://localhost:8080/data-platform-3/tool/batch/create?projectId=Pj1101080002&secret=****
post体例子：


	{
	    "innerImageUrl":"",                      // 选填, 二维码中间自定义图片的url 
	    "genPersagyQr":true,                     //选填，默认false，生成博锐二维码
	    "criterias":[
	        {
	            "id":"To1101080002****",         //选填，String，指定id创建时填写
	            "qrKey":"",                         //选填，博锐二维码url中的key值，genPersagyQr为true时，此字段才生效；请调用者自己保证key值项目中唯一，建议用uuid；不填，则key值自动设为对象id
                "category":"9929",
                "infos": {
                    "Brand":[
                        {"time":"20170508085324", "value":"大牌子"},
                        {"value":"大牌子2"}
                    ]
                }
            },........
        ]
    }

返回：

## 批量删除
    http://localhost:8080/data-platform-3/tool/batch/delete?projectId=Pj110108****&secret=****

	post例子:
	
	{
	    "criterias":[
	        {
	            "id" : "To1101080002****",  // 要删除的Id,
	            "flag": true            // 选填, 是否作废 , true为删除, false为作废(保留数据), 默认为false
	        }, ........
	    ]
	}
	返回: 
	// 成功
	{"Result":"success", "ResultMsg":"***"}
	// 部分成功, error中提示失败的id
	{"Result":"success", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
	// 全部失败, 不会产生任何操作. 	
	{"Result":"failure", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
    // 服务器出错
    {"Result":"failure", "ResultMsg":"***"}

# 虚拟对象的操作
## 增加
	http://localhost:8080/data-platform-3/vo/create?projectId=Pj110108****&secret=****
post例子：

	{
		"type":"VOBd", // 目前支持的虚拟对象请参考最上方的类型说明
		"infos":{
            "UrbanDevpLev":[
                {"time":"20170508085324", "value":"1000"},
                {"time":"20170808085324", "value":"1200"}
            ]
         }
	}
返回：
    
    // 返回的Id格式: VO + Bd(建筑类型) + 项目Id(0001) + 4位自身编号. 每种类型自身编号独立.
	{"Result":"success","ResultMsg":"","id":"VOBd11010800010001"}
	{"Result":"failure","ResultMsg":""}
##批量添加
    http://localhost:8080/data-platform-3/vo/batch/create?projectId=Pj110108****&secret=****
post例子：

    {
        "criterias":[
            {
                "type":"VOBd",     // 目前支持的虚拟对象请参考最上方的类型说明
                "infos":{
                    "UrbanDevpLev":[
                        {"time":"20170508085324", "value":"1000"},
                        {"time":"20170808085324", "value":"1200"}
                    ]
                 }
            },....
        ]
    }
    返回: 参考批量创建设备接口(equipment/batch/create)返回

##批量删除
    http://localhost:8080/data-platform-3/vo/batch/delete?projectId=Pj110108****&secret=****
	// 删除会将跟此虚拟对象相关的所有关联关系删除, 作废则只作废该资产, 保留关系
	post例子:
	{
	    "criterias":[
	        {
	            "id" : "VO**********",  // 要删除的Id, 只删除url上指定的项目下的该资产.
	            "flag": true            // 选填, 是否作废 , true为删除, false为作废(保留数据), 默认为false
	        },........
	    ]
	}
	返回: 
	// 成功
	{"Result":"success", "ResultMsg":"***"}
	// 部分成功, error中提示失败的id
	{"Result":"success", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
	// 全部失败, 不会对任何资产产生任何操作. 	
	{"Result":"failure", "ResultMsg":"****", "Error":[{"id":"*****", "error":"***"}, {"id":"*********", "error":"***"}]}
    // 服务器出错
    {"Result":"failure", "ResultMsg":"***"}

##删除
		
	http://localhost:8080/data-platform-3/vo/delete?projectId=Pj1101080001&secret=****
	
post体例子：

	{  
		"criteria":{
			"id":"VOCu11010800010001"  // 删除此虚拟对象
		}
	}
返回：
	
	{"Result":"success","ResultMsg":""} 
	{"Result":"failure","ResultMsg":""}

# 图-关系定义操作 -->新增接口
## 自定义图类型接口
说明：除查询外，用户只能操作自定义的图类型，没有权限操作全局类型
### 增加
    http://localhost:8080/data-platform-3/relation/graph_def/create?projectId=Pj1101080003&secret=****
    
post例子：
    
    {
        "graph_type":"g",       //必填，图类型
        "description":"string"  //选填，文字描述
    }
返回：

    {"Result":"success","ResultMsg":"创建成功"}
    
    {"Result":"failure","ResultMsg":"已存在"}
    
### 查询
    http://localhost:8080/data-platform-3/relation/graph_def/query?projectId=Pj1101080003&secret=****
post例子：
        
        {
        	"criteria":{            //"criteria":{}，查询所有图类型，包含全局和私有的
        		"graph_type":"g1"   //选填，图类型  
        	}
        }
返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "project_id": "1101080003", //global类型没有该字段
                "graph_type": "g1",
                "description": "测试",
                "scope": "local"            //local表示私有图类型，global为全局图类型
            }
        ]
    }
    
    {"Result":"failure","ResultMsg":""}
    
### 更新
    http://localhost:8080/data-platform-3/relation/graph_def/update?projectId=Pj1101080003&secret=****
post例子：
    
    {
    	"criteria":{
    		"graph_type":"g"    //必填，图类型
    	},
    	"set":{
    		"description":"123" //必填，文字描述
    	}
    }
返回：
    
    {"Result":"success","ResultMsg":"更新成功"}
    
    {"Result":"failure","ResultMsg":""}
    
### 删除
    http://localhost:8080/data-platform-3/relation/graph_def/delete?projectId=Pj1101080003&secret=****
post例子：
    
    {
    	"criteria":{
    		"graph_type":"g"    //必填，图类型    
    	}
    }
返回：
    
    {"Result":"success","ResultMsg":"删除成功"}
    
    {"Result":"failure","ResultMsg":"被引用过，不能删除"}
    
## 自定义关系类型接口
### 增加
    http://localhost:8080/data-platform-3/relation/rel_def/create?projectId=Pj1101080003&secret=****
post例子：
    
    {
        "graph_type":"g",       //必填，图类型
        "rel_type":"r",         //必填，关系类型
        "directional":false,    //选填，boolean类型，表示该关系是否有向，默认为false
        "description":"string"  //选填，文字描述
    }
返回：

    {"Result":"success","ResultMsg":"创建成功"}
    
    {"Result":"failure","ResultMsg":"已存在"}
    
### 查询
    http://localhost:8080/data-platform-3/relation/rel_def/query?projectId=Pj1101080003&secret=****
post例子：
        
     {
        "criteria":{            //"criteria":{}，查询所有图-关系类型，包含全局和私有的
        	"graph_type":"g",   //选填，只填写graph_type，查询该图实例下的所有关系
        	"rel_type":"r"      //选填，关系类型
        }
     }
返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "graph_type": "g",
                "rel_type": "r",
                "directional": false,
                "description": "",
                "scope": "global"
            }
        ]
    }
    
    {"Result":"failure","ResultMsg":""}

### 更新
    http://localhost:8080/data-platform-3/relation/rel_def/update?projectId=Pj1101080003&secret=****
post例子：
    
    {
    	"criteria":{
    		"graph_type":"g",   //必填，图类型
    		"rel_type":"r"      //必填，关系类型
    	},
    	"set":{
    	    "directional":true, //选填，关系是否有向
    		"description":"123" //选填，文字描述
    	}
    }
返回：
    
    {"Result":"success","ResultMsg":"更新成功"}
    
    {"Result":"failure","ResultMsg":""}
    
### 删除
    http://localhost:8080/data-platform-3/relation/rel_def/delete?projectId=Pj1101080001&secret=****
post例子：
    
    {
    	"criteria":{
    		"graph_type":"g",   //必填，图类型
    		"rel_type":"r"      //必填，关系类型
    	}
    }
返回：
    
    {"Result":"success","ResultMsg":"删除成功"}
    
    {"Result":"failure","ResultMsg":"被引用过，不能删除"}
    
# 图实例操作（新增接口）
## 增加
    http://localhost:8080/data-platform-3/relation/graph_instance/create?projectId=Pj1101080001&secret=****
post例子：

    {
    	"graph_type":"",                        //必填，图类型
    	"bound_obj_id":"",                      //选填，绑定到某个物理实体的id，不能绑定到项目上
        "periods":[                             //选填，如果不填则默认全时段生效，[19000101000000,29000101000000]
            {"begin_time":"","end_time":""},    //设置生效时间和失效时间，闭区间
            {"begin_time":"","end_time":""}     //时间无穷小可设为19000101000000，无穷大可设为29000101000000
        ],
    	"infos":{                               //选填，附加信息点
    	    "info1":""
    	}                                       
    }
返回：

    {"Result":"success","ResultMsg":"","graph_id":""}
    
    {"Result":"failure","ResultMsg":""}
## 获取单个图实例, 查询图实例, 没有则创建一个并返回, 周期性起作用的图类型不建议使用, 有数据错误风险 
    http://localhost:8080/data-platform-3/relation/graph_instance/get?projectId=Pj1101080001&secret=****
    {
        "graph_type":"",                    //必填，图类型
    }
    返回:
    {"Result":"success","ResultMsg":"","graph_id":""}
    
    {"Result":"failure","ResultMsg":""}
## 查询
    http://localhost:8080/data-platform-3/relation/graph_instance/query?projectId=Pj1101080001&secret=****
### 单条查询
post例子：
    
    {
        "criteria":{
            "graph_type":"",                    //选填，图类型
            "bound_obj_id":"",                  //选填，绑定的object id
            "time":"20170831101010"             //选填，查询某个时间点的图实例，不填时默认查询当前生效的图实例
        }                                       //时间格式为yyyyMMddHHmmss，也可以填写yyyyMMdd
    }
    返回：
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
    	        "graph_id":"",    
    	        "bound_obj_id":"",  
    	        "periods":[
    	            {"begin_time":"","end_time":""},  
    	            {"begin_time":"","end_time":""}
    	        ],     
    	        "infos":{}          
            }
        ]
    }
    
    {"Result":"failure","ResultMsg":""}
    
### 批量查询
post例子：

    {
      "merge":ture,         //选填，默认为false。为true时，将返回结果去重合并，返回格式同单条查询
      "criterias": [
        {
            "graph_type":"",
            "bound_obj_id":"",    
            "time":""           
        },
        {
            "graph_type":"",
            "bound_obj_id":"",    
            "time":""           
        }
      ]
    }
    
返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": [
                    {
    	                "graph_id":"",    
    	                "bound_obj_id":"",
    	                "periods":[
    	                    {"begin_time":"","end_time":""},
    	                    {"begin_time":"","end_time":""}
    	                ],       
    	                "infos":{}          
                    }
                ]
            },
            {
                "Count": 0,         //所查询的数据不存在
                "Content": []
            }
        ],
        "Result": "success"
    }
 
##查询历史
    http://localhost:8080/data-platform-3/relation/graph_instance/query_his?projectId=Pj1101080001&secret=****
    
post:

    {
        "graph_type":""
    }    

返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
    	        "graph_id":"",    
    	        "bound_obj_id":"",  
    	        "periods":[
    	            {"begin_time":"","end_time":""},  
    	            {"begin_time":"","end_time":""}
    	        ],     
    	        "infos":{}          
            }
        ]
    }
    
    {"Result":"failure","ResultMsg":""}  
## 更新
    http://localhost:8080/data-platform-3/relation/graph_instance/update?projectId=Pj1101080001&secret=****
### 单条更新
post例子：
    
    {
        "criteria":{
            "graph_id":""   //必填
        },
        "set":{
    	    "bound_obj_id":"",  //选填
    	    "periods":[         //选填，替换原来的时间段
    	        {"begin_time":"","end_time":""},
    	        {"begin_time":"","end_time":""}
    	    ],       
    	    "infos":{
    	        "info1":"1",    //原数据存在该信息点，进行修改
    	        "info2":"2",    //原数据不存在该信息点，进行添加
    	        "info3":null    //删除该信息点
    	    }            
        }
    }
返回：
    
    {"Result": "success","ResultMsg": ""}
    {"Result": "failure","ResultMsg": "errorMsg"}
  
### 批量更新
post例子：
    
    {
        "criterias": [
            {
                "graph_id":""   //必填，图实例id
            },
            {
                "graph_id":""   //必填，图实例id
            }   
        ],
        "sets": [
            {
                "bound_obj_id":"",  
                "periods":[],       
                "infos":{}
            },
            {
                "bound_obj_id":"",  
                "periods":[],       
                "infos":{}
            }
        ]
    }
返回：
    
    {"Result": "success","ResultMsg": ""}
    {"Result": "failure","ResultMsg": "errorMsg"}
    
## 删除
    http://localhost:8080/data-platform-3/relation/graph_instance/delete?projectId=Pj1101080001&secret=****
### 单条删除
post例子：

    {
        "criteria":{
            "graph_id":""   //必填，图实例id
        }
    }
    
返回：
    
    {"Result": "success","ResultMsg": ""}
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 批量删除
post例子：

    {
        "criterias":[
            {"graph_id":""},
            {"graph_id":""}
        ]
    }
    
返回：
    
    {"Result": "success","ResultMsg": ""}
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
# 关系实例操作通用接口
说明：只支持各物理实体间的关系、物理实体与虚拟对象的关系，不支持物理实体和项目以及项目和项目之间的关系，
必须先定义图类型，创建图实例，定义关系类型，才能使用以下接口
## 增加
    http://localhost:8080/data-platform-3/relation/create?projectId=Pj1101080001&secret=****
### 单条增加
post例子：
       
    {
        "from_id":"Sy1101080001001TDTF001", //必填，object id
        "to_id":"Eq1101080001001SETDTF002", //必填，object id
        "graph_id":"g**",                   //必填，图实例id
        "rel_type":"r**",                   //必填，关系类型
        "infos":{                           //选填，可以没有infos字段，也可以是"infos":"null"
        }
    }

返回：
    
    {
        "Result":"success", //没有异常，返回结果均为success
        "Content":[],       //如果插入的关系在数据库中不存在，Content数组的内容为空。如果已经存在，会将post中的内容放到Content中，但是结果仍为success
        "Count":0,          //注意：数据库中存在该条数据，并不意味着数据库中infos里的内容和post中的内容一致。
        "ResultMsg":""      
    }
    
    {"Result":"failure","ResultMsg":"errorMsg"}
    
### 批量增加
post例子：
    
    {
        "criterias":[
            {
                "from_id":"Sy1101080001001TDTF001", //必填，object id
                "to_id":"Eq1101080001001SETDTF002", //必填，object id
                "graph_id":"g",                     //必填，图实例id
                "rel_type":"r",                     //必填，关系类型
                "infos":{                           //选填，可以没有infos字段，也可以是"infos":null
                    "info1": "121",
                    "info2": "122"                 
                }
            },
            {
                "from_id":"Sy1101080001001TDTF002", //必填，object id
                "to_id":"Eq1101080001001SETDTF003", //必填，object id
                "graph_id":"g",                     //必填，图实例id
                "rel_type":"r",                     //必填，关系类型
                "infos":{                           //选填，可以没有infos字段，也可以是"infos":"null"
                    "info1": "231",
                    "info2": "232"                                          
                }
            }
        ]
    }

返回：
    
    {
        "Result": "success",
        "Content": [                                    //如果数据库中存在该数据，会把post中的该条数据放到Content中，否则Content数组为空
            {                                           //如果插入的数据全部存在在数据库中，返回结果仍为success
                "graph_id": "g",                        //注意：数据库中有该条数据，只意味着两个id之间存在指定的关系，并不代表数据库中的infos和
                "rel_type": "r",                        //post中的infos一致
                "infos": {
                    "info1": "121",
                    "info2": "122"
                },
                "from_id": "Sy1101080001001TDTF001",
                "to_id": "Eq1101080001001SETDTF002"
            }
        ],
        "Count":1,
        "ResultMsg": ""
    }
    
    {"Result":"failure","ResultMsg":"errorMsg"}
## 根据obj_type查询

    http://localhost:8080/data-platform-3/relation/query_by_obj_type?projectId=Pj1101080001&secret=****
说明：obj\_type 可写"Bd","Fl","Sp","Eq","Ec","Sy","Si",两位系统编码，四位设备编码，六位部件编码，虚拟对象类型。使用方法:需填写（from\_id和to\_obj\_type）或（to\_id和from\_obj\_type）
post例子：
    
    {
        "criteria":{                                
                "from_id":"Sy1101080001001TDTF001", //选填，object id
                "from_obj_type":"",                 //选填，object type
                "to_id":"Eq1101080001001SETDTF002", //选填，object id
                "to_obj_type":"",                   //选填，object type
                "graph_id":"g",                     //必填，图实例id
                "rel_type":"r"                      //必填，关系类型
        }
    }
    
返回：同查询
## 查询
    http://localhost:8080/data-platform-3/relation/query?projectId=Pj1101080001&secret=****
说明：当查询条件中包含graph_id、rel_type，并同时包含from_id、to_id其中之一，当关系类型没有方向性时，无论所查询的物理实体id写在from_id还是to_id上，均能
查出与之相关联的物理实体。但是查询结果中id所处的位置不一定与查询条件一致。  
例如： 
    
    查询条件为：
    
    {
        "criteria":{                               
                "from_id":"Eq1101080010001SETDTF001",
                "graph_id":"GtHUDistribution002",                    
                "rel_type":"2"                     
        }
    }
    
    查询结果为：
    
    {
        "Result": "success",
        "Content": [
            {
                "graph_id": "GtHUDistribution002",
                "rel_type": "2",
                "from_id": "Eq1101080010001SETDTF002",
                "to_id": "Eq1101080010001SETDTF001",
                "infos": {}
            }
             
        ],
        "Count": 1
    }

### 单条查询
post例子：

    {
        "criteria":{                                //"criteria":{}，查询项目下所有关系实例
                "from_id":"Sy1101080001001TDTF001", //选填，object id
                "to_id":"Eq1101080001001SETDTF002", //选填，object id
                "graph_id":"g",                     //选填，图实例id
                "rel_type":"r"                      //选填，关系类型
        }
    }
成功返回：

//所查询的数据存在

    {
    "Result": "success",
    "Content": [
        {
            "graph_id": "g",
            "rel_type": "r",
            "from_id": "Sy1101080001001TDTF001",
            "to_id": "Eq1101080001001SETDTF004",
            "infos": {
                "info_o": {
                    "meter": "123",
                    "func-id": 456
                },
                "info_s": "asd"
            }
        }
         
    ],
    "Count": 1
    }

//所查询的数据不存在
   
    {
        "Result": "success",
        "Content": [],
        "Count": 0
    }    
失败返回：

    {"Result": "failure","ResultMsg":"errorMsg"}  
### 批量查询
post例子：

    {
      "merge":true,     //选填，默认为false。为true时，将结果合并去重，只保留一层content，同单条查询时的返回结果一致
      "criterias": [
        {
    		"from_id":"Sy1101080001001TDTF001",
    		"to_id":"Eq1101080001001SETDTF004",
    		"graph_id":"g",
    		"rel_type":"r"
    	},
        {
            "from_id": "Sy1101080001001TDTF001",
            "to_id": "Eq1101080001001SETDTF009",
            "graph_id": "g",
            "rel_type": "r"
        }
      ]
    }
    
返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": [
                    {
                        "graph_id": "g",
                        "rel_type": "r",
                        "from_id": "Sy1101080001001TDTF001",
                        "to_id": "Eq1101080001001SETDTF004",
                        "infos": {
                            "info_o": {
                                "meter": "123",
                                "func-id": 456
                            },
                            "info_s": "asd"
                        }
                    }
                ]
            },
            {
                "Count": 0,         //所查询的数据不存在
                "Content": []
            }
        ],
        "Result": "success"
    }
    
##  按图类型进行查询
    http://localhost:8080/data-platform-3/relation/query_by_graph_type?projectId=Pj1101080001&secret=****

POST:

    {
        criteria:{
            "graph_type":"",                        //图类型，图类型和图实例必填其中一个，如果都填写，以图实例id为准
            "graph_id":"",                          //图实例id
            "rel_type":"1",                         //关系类型      
            "from_id":"Sy1101080001001TDTF001",
            "to_id":"Eq1101080001001SETDTF004"           
        }
    }        
    
## 单条查询--查询建筑/楼层下的对象的关系
    http://localhost:8080/data-platform-3/relation/subset/query?projectId=Pj1101080001&secret=****
    Post:
    {
        "criteria":{                            //"criteria":{}，查询项目下所有关系实例
            "id":"建筑/楼层id",                 //选填, 关系中的两个对象至少一个在位置关系(GtSubset)中属于此对象id
            "graph_type":"",                    //必填, 图类型, 和图实例id二选一.
            "graph_id":"g",                     //必填，图实例id
            "rel_type":"r"                      //建议填, 不填默认"1"，关系类型, 支持填null, 即查询图id下所有关系类型
            "type":["Eq", "Si"]                 //必填, 类型, 支持详细类型, 虚拟对象类型
            "from_id":"",                       // 选填, 筛选from_id
            "to_id":""                          // 选填, 筛选to_id
        }
    }
    返回同上查询
## 更新  
说明：该接口只适用于更新关系的信息点，如果想要改变两者之间的关系类型，请先删除数据再插入新的关系
    
    http://localhost:8080/data-platform-3/relation/update?projectId=Pj1101080001&secret=****

### 单条更新
post例子：

    {
        "criteria": {
            "from_id": "Sy1101080001001TDTF001",    //必填，object id
            "to_id": "Eq1101080001001SETDTF007",    //必填，object id
            "graph_id": "g",                        //必填，图实例id
            "rel_type": "r"                         //必填，关系类型
        },
        "set": {
            "info_1": {             //追加或者修改信息点，原始数据有该信息点，则对信息点进行修改
                "meter": "123",     //如果原始数据没有该信息点，则将该信息点追加到数据库中
                "func_id": 100
            },
            "info_2": null          //将信息点置为null，相当于删除原始数据中的该信息点
        }
    }
    
返回：
    
    {"Result": "success","ResultMsg": "更新成功"}
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 批量更新
post例子：

    {
        "criterias": [
            {
                "from_id": "Sy1101080001001TDTF001",    //必填
                "to_id": "Eq1101080001001SETDTF007",    //必填
                "graph_id": "g",                        //必填
                "rel_type": "r"                         //必填
            },
            {
                "from_id": "Sy1101080001001TDTF001",
                "to_id": "Eq1101080001001SETDTF002",
                "graph_id": "g",
                "rel_type": "r"
            }   
        ],
        "sets": [
            {
                "info_1": {
                    "meter": "123",
                    "func_id": 100
                },
                "info_2": null
            },
            {
                "info_1": "123",
                "info_2": "456"
            }
        ]
    }
    
返回：
    
    {"Result": "success","ResultMsg": "更新成功"}
    {"Result": "failure","ResultMsg": "errorMsg"}
    
## 删除

    http://localhost:8080/data-platform-3/relation/delete?projectId=Pj1101080001&secret=****
### 单条删除    
post例子：

    {
        "criteria": {
            "from_id": "Sy1101080001001TDTF001",    //选填，object id
            "to_id": "Eq1101080001001SETDTF007",    //选填
            "graph_id": "g",                        //选填，图实例id
            "rel_type": "r"                         //选填，关系类型
        }
    }
返回：

    {"Result": "success","ResultMsg": "删除成功"}
    {"Result": "failure","ResultMsg": "errorMsg"}
### 批量删除
post例子：

    {
        "criterias": [
            {
                "from_id": "Sy1101080001001TDTF001",    //选填
                "to_id": "Eq1101080001001SETDTF007",    //选填
                "graph_id": "g",                        //选填
                "rel_type": "r"                         //选填
            },
            {
                "from_id": "Sy1101080001001TDTF002",
                "to_id": "Eq1101080001001SETDTF003",
                "graph_id": "g",
                "rel_type": "r"
            }
        ]
    }
返回：
    
    {"Result": "success","ResultMsg": "删除成功"}
    {"Result": "failure","ResultMsg": "errorMsg"}
   
# 图-关系查询

## 指定图类型和关系类型的集合
    http://localhost:8080/data-platform-3/relation/query_subset?projectId=Pj1101080003&secret=****
post例子：

    {
        "criteria": {
            "graph_id": "g",    //必填，图类型id
            "rel_types": [      //必填，关系类型集合
                "r","r2"
            ]
        }
    }
    
返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": [
                    {
                        "graph_id": "g",
                        "rel_type": "r",
                        "from_id": "Sy1101080001001TDTF001",
                        "to_id": "Eq1101080001001SETDTF004",
                        "infos": {
                            "info_o": {
                                "meter": "123",
                                "func-id": 456
                            },
                            "info_s": "asd"
                        }
                    }
                ]
            },
            {
                "Count": 0,         
                "Content": [
                    {
                        "graph_id": "g",
                        "rel_type": "r2",
                        "from_id": "Sy1101080001001TDTF003",
                        "to_id": "Eq1101080001001SETDTF004",
                        "infos": {
                            "info_o": {
                                "meter": "123",
                                "func-id": 456
                            },
                            "info_s": "asd"
                        }
                    }                 
                ]
            }
        ],
        "Result": "success"
    }

## 指定起点、图-关系链，查询经过的节点  
说明：指定路径长度和关系类型时，可以按照下列例子填写相应长度的graph_rel_types

    http://localhost:8080/data-platform-3/relation/query_path?projectId=Pj1101080003&secret=****
post例子：
    
    {
        "criteria":{
            "from_id":"Eq1101080003001ACATVA001",       //必填，指定起点
            "graph_rel_types":[
                {"graph_id":"g1","rel_type":"r1"},      //必填，指定关系类型和图实例
                {"graph_id":"g1","rel_type":null}       //对图实例或关系类型不做限定时，填null，不能同时为null
            ]
        }
    }
    
返回：

    {
        "Result": "success",                
        "ResultMsg": "",
        "Count": 1,
        "Content": [                        //按照指定关系返回的路径
            [
                "Eq1101080003001ACATVA001", //起点
                "Eq1101080003001ACATVA002", //中间节点
                "Eq1101080003001ACATVA006"  //终点
            ]
        ]
    }

    {"Result": "failure","ResultMsg": "errorMsg"}
    
## 指定起点、图类型、关系类型、距离，查询路径 
    http://localhost:8080/data-platform-3/relation/query_path_by_distance?projectId=Pj1101080003&secret=****
post例子：
    
    {
        "criteria":{
            "from_id":"Eq1101080003001ACATVA001",       //必填，指定起点
            "graph_id":"g1",                            //必填，指定图实例
            "rel_type":"r1",                            //必填，指定关系类型
            "distance":2                                //必填，指定距离          
        }
    }
返回：同上
## 指定起点、终点和图类型，查询两点之间的所有路径

    http://localhost:8080/data-platform-3/relation/query_path?projectId=Pj1101080003&secret=****
post例子：

    {
        "criteria":{
            "from_id":"Eq1101080003001ACATVA001",   //必填，指定起点
            "to_id":"Eq1101080003001ACATVA006",     //必填，指定终点
            "graph_id":"g1"                         //必填，指定图实例
        }
    }
    
返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 2,
        "Content": [
            [
                "Eq1101080003001ACATVA001",
                "Eq1101080003001ACATVA002",
                "Eq1101080003001ACATVA004",
                "Eq1101080003001ACATVA005",
                "Eq1101080003001ACATVA006"
            ],
            [
                "Eq1101080003001ACATVA001",
                "Eq1101080003001ACATVA003",
                "Eq1101080003001ACATVA004",
                "Eq1101080003001ACATVA005",
                "Eq1101080003001ACATVA006"
            ]
        ]
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
#信息点和对象模糊查询

##信息点模糊查询

    http://localhost:8080/data-platform-3/info_point/search？projectId=Pj1101080001&secret=****
post例子：

    {
        "keywords":[],
        "info_class":"public",   //public/private
        "category":["Eq","Sy","EqObj","SyObj","Bd","Sp","Fl","BdObj","SpObj","FlObj"],
        "limit":10               //选填，默认为10
    }  
      
返回：

    {
        "Result":"success",
        "Count":10,
        "Content":[
            {
                "inputMode":"",
                "type":"Eq",              //设备信息点
                "info":"",
                "infoName":"",
                "major":"",
                "majorName":"",
                "sys":"",
                "sysName":"",
                "eq":"",
                "eqName":"",
                "unit":"",
                "dataSource":""
            },
            {
                "inputMode":"",            
                "type":"Sy",              //系统信息点
                "info":"",
                "infoName":""
                "major",
                "majorName":"",
                "sys":"",
                "sysName":"",
                "unit":"",
                "dataSource":""                
            },
            {
                "inputMode":"",            
                "type":"EqObj",              //设备对象信息点
                "info":"",
                "infoName":"",
                "eqObj":"",
                "eqObjName":"",
                "eqObjLocalId":"",
                "major",
                "majorName":"",
                "sysObj":"",
                "sysObjName":"",
                "syObjLocalId":"",
                "bdObj":"",  
                "bdObjName":"",
                "bdObjLocalId":"",
                "flObj":"",
                "flObjName":"",
                "flObjLocalId":"",
                "spObj":"",
                "spObjName":"",
                "spObjLocalId":"",
                "unit":"",
                "dataSource":""   	
            },
            {
                "inputMode":"",            
                "type":"SyObj",              //系统对象信息点
                "info":"",
                "infoName":"",
                "major",
                "majorName":"",
                "sysObj":"",
                "sysObjName":"",
                "syObjLocalId":"",
                "bdObj":"",  
                "bdObjName":"",
                "bdObjLocalId":"",
                "flObj":"",
                "flObjName":"",
                "flObjLocalId":"",
                "spObj":"",
                "spObjName":"",
                "spObjLocalId":"",
                "unit":"",
                "dataSource":""                   	
            },	
    
        ]
    }
    
##对象模糊查询

    http://localhost:8080/data-platform-3/object/search？projectId=Pj1101080001&secret=****

post例子：

    {
        "keywords":[],
        "category":["Eq","Sy","EqObj","SyObj","BdObj","SpObj","FlObj","ShObj"],
        "limit":10,  //选填，默认为10
        "ids":[      //选填，指定查询范围
            "id1",
            "id2"
        ]
    }
    
返回：

    {
        "Result":"success",
        "Count":2,
        "Content":[
            {
                "type":"Eq",
                "major":"",
                "majorName":"",
                "sys":"",
                "sysName":"",
                "eq":"",
                "eqName":""
            },
            {
                "type":"Sy",
                "major":"",
                "majorName":"",
                "sys":"",
                "sysName":""
            },
            {
                "type":"SpObj"
                "bdObj":"",      //所在楼
                "bdObjName":"",  
                "bdObjLocalId":"",
                "flObj":"",    //楼层
                "flObjName":"", 
                "flObjLocalId":"",
                "spObj":"",   //所在空间
                "spObjName":"",
                "spObjLocalId":"",
                "spType":"",   //空间类型编码
                "spTypeName"   //空间类型名称
            },
            {
                "type":"ShObj"    //竖井对象
                "bdObj":"",      //所在楼
                "bdObjName":"", 
                "bdObjLocalId":"",
                "shObj":"",   
                "shObjName":"",
                "shObjLocalId":"",
            },            
            {
                "type":"FlObj"
                "bdObj":"",      //所在楼
                "bdObjName":"", 
                "bdObjLocalId":"",
                "flObj":"",    //楼层
                "flObjName":"",
                "flObjLocalId":""
            },
            {
                "type":"BdObj"
                "bdObj":"",      //所在楼
                "bdObjName":"",
                "bdObjLocalId":""
            },
            {
                "type":"EqObj"
                "bdObj":"",      //所在楼
                "bdObjName":"", 
                "bdObjLocalId":"",
                "flObj":"",    //楼层
                "flObjName":"",
                "flObjLocalId":"",
                "spObj":"",   //所在空间
                "spObjName":"",
                "spObjLocalId":"",
                "eqObj":"",    //设备实例
                "eqObjName":"",
                "eqObjLocalId":"",
                "major",
                "majorName":"",
                "sysObj":"",
                "sysObjName":"",
                "sysObjLocalId":"",
                "eq":"",       //设备类编码
                "eqName":""    //设备类名称
            },
            {
                "type":"SyObj"
                "bdObj":"",      //所在楼
                "bdObjName":"",  
                "flObj":"",    //楼层
                "flObjName":"",  
                "spObj":"",   //所在空间
                "spObjName":"",
                "eqObj":"",    //设备实例
                "eqObjName":"",
                "major",
                "majorName":"",
                "sys":"",      //系统类编码
                "sysName":"",  //系统类名称          
                "sysObj":"",
                "sysObjName":""                
            }	
    
        ]
    }
    
# 自定义字典
自定义字典创建请使用单独的excel导入工具。
## 字典方案

### 创建
    http://localhost:8080/data-platform-3/custom_dict/dict/create

post例子：

    {
        "name":"方案1",    //String，必填，方案名称
        "desc":""                //String，选填，描述                                  
    }        

返回：
    
    {
        "Result": "success",
        "ResultMsg": "",
        "id":""          //方案id
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 查询
    http://localhost:8080/data-platform-3/custom_dict/dict/query
    
post例子：

    {
        "criteria":{
            "id":"",         //String，选填，方案id
            "name":"方案1"   //String，选填，方案名称
        }
    }
    
返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "id":"",
                "name":"",
                "desc":""
            }
        ]
    } 
        
    {"Result": "failure","ResultMsg": "errorMsg"}
      
### 修改    
    http://localhost:8080/data-platform-3/custom_dict/dict/update
    
post例子：

    {
        "criteria":{
            "id":""      //String，必填，方案id
        },
        "set":{
            "name":"",   //String，选填   
            "desc":""           //String，选填
        }               
    }
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}    
### 删除
    http://localhost:8080/data-platform-3/custom_dict/dict/delete
    
post例子：

    {
        "criteria":{
            "id":""  //String，必填，方案id
        }
    }
    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"} 

## 字典方案与项目的关系（项目需要使用字典方案）
说明：一个项目只能使用一套方案 
### 增加
      http://localhost:8080/data-platform-3/custom_dict/dict_follower/create?
      
post例子：
    
    {
        "project_id":"", //项目id
        "dict_id":""  //String，必填，方案id，带Pj
    }
    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 查询(POST方法)
    http://localhost:8080/data-platform-3/custom_dict/dict_follower/query?
post例子：
    
    {
        "project_id":"" //String，必填，项目id，带Pj
    }    
返回：
    
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "id":"",
                "name":"",
                "desc":""
            }
        ]
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}            

### 删除(POST方法)
    http://localhost:8080/data-platform-3/custom_dict/dict_follower/delete?
post例子：
    
    {
        "project_id":"" //String，必填，项目id，带Pj
    }    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
## 字典方案设备岗位树
 
### 增加节点
批量增加专业、系统、设备或者部件节点
      
      http://localhost:8080/data-platform-3/custom_dict/eq_node/b_create
      
post例子：
    
    {
        "dict_id":"defb9382ebc04ff0914e2ccfda0545a0",      //必填，方案id
        "nodes":[
            {                       //专业节点，专业节点的特征：没有parent字段，code长度为2
                "code":"WS",        //必填，专业编码，长度为2
                "name":"给排水专业"   //必填，专业名称
            },
            {                       //系统节点，系统节点特征：parent字段值为某个自定义专业id，code长度为2
                "code":"SK",        //必填，系统编码，长度为2
                "name":"灌溉系统",    //必填，系统名称
                "parent":"WS",      //必填，所属专业编码，缺少此项会被错认为是专业节点
                "ref":"SI"          //选填，如果需要继承基准字典的某种系统，则填写该系统编码
            },
            {                       //设备节点，设备节点特征：parent字段值为某种自定义系统id，code长度为4
                "code":"SKSU",      //必填，设别编码，长度为4
                "name":"灌溉机组",    //必填，设备名称
                "parent":"SK",      //必填，所属体统编码
                "ref":"SISU",       //选填，如果需要继承基准字典的某种设备，则填写该设备编码
                "family":"SMA"      //选填，所属种族编码; 如果不填，系统自动认为为"XXX(其它)"; 如果该节点继承自基准字典某种设备ABCD，则需要种族也继承自基准设备ABCD的所属种族
            },
            {                       //部件节点，部件节点特征：parent字段值为某种自定义设备id，code长度为6
                "code":"SKSUBP",    //必填，部件编码，长度为6
                "name":"灌溉机组",    //必填，部件名称
                "parent":"SKSU",     //必填，所属设备编码
                "ref":"CCGHBP",      //选填，如果需要继承基准字典的某种部件，则填写该部件编码
                "family":"BQC"       //选填，所属种族编码; 如果不填，系统自动认为为"XXX(其它)"; 如果该节点继承自基准字典某种设备ABCD，则需要种族也继承自基准设备ABCD的所属种族
            }
        ]
    }
    
返回：
    
    {
        "Content": [],
        "Count": 0,
        "Result": "success"
    }
    
    {
        "ResultMsg": "",
        "Error": [
            {
                "parent": "SKSA",
                "ref": "CCGHBP",
                "code": "SKSUBP",
                "name": "灌溉机组",
                "family": "BQC",
                "error": "parent节点不存在"
            }
        ],
        "Result": "failure"
    }
    
 ### 删除节点
 批量删除专业、系统、设备或者部件节点
       
       http://localhost:8080/data-platform-3/custom_dict/eq_node/b_delete
       
 post例子：
     
     {
         "dict_id":"defb9382ebc04ff0914e2ccfda0545a0",      //必填，方案id
         "force_delete":false,                              //是否强制删除，默认否
         "nodes":[
             "WS",
             "SK",
             "SKSU",
             "SKSUBP"
         ]
         
     }
     
 返回：
     
     {
         "Result": "success",
         "ResultMsg": ""
     }
     
     {
         "ResultMsg": "",
         "Error": [
             {
                 "code": "SK",
                 "error": "存在子节点：[SKSU]"
             }
         ],
         "Result": "failure"
     }
     
 ### 查询所有节点
       
       http://localhost:8080/data-platform-3/custom_dict/eq_node/query_all
       
 post例子：
     
     {
         "dict_id":"defb9382ebc04ff0914e2ccfda0545a0",      //必填，方案id
         "show_as_tree":false                             //是否按树形结构显示，默认否  
     }
     
 返回：
     
     {
         "Content": [
             {
                 "dict_id": "09757cd7914146b395d76f3714c0670f",
                 "parent": "WS",
                 "ref": "SI",
                 "code": "SK",
                 "name": "灌溉系统",
                 "type": "eq"
             },
             {
                 "dict_id": "09757cd7914146b395d76f3714c0670f",
                 "parent": "SK",
                 "ref": "SISU",
                 "code": "SKSU",
                 "name": "灌溉机组",
                 "type": "eq",
                 "family": "SMA"
             },
             {
                 "dict_id": "09757cd7914146b395d76f3714c0670f",
                 "parent": "SKSU",
                 "ref": "CCGHBP",
                 "code": "SKSUBP",
                 "name": "灌溉机组",
                 "type": "eq",
                 "family": "BQC"
             },
             {
                 "dict_id": "09757cd7914146b395d76f3714c0670f",
                 "code": "WS",
                 "name": "给排水专业",
                 "type": "eq"
             }
         ],
         "ResultMsg": "",
         "Count": 4,
         "Result": "success"
     }
     
     或
     
     {
         "Content": [
             {
                 "dict_id": "09757cd7914146b395d76f3714c0670f",
                 "code": "WS",
                 "name": "给排水专业",
                 "type": "eq",
                 "content": [
                     {
                         "dict_id": "09757cd7914146b395d76f3714c0670f",
                         "parent": "WS",
                         "ref": "SI",
                         "code": "SK",
                         "name": "灌溉系统",
                         "type": "eq",
                         "content": [
                             {
                                 "dict_id": "09757cd7914146b395d76f3714c0670f",
                                 "parent": "SK",
                                 "ref": "SISU",
                                 "code": "SKSU",
                                 "name": "灌溉机组",
                                 "type": "eq",
                                 "family": "SMA",
                                 "content": [
                                     {
                                         "dict_id": "09757cd7914146b395d76f3714c0670f",
                                         "parent": "SKSU",
                                         "ref": "CCGHBP",
                                         "code": "SKSUBP",
                                         "name": "灌溉机组",
                                         "type": "eq",
                                         "family": "BQC"
                                     }
                                 ]
                             }
                         ]
                     }
                 ]
             }
         ],
         "ResultMsg": "",
         "Count": 4,
         "Result": "success"
     }
     
## 字典方案设备资产（种族）
 
### 增加节点
批量增加资产（种族）节点
      
      http://localhost:8080/data-platform-3/custom_dict/family_node/b_create
      
post例子：
    
    {
        "dict_id":"defb9382ebc04ff0914e2ccfda0545a0",      //必填，方案id
        "nodes":[
            {                       
                "code":"ESA",        //必填，资产编码，长度为3
                "name":"扶梯",       //必填，资产名称
                "parent":[          //选填，所属资产分类
                    "XXX",
                    "XXA"
                ]
                "ref":"AAA"         //选填，如果需要继承基准字典的某种资产，则填写该资产编码
            },
            {                       
                "code":"ESB",        //必填，资产编码，长度为3
                "name":"继电器",      //必填，资产名称
                "parent":[           //选填，所属资产分类
                    "XXX",
                    "XXA"
                ]
                "ref":"BBB"         //选填，如果需要继承基准字典的某种资产，则填写该资产编码
            }
        ]
    }
    
返回：
    
    {
        "Content": [],
        "Count": 0,
        "Result": "success"
    }
    
    {
        "ResultMsg": "",
        "Error": [
            {
                "parent":[           //选填，所属资产分类
                    "XXX",
                    "XXA"
                ]
                "ref": "BBB",
                "code": "ESB",
                "name": "继电器",
                "error": "parent节点: [ "XXX"] 不存在"
            }
        ],
        "Result": "failure"
    }
    
 ### 查询所有节点
       
       http://localhost:8080/data-platform-3/custom_dict/family_node/query_all
       
 post例子：
     
     {
         "dict_id":"defb9382ebc04ff0914e2ccfda0545a0"     //必填，方案id
     }
     
 返回：
 
    {
        "Content": [
            {
                "dict_id": "09757cd7914146b395d76f3714c0670f",
                "ref": "BBB",
                "code": "XXA",
                "children": [
                    "ESA"
                ],
                "name": "继电器2",
                "type": "family"
            },
            {
                "dict_id": "09757cd7914146b395d76f3714c0670f",
                "parent": [
                    "ESB",
                    "XXA"
                ],
                "ref": "AAA",
                "code": "ESA",
                "name": "扶梯",
                "type": "family"
            },
            {
                "dict_id": "09757cd7914146b395d76f3714c0670f",
                "ref": "BBB",
                "code": "ESB",
                "children": [
                    "ESA"
                ],
                "name": "继电器",
                "type": "family"
            }
        ],
        "ResultMsg": "",
        "Count": 3,
        "Result": "success"
    }
    
### 删除节点
 批量删除专业、系统、设备或者部件节点
       
       http://localhost:8080/data-platform-3/custom_dict/family_node/b_delete
       
 post例子：
     
     {
         "dict_id":"defb9382ebc04ff0914e2ccfda0545a0",      //必填，方案id
         "nodes":[
             "BBB",
             "ESA",
             "ESB"
         ]
         
     }
     
 返回：
     
     {
         "Result": "success",
         "ResultMsg": ""
     }
     
     
# 自定义信息点
## 信息点方案定义
### 创建
    http://localhost:8080/data-platform-3/custom_infocode/scheme/create

post例子：

    {
        "scheme_name":"方案1",    //String，必填，方案名称
        "note":""                //String，选填，备注信息                                  
    }        

返回：
    
    {
        "Result": "success",
        "ResultMsg": "",
        "scheme_id":""          //方案id
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 查询
    http://localhost:8080/data-platform-3/custom_infocode/scheme/query
    
post例子：

    {
        "criteria":{
            "scheme_id":"",         //String，选填，方案id
            "scheme_name":"方案1"   //String，选填，方案名称
        }
    }
    
返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "scheme_id":"",
                "scheme_name":"",
                "note":"",
                "followers":[
                    "Pj...",
                    "Pj..."
                ]
            }
        ]
    } 
        
    {"Result": "failure","ResultMsg": "errorMsg"}
      
### 修改    
    http://localhost:8080/data-platform-3/custom_infocode/scheme/update
    
post例子：

    {
        "criteria":{
            "scheme_id":""      //String，必填，方案id
        },
        "set":{
            "scheme_name":"",   //String，选填   
            "note":""           //String，选填
        }               
    }
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}    
### 删除
    http://localhost:8080/data-platform-3/custom_infocode/scheme/delete
    
post例子：

    {
        "criteria":{
            "scheme_id":""  //String，必填，方案id
        }
    }
    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"} 
    
## 信息点方案与项目的关系（项目需要使用哪套方案）
说明：一个项目只能使用一套方案 
### 增加
      http://localhost:8080/data-platform-3/custom_infocode/follower/create?projectId=Pj1101080001&secret=****
      
post例子：
    
    {
        "scheme_id":""  //String，必填，方案id  
    }
    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 查询(GET方法)
    http://localhost:8080/data-platform-3/custom_infocode/follower/query?projectId=Pj1101080001&secret=****
返回：
    
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "scheme_id":"",
                "scheme_name":"",
                "note":""
            }
        ]
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}            

### 删除(GET方法)
    http://localhost:8080/data-platform-3/custom_infocode/follower/delete?projectId=Pj1101080001&secret=****
    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
## 信息点方案具体内容

说明：所有infoPointCode会以“ctm-”开头，创建时如果不写“ctm-”，则系统自动添加。查询、更新、删除时，infoPointCode必须以“ctm-”开头

### 增加
    http://localhost:8080/data-platform-3/custom_infocode/scheme/info/create
    
post例子：

    {
        "scheme_id":"",                 //String，必填，方案id
        "obj_type":"",                  //String，必填，对象类型，[project，building，floor，space，ispace, shaft, 两位系统编码，四位设备编码，六位部件编码]
        "criterias":[
            {
                "firstTag":"",          //String，必填，一级标签，共四种[静态参数，反馈参数，报警参数，设定参数]
                "secondTag":"",         //String，选填，二级标签
                "infoPointCode":"",     //String，必填，信息点编码
                "infoPointName":"",     //String，选填，信息点名称
                "unit":"",              //String，选填，计量单位
                "dataType":"",          //String，选填，数据类型，详情请参照数据字典里类型的定义
                "inputMode":"",         //String，选填，输入方式（前端用），详情请参照数据字典里类型的定义
                "dataSource":"",        //String，选填，字典选择
                "note":"",              //String，选填，备注
                "func-id":""            //String，选填，表号功能号（目前无人使用）
            },
            {         
                "firstTag":"",         
                "secondTag":"",        
                "infoPointCode":"",    
                "infoPointName":"",   
                "unit":"",              
                "dataType":"",         
                "inputMode":"",        
                "dataSource":"",       
                "note":"",              
                "func-id":""            
            }
        ]
    } 
    
返回：
    
    //如果数据库中已有该信息点编码，Content中会返回数据库里的信息，其余信息会插入成功，即使所有数据在数据库中已存在，结果仍为success
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "scheme_id":"",
                "obj_type":"",          
                "firstTag":"",         
                "secondTag":"",        
                "infoPointCode":"ctm-info001",    
                "infoPointName":"",   
                "unit":"",              
                "dataType":"",         
                "inputMode":"",        
                "dataSource":"",       
                "note":"",              
                "func-id":""            
            }
        ]
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
### 查询
    http://localhost:8080/data-platform-3/custom_infocode/scheme/info/query
    
post例子：

    {
        "criteria":{
            "scheme_id":"",             //String，选填，方案id
            "obj_type":"",              //String，选填，对象类型
            "firstTag":"",              //String，选填，一级标签
            "infoPointCode":"ctm-"      //String，选填，信息点编码   
        }
    } 

返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "scheme_id":"",
                "obj_type":"",          
                "firstTag":"",         
                "secondTag":"",        
                "infoPointCode":"",    
                "infoPointName":"ctm-",   
                "unit":"",              
                "dataType":"",         
                "inputMode":"",        
                "dataSource":"",       
                "note":"",              
                "func-id":""            
            }
        ]
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
    
###更新
    http://localhost:8080/data-platform-3/custom_infocode/scheme/info/update

post例子：
    
    {
        "criteria":{
            "scheme_id":"",             //String，必填，方案id
            "obj_type":"",              //String，必填，对象类型
            "infoPointCode":"ctm-"   //String，必填，信息点编码   
        },
        "set":{
            "firstTag":"",          //String，选填，一级标签，共四种[静态参数，反馈参数，报警参数，设定参数]
            "secondTag":"",         //String，选填，二级标签
            "infoPointName":"",     //String，选填，信息点名称
            "unit":"",              //String，选填，计量单位
            "dataType":"",          //String，选填，数据类型，详情请参照数据字典里类型的定义
            "inputMode":"",         //String，选填，输入方式（前端用），详情请参照数据字典里类型的定义
            "dataSource":"",        //String，选填，字典选择
            "note":"",              //String，选填，备注
            "func-id":""            //String，选填，表号功能号（目前无人使用）               
        }
    }
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"} 
    
### 删除
    http://localhost:8080/data-platform-3/custom_infocode/scheme/info/delete

post例子：

    {
        "criteria":{
            "scheme_id":"",             //String，必填，方案id
            "obj_type":"",              //String，选填，对象类型
            "infoPointCode":"ctm-"   //String，选填，信息点编码   
        }
    }
    
返回：
    
    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
# 给对象添加二维码(修改QRCode信息点的值, 以及在图片服务器保存图片, 图片格式为jpg)
    http://localhost:8080/data-platform-3/object/qrcode/put?projectId=Pj1101080001&secret=****
    说明: logo的size过大将导致二维码不可能或难以识别, logo大小最大为其自身的原本大小, 小于原本大小将压缩至指定大小
    Post请求:
    {
        "criteria":{
            "ids":["Ec******", "Sp******" ,"Eq*******"],   // 必填, 要添加二维码的对象, 目前支持空间, 元空间(RoomQRCode) 和  资产，设备, 部件(EquipQRCode) 
            "isOverwrite":false                            // 可选, 如果存在二维码是否覆盖, true是覆盖, false不覆盖, 默认不覆盖 
            "qrCodeSize":400,                              // 可选, 二维码的边长, 默认400像素, 范围[100, 1000]
            "logoImageUrl":"http://******",                // 可选, 二维码中间图片的配置, 支持jpg/jpeg, bmp格式logo
            "logoSize":60,                                 // 可选, logo的边长, 默认60像素,  指导性的范围[10, sqrt(qrCodeLength * qrCodeLength * 0.1)]
        }
    }
    返回:
    {"Result": "success", "ResultMsg": ""}
    // 添加失败的对象(部分或全部失败), 一般原因: 1. 对象不存在或已被删除. 2. 已存在二维码  3.上传到图片服务器失败 
    {
        "Result": "success",
        "ResultMsg": "",
        "Error":[{"id":"Ec******", "error":""},...]
    }

    {"Result": "failure","ResultMsg": "errorMsg"} // 数据库错误或图片保存失败
# 受影响的业务空间相关接口
## 查询受影响的业务空间
    http://localhost:8080/data-platform-3/space/affected/query?projectId=Pj1101080001&secret=****
    Post请求:
        无
    返回:
    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 2,
        "Content": [
            {
                "id": "Sp11010800017d432c26bd9f4e23943806fc316faea4",
                "business_type":"",                                                 // 空间的业务类型
                "location":{
                    "floor": "Fl11010800013e439634f83e41a98bb3e8e44c1749d5",        // 空间所在楼层，不一定有该字段，空间可以直接在建筑下面
                    "building": "Bd1101080001002"                                   // 空间所在建筑
                },
                "infos": {
                    ...
                }
            },.....
        ]
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}
## 删除通知
     http://localhost:8080/data-platform-3/space/affected/delete_notice?projectId=Pj1101080001&secret=****
     Post请求:
     {
        "ids":["Sp1101080001*****", "Sp1101080001*****", "Sp1101080001*****"]
     }
     返回:
     {
         "Result": "success",
         "ResultMsg": ""
     }
     
     {"Result": "failure","ResultMsg": "errorMsg"}
     
# 工作历

## 创建一套工作历
    http://localhost:8080/data-platform-3/calendar/create
     
Post请求:

     {
     	"name":"万科工作历",
     	"desc":"用于万科各办公建筑"
     }
     
返回:

     {
         "Result": "success",
         "id":"2c53d807b27946e19b3fdc935418ea9b",  //新创建的日历id
         "ResultMsg": ""
     }
     
## 从已有工作历创建

创建一套与已有工作历内容一样的工作历

    http://localhost:8080/data-platform-3/calendar/create_from
     
Post请求:

     {
     	"name":"万科工作历",
     	"desc":"用于万科各办公建筑",
     	"from_id":"2c53d807b27946e19b3fdc935418ea9b"
     }
     
返回:

     {
         "Result": "success",
         "id":"2c53d807b27946e19b3fdc935418ea9b",  //新创建的日历id
         "ResultMsg": ""
     }
     
## 修改工作历
    http://localhost:8080/data-platform-3/calendar/update
     
Post请求:

     {
        "id":"2c53d807b27946e19b3fdc935418ea9b",
     	"name":"万科工作历",
     	"desc":"用于万科各办公建筑"
     }
     
返回:

     {
         "Result": "success",
         "ResultMsg": ""
     }
     
## 删除工作历
    http://localhost:8080/data-platform-3/calendar/delete
     
Post请求:

     {
        "id":"2c53d807b27946e19b3fdc935418ea9b"
     }
     
返回:

     {
         "Result": "success",
         "ResultMsg": ""
     }
     
## 查询工作历
查询系统中已创建的日历
    http://localhost:8080/data-platform-3/calendar/query
     
Post请求:

     无需参数
     
返回:

     {
         "Content": [
             {
                 "name": "万科工作历test",
                 "id": "35e8fde569f94194aa2fc391fa3d94c9",
                 "desc": "用于万科各办公建筑test"
             }
         ],
         "Count": 1,
         "Result": "success"
     } 
     
## 创建规则
使用规则可以按周（每周几），月（每月几号），年（每年中的几月几号）为固定日期打上tag

    http://localhost:8080/data-platform-3/calendar/create_rules
     
Post请求:

    {
         "rules": [
             {
                 "id":"35e8fde569f94194aa2fc391fa3d94c9",   //必填，工作历id， id和tag为联合主键
                 "tag":"WorkDay-0",                         //必填，tag, id和tag为联合主键
                 "type":"dOfW",                             //必填，dOfW为按周设置，dOfM为按每月的几号设置，mAndD为按一年中的几月几号设置
                 "value":[                                  //必填，每周1，2，4;   1 (Monday), 7 (Sunday)
                     "1",
                     "2",
                     "4"
                 ]
             },
             {
                 "id":"45e8fde569f94194aa2fc391fa3d94c8",  //必填，工作历id， id和tag为联合主键
                 "tag":"WorkDay-0",                        //必填，tag, id和tag为联合主键
                 "type":"dOfM",                            //必填，dOfW为按周设置，dOfM为按每月的几号设置，mAndD为按一年中的几月几号设置
                 "value":[                                 //必填，每月1，12，25到29号
                     "1",
                     "12",
                     "25-29"
                 ]
             },
             {
                 "id":"55e8fde569f94194aa2fc391fa3d94c6",  //必填，工作历id， id和tag为联合主键
                 "tag":"WorkDay-0",                        //必填，tag, id和tag为联合主键
                 "type":"mAndD",                           //必填，dOfW为按周设置，dOfM为按每月的几号设置，mAndD为按一年中的几月几号设置
                 "value":[                                 //必填，每年2月21号，8月22号，9月10到10月18号
                     "0221",                               //必须为4位数的格式
                     "0822",
                     "0910-1018"
                 ]
             }
         ]
    } 
返回:

    {
        "Content": [],
        "Count": 0,
        "Result": "success"
    }
     
     
## 删除规则
    http://localhost:8080/data-platform-3/calendar/del_rules
     
Post请求:

    {
         "rules":[
             {
                 "id":"35e8fde569f94194aa2fc391fa3d94c9",   //必填，工作历id
                 "tag":"WorkDay-0"                          //tag
             },
             {
                 "id":"55e8fde569f94194aa2fc391fa3d94c6",  //必填，工作历id
                 "tag":"WorkDay-1"                         //tag
             }
         ]
    }
     
返回:

    {
        "Content": [
            {
                "Count": 1
            },
            {
                "Count": 1
            }
        ],
        "Count": 2,
        "Result": "success"
    }

## 修改规则
    http://localhost:8080/data-platform-3/calendar/update_rule
     
Post请求:

     {
          "id":"45e8fde569f94194aa2fc391fa3d94c8",  //必填，工作历id
          "tag":"WorkDay-0",                        //必填，tag
          "type":"dOfM",                            //dOfW为按周设置，dOfM为按每月的几号设置，mAndD为按一年中的几月几号设置
          "value":[                                 //每月1，12，25到29号
              "1",
              "12",
              "25-29"
          ]
      }
     
返回:

    {
        "ResultMsg": "",
        "Result": "success"
    }

## 查询规则
    http://localhost:8080/data-platform-3/calendar/query_rules
     
Post请求:

     {
          "id":"35e8fde569f94194aa2fc391fa3d94c9",   //必填，工作历id
          "tag":"WorkDay-0"                          //选填，tag，不填查询某工作历下所有规则
     }
     
返回:

    {
        "Content": [
            {
                "id": "35e8fde569f94194aa2fc391fa3d94c9",
                "tag": "WorkDay-0",
                "type": "dOfW",
                "value": [
                    "1",
                    "2",
                    "3",
                    "4",
                    "5"
                ]
            },
            {
                "id": "35e8fde569f94194aa2fc391fa3d94c9",
                "tag": "WorkDay-1",
                "type": "dOfW",
                "value": [
                    "6",
                    "7"
                ]
            }
        ],
        "Count": 2,
        "Result": "success"
    }
     
    
     
## 设置作息日期
    http://localhost:8080/data-platform-3/calendar/set_tags
     
Post请求:

     {
     	"id":"2c53d807b27946e19b3fdc935418ea9b",
     	"tags":[
     		{
     			"tag":"WorkDay-0",
     			"dates":[
     				{
     					"from":"20190707000000",
     					"to":"20190719000000"
     				},
     				{
     					"from":"20190807000000",
     					"to":"20190819000000"
     				}
     			]
     		},
     		{
     			"tag":"WorkDay-1",
     			"dates":[
     				{
     					"from":"20190507000000",
     					"to":"20190519000000"
     				},
     				{
     					"from":"20190607000000",
     					"to":"20190619000000"
     				}
     			]
     		}
     	]
     }
     
返回:

     {
         "Result": "success",        
         "ResultMsg": ""
     }
     
## 删除作息日期设置
    http://localhost:8080/data-platform-3/calendar/unset_tags
     
Post请求:

     {
     	"id":"2c53d807b27946e19b3fdc935418ea9b",
     	"tags":[
     		{
     			"tag":"WorkDay-0",
     			"dates":[
     				{
     					"from":"20190707000000",
     					"to":"20190719000000"
     				},
     				{
     					"from":"20190807000000",
     					"to":"20190819000000"
     				}
     			]
     		},
     		{
     			"tag":"WorkDay-1",
     			"dates":[
     				{
     					"from":"20190507000000",
     					"to":"20190519000000"
     				},
     				{
     					"from":"20190607000000",
     					"to":"20190619000000"
     				}
     			]
     		}
     	]
     }
     
返回:

     {
         "Result": "success",        
         "ResultMsg": ""
     }
     

## 设置作息时段
    http://localhost:8080/data-platform-3/calendar/set_intervals
     
Post请求:

    {
    	"id":"2c53d807b27946e19b3fdc935418ea9b",
    	"intervals":[
    		{
    			"code":"OpenTime",
    			"time":[
                    "08:00-10:00",
                    "14:00-18:00"
                ],
    			"dates":[
    				{
    					"from":"20190707000000",
    					"to":"20190719000000"
    				},
    				{
    					"from":"20190807000000",
    					"to":"20190819000000"
    				}
    			]
    		},
    		{
    			"code":"CoolTime",
    			"time":[
                    "08:00-10:00",
                    "14:00-18:00"
                ],
    			"dates":[
    				{
    					"from":"20190507000000",
    					"to":"20190519000000"
    				},
    				{
    					"from":"20190607000000",
    					"to":"20190619000000"
    				}
    			]
    		}
    	]
    }
    
返回：

    {
        "ResultMsg": "",
        "Result": "success"
    }
    
## 根据tag设置作息时段

意为给定时间段内，所有打上给定tag的日期都设上作息时段

    http://localhost:8080/data-platform-3/calendar/set_intervals_by_tag
     
Post请求:

    {
    	"id":"2c53d807b27946e19b3fdc935418ea9b",   //必填，工作历id
    	"query":{                                  //必填，查询参数
    	    "tag":"WorkDay-1",                     //必填，tag
            "dates":{                              //必填，时间段范围
                "from":"20190707000000",                   
                "to":"20190719000000",
            }
    	},
    	"set_interval":{                           //必填，要设置的作息信息
    	    "code":"OpenTime",                     //必填，作息时段编码
            "time":[                               //必填，一天内的时段
                "08:00-10:00",
                "14:00-18:00"
            ]
    	}	  
    }
    
返回：

    {
        "ResultMsg": "",
        "Result": "success"
    }
    
## 删除作息时段设置
    http://localhost:8080/data-platform-3/calendar/unset_intervals
     
Post请求:

    {
    	"id":"2c53d807b27946e19b3fdc935418ea9b",
    	"intervals":[
    		{
    			"code":"OpenTime",
    			"dates":[
    				{
    					"from":"20190707000000",
    					"to":"20190719000000"
    				},
    				{
    					"from":"20190807000000",
    					"to":"20190819000000"
    				}
    			]
    		},
    		{
    			"code":"CoolTime",
    			"dates":[
    				{
    					"from":"20190507000000",
    					"to":"20190519000000"
    				},
    				{
    					"from":"20190607000000",
    					"to":"20190619000000"
    				}
    			]
    		}
    	]
    }
    
返回：

    {
        "ResultMsg": "",
        "Result": "success"
    }
    
## 查询工作历详细情况
    http://localhost:8080/data-platform-3/calendar/query_details
     
Post请求:

    {
    	"id":"2c53d807b27946e19b3fdc935418ea9b",    //工作历id
    	"tags":[                     // tags和intervals两者必须填一个，空数组为查询所有标签
            "WorkDay",
            "ACSeason"
        ],
    	"intervals":[               // tags和intervals两者必须填一个，空数组为查询所有时段
    		"OpenTime",
    		"CoolTime"
    	],
    	"dates":{                   //时间段必填
    		"from":"20190707000000",
    		"to":"20190719000000"
    	}
    }
    
返回：

    {
        "Content": [
            {
                "date": "20190607000000",
                "intervals": [
                    {
                        "code": "CoolTime",
                        "time": [
                            "08:00-10:00",
                            "14:00-18:00"
                        ]
                    }
                ],
                "tags": []
            },
            {
                "date": "20190608000000",
                "intervals": [
                    {
                        "code": "CoolTime",
                        "time": [
                            "08:00-10:00",
                            "14:00-18:00"
                        ]
                    }
                ],
                "tags": [
                    "ACSeason-1"
                ]
            }
        ],
        "Count": 2,
        "Result": "success"
    }
    
## 查询对象的工作历详细情况

    http://localhost:8080/data-platform-3/calendar/query_details_by_obj
     
Post请求:

    {
    	"id":"Sp4419010005680b618cfcfa11e88c08070c99557885",   //对象id,只能是空间，楼层，建筑和项目，需要对象RelatedSchedule信息点指向某套工作历id
    	"tags":[                    // tags和intervals两者必须填一个，空数组为查询所有标签
            "WorkDay",
            "ACSeason"
        ],
    	"intervals":[               // tags和intervals两者必须填一个，空数组为查询所有时段
    		"OpenTime",
    		"CoolTime"
    	],
    	"dates":{                   //时间段必填
    		"from":"20190707000000",
    		"to":"20190719000000"
    	}
    }
    
返回：

    {
        "Content": [
            {
                "date": "20190607000000",
                "intervals": [
                    {
                        "code": "CoolTime",
                        "time": [
                            "08:00-10:00",
                            "14:00-18:00"
                        ]
                    }
                ],
                "tags": []
            },
            {
                "date": "20190608000000",
                "intervals": [
                    {
                        "code": "CoolTime",
                        "time": [
                            "08:00-10:00",
                            "14:00-18:00"
                        ]
                    }
                ],
                "tags": [
                    "ACSeason-1"
                ]
            }
        ],
        "Count": 2,
        "Result": "success"
    }
    
# 二维码相关

## 根据key查询对象id
    http://localhost:8080/data-platform-3/qr_key_obj_rel/query?projectId=Pj1101080001&secret=****
     
Post请求:

     {
     	"key":"9de6b315b82a11e9b9119757a1f51ffb",
     }
    
返回：

    {
        "Content": [
            {
                "objId": "Pe5ae33c8a0aa311eaabec476de4a3fa27",
                "relation": {
                    "link": "Eq13013300042bb245920aa011eab70a93226a3d1ac1"
                }
            }
        ],
        "ResultMsg": "",
        "Count": 1,
        "Result": "success"
    }
    
    或
    
    {
        "Content": [
            {
                "objId": "Eq1301330004d3f5bc8a0aa511ea84758ddea8fe9614"
            }
        ],
        "ResultMsg": "",
        "Count": 1,
        "Result": "success"
    }
         
## 批量创建二维码key和对象id对应关系
    http://localhost:8080/data-platform-3/qr_key_obj_rel/b_create?projectId=Pj1101080001&secret=****
     
Post请求:

     {
         "criterias":[
             {
                 "key":"9de6b315b82a11e9b9119757a1f51ffb", //必填，key
                 "obj_id":"Eq1101080001001SETDTF002", //必填，object id
             },
             {
                 "key":"9de6b315b82a11e9b9119757a1f51ffb", //必填，key
                 "obj_id":"Eq1101080001001SETDTF002", //必填，object id
             }
         ]
     } 
             
## 批量删除二维码key和对象id对应关系
    http://localhost:8080/data-platform-3/qr_key_obj_rel/b_delete?projectId=Pj1101080001&secret=****
     
Post请求:

     {
         "criterias":[
             {
                 "key":"9de6b315b82a11e9b9119757a1f51ffb", //key和obj_id必填一个
                 "obj_id":"Eq1101080001001SETDTF002", //key和obj_id必填一个
             },
             {
                 "key":"9de6b315b82a11e9b9119757a1f51ffb", 
                 "obj_id":"Eq1101080001001SETDTF002", 
             }
         ]
     }              
     
#能源系统 (Deprecated)
## 差值和原始数据
### 插入数据
    http://localhost:8080/data-platform-3/energy/report/create?projectId=Pj1101080001&secret=****
说明：如果数据库中存在该记录，会进行更新操作
post例子：
    
    {
        "criterias":[
            {
                "is_original":true,         //必填，Boolean，true表示上传数据为原始数据，false为差值数据
                "meter":"123",              //必填，String，表号
                "funcid":456,               //必填，Long，功能号
                "time":"20171011000000",    //必填，String，时间，格式为yyyyMMddHHmmss
                "data":20.5                 //必填，Double，数值
            },
            {
                "is_original":false,        //Boolean，true表示上传数据为原始数据，false为差值数据
                "meter":"123",              //String，表号
                "funcid":456,               //Long，功能号
                "time":"20171011000000",    //String，时间，格式为yyyyMMddHHmmss
                "data":20.5                 //Double，数值
            }            
        ]
    }

返回：

    {
        "Result": "success",
        "ResultMsg": ""
    }
    
    {"Result": "failure","ResultMsg": "errorMsg"}

### 查询数据
    http://localhost:8080/data-platform-3/energy/report/query?projectId=Pj1101080001&secret=****
post例子：
        
        {
            "criteria""{
                "is_original":true,         //必填，Boolean，true表示上传数据为原始数据，false为差值数据
                "meter":"123",              //必填，String，表号
                "funcid":456,               //必填，Long，功能号
                "time":"20171011000000"     //必填，String，时间，格式为yyyyMMddHHmmss
            }
        }
        或者
        {
            "criteria":{
                "is_original":true,         //必填，Boolean，true表示上传数据为原始数据，false为差值数据
                "meter":"123",              //必填，String，表号
                "funcid":456,               //必填，Long，功能号
                "time":{                    //必填
                    "$gte":"20171011000000",//String，时间，格式为yyyyMMddHHmmss
                    "$lt":"20171011000000"  //$gte大于等于，$gt大于，$lt小于，$lte小于等于
                }
            }
        }

返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 2,
        "Content": [
            {
                "is_original": true,
                "meter": "111",
                "funcid": 456,
                "time": "20171011000000",
                "data": 20.5
            },
            {
                "is_original": true,
                "meter": "111",
                "funcid": 456,
                "time": "20171012000000",
                "data": 20.5
            }
        ]
    } 
    
    {"Result": "failure","ResultMsg": "errorMsg"}
           
### 删除数据
    http://localhost:8080/data-platform-3/energy/report/delete?projectId=Pj1101080001&secret=****
post例子：
        
        {
            "criteria""{
                "is_original":true,         //必填，Boolean，true表示上传数据为原始数据，false为差值数据
                "meter":"123",              //必填，String，表号
                "funcid":456,               //必填，Long，功能号
                "time":"20171011000000"     //必填，String，时间，格式为yyyyMMddHHmmss
            }
        }
        或者
        {
            "criteria":{
                "is_original":true,         //必填，Boolean，true表示上传数据为原始数据，false为差值数据
                "meter":"123",              //必填，String，表号
                "funcid":456,               //必填，Long，功能号
                "time":{                    //必填
                    "$gte":"20171011000000",//String，时间，格式为yyyyMMddHHmmss
                    "$lt":"20171011000000"  //$gte大于等于，$gt大于，$lt小于，$lte小于等于
                }
            }
        }

返回：
        
        {"Result": "success","ResultMsg": ""}
        {"Result": "failure","ResultMsg": ""}   
        
## 表号-功能号映射关系
### 插入
     http://localhost:8080/data-platform-3/energy/meter-map/create?projectId=Pj1101080001&secret=****
post例子：

    {
        "criterias":[
            {
                "meter":"m1",       //必填，String，起始表号
                "funcid":123,       //必填，Long，起始功能号
                "to_meter":"m2",    //必填，String，映射到的表号
                "to_funcid":456     //必填，Long，映射到的功能号
            },
            {
                "meter":"m3",
                "funcid":123,
                "to_meter":"m4",
                "to_funcid":456            
            }
        ]
    } 
    
返回：
 
    {
        "Result": "success",
        "ResultMsg": "已存在该数据",
        "Count": 2,
        "Content": [                        //全部插入成功时，"Content":[],
            {                               //部分成功时，Content为插入失败的数据，表明数据库中已经存在该数据
                "meter": "m1",
                "funcid": 123,
                "to_meter": "m2",
                "to_funcid": 456
            },
            {
                "meter": "m3",
                "funcid": 123,
                "to_meter": "m4",
                "to_funcid": 456
            }
        ]
    }  
    
    {"Result": "failure","ResultMsg": ""}   

### 查询    
    http://localhost:8080/data-platform-3/energy/meter-map/query?projectId=Pj1101080001&secret=****
    
post例子：

    {
        "criteria":{
            "meter":"m1",       //选填，String，起始表号
            "funcid":123,       //选填，Long，起始功能号
            "to_meter":"m2",    //选填，String，映射到的表号
            "to_funcid":456     //选填，Long，映射到的功能号      
        }
    }
    
返回：

    {
        "Result": "success",
        "ResultMsg": "",
        "Count": 1,
        "Content": [
            {
                "meter": "m1",
                "funcid": 123,
                "to_meter": "m2",
                "to_funcid": 456
            }
        ]
    }
    
    {"Result": "failure","ResultMsg": ""}   
    
### 删除
    http://localhost:8080/data-platform-3/energy/meter-map/delete?projectId=Pj1101080001&secret=****
post例子：

    {
        "criteria":{
            "meter":"m1",       //选填，String，起始表号
            "funcid":123,       //选填，Long，起始功能号
            "to_meter":"m2",    //选填，String，映射到的表号
            "to_funcid":456     //选填，Long，映射到的功能号      
        }
    }
    
返回：

    {"Result": "success","ResultMsg": ""}
    
    {"Result": "failure","ResultMsg": ""}  
    
#查询动态数据(Deprecated)
    http://localhost:8080/data-platform-3/dynamic_data/query?projectId=Pj1101080001&secret=****
    
post例子：
例1：查询分项能耗	
	
	{ 
		"criteria":{
		    "id":"VOEi...",                 //必填，实体对象id或虚拟对象id
            "code":"EnergyConsumption",     //必填，信息点编码
            "building":"",                  //选填，如果不填，会将去掉Pj的项目号作为building
            "max":true,                     //选填，true为查询最大值
            "energyModelSign":"",           /*查询条件，所有条件必填
            "energyModelNodeSign":"",
            "time_period":"",               //可选三种：15min,1h,1d
            "data_time":{                   
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			}                               */ 
		} 
	}

例2：查询计算单元能耗
		
	{ 
		"criteria":{
		    "id":"VOCu...",                 //必填，实体对象id或虚拟对象id
            "code":"EnergyConsumption",     //必填，信息点编码
            "building":"",                  //选填，如果不填，会将去掉Pj的项目号作为building
            "max":true,                     //选填，true为查询最大值
            "objectSign":"",                /*查询条件，所有条件必填
            "time_period":"",               //可选五种：5min,15min,1h,1d,1m
            "data_time":{                   
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			}
		} 
	}
	
例3：查询传感器能耗

	{ 
		"criteria":{
		    "id":"Eq...",                   //必填，实体对象id或虚拟对象id
            "code":"EnergyConsumption",     //必填，信息点编码
            "building":"",                  //选填，如果不填，会将去掉Pj的项目号作为building
            "max":true,                     //选填，true为查询最大值            
            "meter":"",                     /*查询条件，所有条件必填
            "funcid":,                        funcid为long型
            "time_period":"",               //可选五种：5min,15min,1h,1d,1m
            "data_time":{                   
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			}
		} 
	}
	
例4：查询设备能耗

	{ 
		"criteria":{
		    "id":"Eq...",                   //必填，实体对象id或虚拟对象id
            "code":"EnergyConsumption",     //必填，信息点编码
            "building":"",                  //选填，如果不填，会将去掉Pj的项目号作为building
            "max":true,                     //选填，true为查询最大值            
            "objectSign":"",                /*查询条件，所有条件必填
            "time_period":"",               //可选五种：5min,15min,1h,1d,1m
            "data_time":{                   
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			}
		}
	}

例5：查询其他信息点原始数据
	
	{
		"criteria":{
		    "id":"Eq...",                   //必填，实体对象id或虚拟对象id
            "code":"CO2",                   //必填，信息点编码
            "data_time":{                   //必填，时间范围
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			}                                
		} 
	}

返回：

    {
        "Result": "success",
        "Count": 2,
        "Content": [
            {...},
            {...}
        ],
        "ResultMsg": ""
    }
       
#查询历史数据

	http://localhost:8080/data-platform-3/hisdata/query_by_obj?projectId=Pj1101080002&secret=****

post
	
	{
		"criteria":{ 
			"id":"Sy1101080001001ACCC001",   //设备id: Eq1101080001....
			"code":"SystemElecConsP",        //信息点编码
			"receivetime":{ 
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			} 
		} 
	}
	
返回：

    {
        "Count": 3,
        "Content": [
            {
                "building": "1101080007",
                "meter": "hd001",
                "funcid": 1,
                "receivetime": "20170923000000",
                "data": 1
            },
            {
                "building": "1101080007",
                "meter": "hd001",
                "funcid": 1,
                "receivetime": "20170924000000",
                "data": 1
            },
            {
                "building": "1101080007",
                "meter": "hd001",
                "funcid": 1,
                "receivetime": "20170925000000",
                "data": 1
            }
        ],
        "Result": "success",
        "ResultMsg": ""
    }
	
#批量插入历史数据

	http://localhost:8080/data-platform-3/hisdata/batch_insert?projectId=Pj1101080002&secret=****
    
post
	
    {
        "insertObjects":[
            {
                "id":"Bd1101080007001", //对象id
                "code":"Holiday",  //信息点编码
                "receivetime":"20170922000000",
                "data":1
            },
            {
                "id":"Bd1101080007001",
                "code":"Holiday",
                "receivetime":"20170921000000",
                "data":1
            }
        ]
    }
    
返回：

    {
        "Result": "success",
        "Count": 0,
        "Content": [],
        "ResultMsg": ""
    }

#批量删除历史数据

	http://localhost:8080/data-platform-3/hisdata/batch_delete?projectId=Pj1101080002&secret=****
    （主要为了删除工作历数据用，目前只支持Holiday信息点）
post
	
    {
    	"criterias":[
    		{
    			"id":"Bd1101080007001",  //对象id
    			"code":"Holiday",        //信息点编码
    			"receivetime":"20170922000000"
    		},
    		{
    			"id":"Bd1101080007001",
    			"code":"Holiday",
    			"receivetime":"20170921000000"
    		}
    	]
    }

返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": []
            },
            {
                "Count": 1,
                "Content": []
            }
        ],
        "Result": "success",
        "ResultMsg": ""
    }
    
#批量插入分精度数据

	http://localhost:8080/data-platform-3/hisdata/batch_insert_period_data?projectId=Pj1101080002&secret=****
    
post
	
    {
        "insertObjects":[
            {
                "id":"Bd1101080007001", //对象id
                "code":"info",  //信息点编码
                "time_period":"5min",                //  5min/1h
                "data_time":"20170922000000",
                "data_value":1,
                "data_flag": 0                   //0或者其它
            },
            {
                "id":"Bd1101080007001", //对象id
                "code":"info",  //信息点编码
                "time_period":"5min",                //  5min/1h
                "data_time":"20170922000000",
                "data_value":1,
                "data_flag": 0                   //0或者其它
            }
        ]
    }
    
返回：

    {
        "Result": "success",
        "Count": 0,
        "Content": [],
        "ResultMsg": ""
    }
	
#查询分精度数据

	http://localhost:8080/data-platform-3/hisdata/query_period_data?projectId=Pj1101080002&secret=****       (支持信息点表达式的配置)

post
	
	{ 
		"criteria":{ 
			"id":"Sy1101080001001ACCC001",   //设备id: Eq1101080001....
			"code":"SystemElecConsP",        // 信息点编码
			"period":"5min",
			"interpolation":true,            //选填，查询5min或者1min数据时，若不存在，则通过粗精度数据动态插值生成。默认为true，动态插值生成
			"receivetime":{ 
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			} 
		} 
	}
	
返回：

    {
        "Content": [
            {
                "data_flag": 0,
                "data_time": "20190814154400",
                "meter": "1181",
                "data_value": 22,
                "funcid": 9005,
                "building": "1101080001",
                "time_period": "1min"
            },
            {
                "data_flag": 0,
                "data_time": "20190814154500",
                "meter": "1181",
                "data_value": 22,
                "funcid": 9005,
                "building": "1101080001",
                "time_period": "5min"
            }
        ],
        "ResultMsg": "",
        "Count": 2,
        "Result": "success"
    }
    
#批量查询分精度数据

	http://localhost:8080/data-platform-3/hisdata/batch_query_period_data?projectId=Pj1101080002&secret=****       (支持信息点表达式的配置)

post
	
	{ 
		"criterias":[
		    { 
                "id":"Sy1101080001001ACCC001",   //设备id: Eq1101080001....
                "code":"SystemElecConsP",        // 信息点编码
                "period":"5min",
                "interpolation":true,            //选填，查询5min或者1min数据时，若不存在，则通过粗精度数据动态插值生成。默认为true，动态插值生成
                "receivetime":{ 
                    "$gte":"20170522000000", 
                    "$lt":"20170523000000" 
                } 
            },
            { 
                "id":"Sy1101080001001ACCC002",   //设备id: Eq1101080001....
                "code":"SystemElecConsP",        // 信息点编码
                "period":"5min",
                "interpolation":true,            //选填，查询5min或者1min数据时，若不存在，则通过粗精度数据动态插值生成。默认为true，动态插值生成
                "receivetime":{ 
                    "$gte":"20170522000000", 
                    "$lt":"20170523000000" 
                } 
            }
		] 
	}
	
返回：

    {
        "Content": [
            {
                "code": "Tdb",
                "Content": [
                    {
                        "data_flag": 0,
                        "data_time": "20190814154000",
                        "meter": "1181",
                        "data_value": 22,
                        "funcid": 9005,
                        "building": "1101080001",
                        "time_period": "5min"
                    }
                ],
                "ResultMsg": "",
                "Count": 1,
                "id": "Sp1101080001001008029",
                "Result": "success"
            },
            {
                "code": "Tdb",
                "Content": [
                    {
                        "data_flag": 0,
                        "data_time": "20190814154000",
                        "meter": "1184",
                        "data_value": 21,
                        "funcid": 9005,
                        "building": "1101080001",
                        "time_period": "5min"
                    }
                ],
                "ResultMsg": "",
                "Count": 1,
                "id": "Sp1101080001001008031",
                "Result": "success"
            }
        ],
        "Count": 2
    }

	
#批量删除分精度数据

	http://localhost:8080/data-platform-3/hisdata/batch_delete_period_data?projectId=Pj1101080002&secret=****
post
	
    {
    	"criterias":[
    		{
                "id":"Bd1101080007001", //对象id
                "code":"info",  //信息点编码
                "time_period":"5min",                //  5min/1h/...
                "data_time":"20170922000000"
    		},
    		{
                "id":"Bd1101080007001", //对象id
                "code":"info",  //信息点编码
                "time_period":"5min",                //  5min/1h/...
                "data_time":"20170922000000"
    		}
    	]
    }

返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": []
            },
            {
                "Count": 1,
                "Content": []
            }
        ],
        "Result": "success",
        "ResultMsg": ""
    }
    
#批量按表号功能号查询分精度数据

	http://localhost:8080/data-platform-3/hisdata/batch_query_period_data_by_metfun?projectId=Pj1101080002&secret=**** 

post
	
	{
        "criterias":[
            {
                "met_fun":"101-122",      //表号功能号
                "period":"5min",
                "interpolation":true,            //选填，查询5min或者1min数据时，若不存在，则通过粗精度数据动态插值生成。默认为true，动态插值生成
                "receivetime":{
                    "$gte":"20170522000000",
                    "$lt":"20170523000000"
                }
            },
            {
                "met_fun":"101-123",
                "period":"5min",
                "interpolation":true,            //选填，查询5min或者1min数据时，若不存在，则通过粗精度数据动态插值生成。默认为true，动态插值生成
                "receivetime":{
                    "$gte":"20170522000000",
                    "$lt":"20170523000000"
                }
            }
        ]
    }
    
返回：

    {
        "102-122":{
            "Count":2,
            "Content":[
                {
                    "Count":1,
                    "Content":[
    
                    ]
                },
                {
                    "Count":1,
                    "Content":[
    
                    ]
                }
            ],
            "Result":"success",
            "ResultMsg":""
        },
        "102-123":{
            "Count":2,
            "Content":[
                {
                    "Count":1,
                    "Content":[
    
                    ]
                },
                {
                    "Count":1,
                    "Content":[
    
                    ]
                }
            ],
            "Result":"success",
            "ResultMsg":""
        }
    }
    

	
#批量插入时间段统计数据

	http://localhost:8080/data-platform-3/hisdata/batch_insert_statinst?projectId=Pj1101080002&secret=****
    
post
	
    {
        "insertObjects":[
            {
                "id":"Bd1101080007001",                   //对象id
                "code":"info",                           //信息点编码
                "time_period":"1h",                     //  1h/1d/...
                "data_time":"20170922000000",
                "data_flag": 0,                   //0或者其它
                "data_count": 100,                //总数
                "data_avg":1,                     //平均值
                "data_max":2,                     //最大值
                "time_max":"20170922100000",      //最大值时间
                "data_min":0,                     //最小值
                "time_min":"20170922110000"       //最小值时间
            },
            {
                "id":"Bd1101080007001",                   //对象id
                "code":"info",                           //信息点编码
                "time_period":"1h",                     //  1h/1d/...
                "data_time":"20170922000000",
                "data_flag": 0,                   //0或者其它
                "data_count": 100,                //总数
                "data_avg":1,                     //平均值
                "data_max":2,                     //最大值
                "time_max":"20170922100000",      //最大值时间
                "data_min":0,                     //最小值
                "time_min":"20170922110000"       //最小值时间
            }
        ]
    }
    
返回：

    {
        "Result": "success",
        "Count": 0,
        "Content": [],
        "ResultMsg": ""
    }
	
#查询时间段统计数据

	http://localhost:8080/data-platform-3/hisdata/query_statinst?projectId=Pj1101080002&secret=****

post
	
	{ 
		"criteria":{ 
			"id":"Sy1101080001001ACCC001",   //设备id: Eq1101080001....
			"code":"SystemElecConsP",        // 信息点编码
			"time_period":"1d",              //  1h/1d/...
			"data_time":{ 
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			} 
		} 
	}
	
#批量删除时间段统计数据

	http://localhost:8080/data-platform-3/hisdata/batch_delete_statinst?projectId=Pj1101080002&secret=****
post
	
    {
    	"criterias":[
    		{
                "id":"Bd1101080007001",                   //对象id
                "code":"info",                           //信息点编码
                "time_period":"1h",                     //  1h/1d/...
                "data_time":"20170922000000"
    		},
    		{
                "id":"Bd1101080007001",                   //对象id
                "code":"info",                           //信息点编码
                "time_period":"1h",                     //  1h/1d/...
                "data_time":"20170922000000"
    		}
    	]
    }

返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": []
            },
            {
                "Count": 1,
                "Content": []
            }
        ],
        "Result": "success",
        "ResultMsg": ""
    }

#设定参数 赋值

	http://localhost:8080/data-platform-3/parameter/setting?projectId=Pj1101080001&secret=****

post

	{
		"id":"Sp1101080001001000006",
		"code":"Tdb",                    // 信息点编码
		"value":1                        // 指定value
	}
	
#按表号功能号批量更新值

	http://localhost:8080/data-platform-3/parameter/bupdate?projectId=Pj1101080001&secret=****

post

    {
    	"items":[
            {
                "meter":"hhh",          // 表号                 
                "funcid":1009,          // 功能号          
                "data":1                // 值          
            },
            {
                "meter":"hhs",
                "funcid":1008,                    
                "data":1                        
            }
        ]
    }
    
#查询servicedata

	http://localhost:8080/data-platform-3/servicedata/query?projectId=Pj1101080002&secret=****       (支持信息点表达式的配置)

post
	
	{ 
		"criteria":{ 
			"id":"Sy1101080001001ACCC001",   //设备id: Eq1101080001....
			"code":"SystemElecConsP",        // 信息点编码
			"period":"5min",
			"receivetime":{ 
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			} 
		} 
	}
	
返回：

    {
        "Content": [
            {
                "data_time": "20190814154400",
                "meter": "1181",
                "data_value": 22,
                "funcid": 9005,
                "building": "1101080001",
            },
            {
                "data_time": "20190814154500",
                "meter": "1181",
                "data_value": 22,
                "funcid": 9005,
                "building": "1101080001",
            }
        ],
        "ResultMsg": "",
        "Count": 2,
        "Result": "success"
    }
    
#查询项目日升日落时间

	http://localhost:8080/data-platform-3/sunrise_sunset/query?projectId=Pj1101080002&secret=****      

post
	
	{ 
		"date":"2019-11-28"          //选填，不填为当日；必须为'yyyy-MM-dd'格式 
	}
	
返回：

    {
        "Content": [
            {
                "sunrise": "2019-11-29 07:13",
                "sunset": "2019-11-29 16:55"
            }
        ],
        "ResultMsg": "",
        "Result": "success"
    }
    
# 直接操作数据库接口
## 新旧表号功能号映射关系接口
###	插入

    http://47.93.33.207:8889/data-platform-3/dao/db_test/gateresult/insert
    
post例子：

    {
        "InsertObject":{
            "projID":"",
            "source":"",
            "orgmeterID":"",
            "orgfuncID":"",
            "newmeterID":"",
            "newfuncID":"",
            "paraName":"",
            "status":"",
            "transfer":"",
            "Type":"",
            "Note":"",
            "Unit":"",
            "deltaT":"",
            "ObjectType":"",
            "ObjectInfo":"",
            "ObjectNum":"",
            "MapObjectType":"",
            "MapObjectInfo":"",
            "MapObjectID":"",
            "Comment":""
        }    
    }

###	查询

    http://47.93.33.207:8889/data-platform-3/dao/db_test/gateresult/select
    
post例子：

    {
        "Criteria":{
            "projID":"",
            "source":"",
            "orgmeterID":"",
            "orgfuncID":"",
            "newmeterID":"",
            "newfuncID":""
        }
    }
    
###	删除

    http://47.93.33.207:8889/data-platform-3/dao/db_test/gateresult/delete
    
post例子：

    {
        "Criteria":{
            "projID":"",
            "source":"",
            "orgmeterID":"",
            "orgfuncID":"",
            "newmeterID":"",
            "newfuncID":""
        }    
    }

###	更新

    http://47.93.33.207:8889/data-platform-3/dao/db_test/gateresult/update
    
post例子：

    {
        "Criteria":{
            "projID":"",
            "source":"",
            "orgmeterID":"",
            "orgfuncID":"",
            "newmeterID":"",
            "newfuncID":""        
        },
        "Set":{
            "paraName":"",
            "status":"",
            "transfer":"",
            "Type":"",
            "Note":"",
            "Unit":"",
            "deltaT":"",
            "ObjectType":"",
            "ObjectInfo":"",
            "ObjectNum":"",
            "MapObjectType":"",
            "MapObjectInfo":"",
            "MapObjectID":"",
            "Comment":""
        }    
    }
        
#查询metadata(表dy_pointlist)

	http://47.93.33.207:8889/data-platform-3/hisdata/query_meta_info?projectId=Pj1101080001&secret=****

post

	{ 
		"criteria":{ 
			"id":"Sp1101080001001000006",
			"code":"Tdb"
		} 
	}

#查询最后接收到数据的时间

    http://47.93.33.207:8889/data-platform-3/parameter/queryConnection?projectId=Pj1101080001&secret=****
    
post    

    { 
        "criterias":[
            { 
                "id":"Eq1101080001001ACATFC050",
                "code":"RunMode"
            },
            { 
                "id":"Eq1101080001001ACATFC051",
                "code":"RunMode"
            }            
        ]
    }

返回：

    {
        "Result": "success",
        "Count": 2,
        "Content": [
            {
                "id": "Eq1101080002001ACATFH002",
                "code": "info024",
                "building": "1101080002",
                "meter": "1002",
                "funcid": 110,
                "updown": "up",
                "status":"conn",
                "receivetime": "20171102110012"
            },
            {
                "id": "Eq1101080002001ACATFH001",
                "code": "info023",
                "building": "1101080002",
                "meter": "1001",
                "funcid": 103,
                "updown": "up",
                "status":"conn",
                "receivetime": "20171102110012"
            }
        ]
    }

#查询设定参数 和 动态参数

	http://47.93.33.207:8889/data-platform-3/parameter/queryparam?projectId=Pj1101080001&secret=****          (支持信息点表达式的配置)

post

	{ 
		"criteria":{ 
			"id":"Eq1101080001001ACATFC050",
			"code":"RunMode"
		} 
	}


#批量查询设定参数 和 动态参数

	http://47.93.33.207:8889/data-platform-3/parameter/batch_query_param?projectId=Pj1101080001&secret=****     (支持信息点表达式的配置)

post

	{ 
		"criterias":[
            { 
                "id":"Eq1101080001001ACATFC050",
                "code":"RunMode"
            },
            { 
                "id":"Eq1101080001001ACATFC051",
                "code":"RunMode"
            }            
        ]
	}

response

    {
        "Result": "success",
        "Count": 2,
        "Content": [
            {
                "id": "Eq1101080002001ACATFH002",
                "code": "info024",
                "value":"1002-110",             //该信息点存储的静态信息
                "building": "1101080002",
                "meter": "1002",
                "funcid": 110,
                "data": 1,                      //实时数据
                "endtime": "20171102110012",
                "receivetime": "20171102110012",//接收到实时数据的时间
                "status": "finish:success",
                "interrupt": true               //是否中断  true(中断)/false（否）
            },
            {
                "id": "Eq1101080002001ACATFH001",
                "code": "info023",
                "value":"1001-103",             //
                "building": "1101080002",
                "meter": "1001",
                "funcid": 103,
                "data": 0,
                "endtime": "20171102110012",
                "receivetime": "20171102110012",
                "status": "finish:success",
                "interrupt": true               //是否中断  true(中断)/false（否）
            }
        ]
    }
    
# 动态字符串类数据接口

##批量查询动态字符串类数据

	http://47.93.33.207:8889/data-platform-3/parameter/string/batch_query?projectId=Pj1101080001&secret=**** 

post

	{
        "criterias":[
            {
                "id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
                "code":"VOC"
            },
            {
                "id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
                "code":"Press"
            }
        ]
    }

response

    {
        "Content": [
            {
                "code": "VOC",
                "data": "test",
                "meter": "hhh",
                "interrupt": true,
                "id": "Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
                "value": "hhh+1009",
                "funcid": 1009,
                "building": "1304030008",
                "receivetime": "20191021092815"
            },
            {
                "code": "Press",
                "data": "test",
                "meter": "hhs",
                "interrupt": false,
                "id": "Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
                "value": "hhs+1008",
                "funcid": 1008,
                "building": "1304030008",
                "receivetime": "20191021101822"
            }
        ],
        "ResultMsg": "",
        "Count": 2,
        "Result": "success"
    }

##批量更新动态字符串类数据

	http://47.93.33.207:8889/data-platform-3/parameter/string/batch_update?projectId=Pj1101080001&secret=**** 

post

    { 
    		"insertObjects":[
                { 
                    "id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",     //对象id，必填
                    "code":"VOC",                                            //信息点，必填
                    "receivetime":"20191022092815",                          //时间，选填，若不填，系统自动填上当前时间
                    "data":"test"                                            //值，必填
                },
                { 
                    "id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
                    "code":"Press",
                    "receivetime":"20191022092805",
                    "data":"test"
                }            
            ]
    }


response

    {
        "Result": "success",
        "ResultMsg": ""
    }
    
##批量插入动态字符串类历史数据

	http://localhost:8080/data-platform-3/hisdata/string/batch_insert?projectId=Pj1101080002&secret=****
    
post
	
    {
        "insertObjects":[
            {
                "id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",     //对象id, 必填
                "code":"VOC",                                            //信息点编码， 必填
                "receivetime":"20170922000000",                          //时间，必填
                "data":"test"                                            //值，必填
            },
            {
                "id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
                "code":"Press",
                "receivetime":"20170921000000",
                "data":"test"
            }
        ]
    }
    
返回：

    {
        "Result": "success",
        "Count": 0,
        "Content": [],
        "ResultMsg": ""
    }
    
##批量删除动态字符串类历史数据

	http://localhost:8080/data-platform-3/hisdata/string/batch_delete?projectId=Pj1101080002&secret=****
post
	
    {
    	"criterias":[
    		{
    			"id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",  //对象id，必填
    			"code":"VOC",                                         //信息点编码，必填
    			"receivetime":"20170922000000"                        //时间，必填
    		},
    		{
    			"id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",
    			"code":"Press",
    			"receivetime":"20170921000000"
    		}
    	]
    }

返回：

    {
        "Count": 2,
        "Content": [
            {
                "Count": 1,
                "Content": []
            },
            {
                "Count": 1,
                "Content": []
            }
        ],
        "Result": "success",
        "ResultMsg": ""
    }
    
##查询动态字符串类历史数据

	http://localhost:8080/data-platform-3/hisdata/string/query_by_obj?projectId=Pj1101080002&secret=****

post
	
	{
		"criteria":{ 
			"id":"Sp13040300052ee0d56cf64745b28ecaa72c4e7d7e84",   //设备id: Eq1101080001....
			"code":"VOC",                                          //信息点编码
			"receivetime":{ 
				"$gte":"20170522000000", 
				"$lt":"20170523000000" 
			} 
		} 
	}
	
返回：

    {
        "Count": 3,
        "Content": [
            {
                "building": "1101080007",
                "meter": "hd001",
                "funcid": 1,
                "receivetime": "20170923000000",
                "data": "test"
            },
            {
                "building": "1101080007",
                "meter": "hd001",
                "funcid": 1,
                "receivetime": "20170924000000",
                "data": "test"
            },
            {
                "building": "1101080007",
                "meter": "hd001",
                "funcid": 1,
                "receivetime": "20170925000000",
                "data": "test"
            }
        ],
        "Result": "success",
        "ResultMsg": ""
    }

#日志
##查询行为日志
    http://localhost:8080/data-platform-3/mng/activity/select?secret=*****
    
    post
    
    	{ 
            "limit":{                        // 选填.
                "skip":300,  // 跳过多少数据
                "count":50   // 查询跳过300条数据之后的50条 (默认按照创建时间从大-->小排序)
            },
    		"time":{
    		    "$lte":"20171230000000",
    		    "$gte":"20171016204300"
    		},
    		"project_id":"Pj1101080001" // 选填.
    	}
    返回:
        {
            "Result": "success",
            "ResultMsg": "",
            "Count": 50,
            "TotalCount": 1374,
            "Content": [
                {
                    "time": "20171016200312",
                    "id": "Pj1101080012",
                    "info_id": null,
                    "note": "项目创建",
                    "name":"对象本地名称"
                },
                {
                    "time": "20171016202155",
                    "project_id": "Bd1101080012001",
                    "info_id": null,
                    "note": "建筑创建",
                    "name":"对象本地名称"
                },........
            ]
        }
        {"Result": "failure","ResultMsg": ""}
##查询接口访问日志
    http://localhost:8080/data-platform-3/access_log/query
    
    post
        
        {
            "path":["object/batch_query", "equipment/batch/create"],         // 如果path数组不填内容, 则查询所有接口
            "time":{
                "$gte":"2019041805",                                         // 时间范围开始, 大于等于
                "$lte":"2019041806"                                          // 时间范围结束, 小于等于
            }
        }
    返回:
        {
            "Result": "success",
            "ResultMsg": "",
            "Count": 2,
            "Content": [
                {
                    "path": "object/batch_query",
                    "time":"2019041805"
                    "times": 101
                },
                {
                    "path": "equipment/batch/create",
                    "time":"2019041805"
                    "times": 15
                },
                {
                    "path": "total"
                    "time":"20190418053205"
                    "times": 116
                }
            ]
        }
        {"Result": "failure","ResultMsg": ""}
#广播消息定义：

	1. 物理对象创建
        { 
            "type":1,                        //Long，消息类型 
            "name":"objectCreate",           //String，消息名称 
            "id":"obj_id",                   //String，物理对象id
            "time":"",                       //String，物理对象创建时间 时间格式示例:20170101000000
            "projectId":"",                  // String, 物理对象所属项目, 目前只有资产有值
            "description":"description"      //String，消息描述
        }
        	
	2. 物理对象删除
	    { 
            "type":2,                        //Long，消息类型 
            "name":"objectDelete",           //String，消息名称 
            "id":"obj_id",                   //String，物理对象id
            "time":"",                       //String，物理对象删除时间
            "projectId":"",                  //String，物理对象所属项目id, 目前只有资产有值
            "description":"description"      //String，消息描述
        }
	
	3. 设备服务空间创建（未实现）
	    { 
            "type":3,                        //Long，消息类型 
            "name":"serveRelationCreate",    //String，消息名称
            "description":"description"      //String，消息描述
        }	
            
	4. 设备服务空间删除（未实现）
	    { 
            "type":4,                        //Long，消息类型 
            "name":"serveRelationDelete",    //String，消息名称
            "description":"description"      //String，消息描述
        }	
            
	5. 设备属于空间创建（未实现）
	    { 
            "type":5,                        //Long，消息类型 
            "name":"locationRelationCreate", //String，消息名称
            "description":"description"      //String，消息描述
        }
            	
	6. 设备属于空间删除(未实现)
	    { 
            "type":6,                        //Long，消息类型 
            "name":"locationRelationDelete", //String，消息名称
            "description":"description"      //String，消息描述
        }
            	
	7. 信息点改变
        {
            "type":7,                        //Long，消息类型 
            "name":"infoValueChange",        //String，消息名称 
            "operation_time":"",             //String, 信息点操作时间
            "projectId":"",                  //String, 该次操作的项目id
            "infos":[
                {
                    "id":"obj_id",                   //String，物理对象id
                    "info_id":"info_id",             //String，信息点编码
                    "time":"",                       //String，信息点生效时间
                    "info_value":"info_value",       //String，信息点值
                    "description":"description"      //String，消息描述
                },
                {
                    "id":"obj_id",                   //String，物理对象id
                    "info_id":"info_id",             //String，信息点编码
                    "time":"",                       //String，信息点生效时间
                    "info_value":"info_value",       //String，信息点值
                    "description":"description"      //String，消息描述
                },
                {
                    "id":"obj_id",                   //String，物理对象id
                    "info_id":"info_id",             //String，信息点编码
                    "time":"",                       //String，信息点生效时间
                    "info_value":"info_value",       //String，信息点值
                    "description":"description"      //String，消息描述
                }
            ]
        }
	8. 各种关系改变
	    { 
            "type":8,                        //Long，消息类型 
            "id":"",                         // String, 资产id (只有资产和岗位关联改变时才有值)
            "linkId":"",                     // String, 资产修改后的关联岗位id, 如果是null, 则表示删除关联(只有id有值时才有意义)
            "projectId":"pjId",              //String，项目id
            "name":"relationChange",         //String，消息名称
            "description":"description"      //String，消息描述
        }
	9. 资产修改种族
	    {
	        "type":9,                        // Long，消息类型 
	        "id":"",                         // String, 资产id
	        "oldFamily":"***",                  // String, 旧种族编码
	        "family":"***",                  // String, 新种族编码
	        "projectId":"",                  // String, 项目id,
	        "description":"description"      // String，消息描述
	    }
    10. 资产修改所属项目
        {
            "type":10,                       // Long，消息类型 
            "id":"",                         // String, 资产id
            "previousProjectId":""           // String, 原项目id
            "projectId":"",                  // String, 新项目id
            "description":"description"      // String，消息描述
        }
    11. 资产修改种族时删除了资产独有的信息点
        {
            "type":11,                       // Long，消息类型 
            "projectId":"",                   // String, 资产所属项目id
            "description":"description"      // String，消息描述
        }
    12. 自定义数据字典内容改变
        {
            "type":12,                       // Long，消息类型 
            "projectId":"",                   // String, 无效
            "dictId":"",                     //  String, 字典id
            "description":"description"      // String，消息描述
        }
    13. 变更项目使用的自定义字典
        {
            "type":13,                       // Long，消息类型 
            "projectId":"",                   // String, 项目id
            "description":"description"      // String，消息描述
        }
    13. 图实例中的关系发生变更
        {
            "type":14,                       // Long，消息类型 
            "projectId":"",                   // String, 项目id
            "graphId":"",                    //String，图实例id
            "description":"description"      // String，消息描述
        }
# 设备字典
**以下全为GET方法**
* **查询地理信息--省市信息**

	http://localhost:8080/data-platform-3/dict/query/geography

* **所有设备类型编码**

	http://localhost:8080/data-platform-3/dict/query/equipment_all
	
	http://localhost:8080/data-platform-3/dict/query/equipment_all?format=true&projectId=
	
	(URL参数projectId可选，如果项目使用自定义方案，则返回自定义方案内容)

    
* **所有种族类型编码**

	http://localhost:8080/data-platform-3/dict/query/equipment_family?format=true&projectId=
	
	(URL参数projectId可选，如果项目使用自定义方案，则返回自定义方案内容)

	
* **气候区**

	http://localhost:8080/data-platform-3/dict/query/climate

* **发展水平**

	http://localhost:8080/data-platform-3/dict/query/develop
	
* **天气状态**

	http://localhost:8080/data-platform-3/dict/query/weather
	
* **空气风力等级**

	http://localhost:8080/data-platform-3/dict/query/wind
	
* **方位信息**

	http://localhost:8080/data-platform-3/dict/query/direction
	
* **建筑功能类型**

	http://localhost:8080/data-platform-3/dict/query/building
	
* **空间功能类型**

	http://localhost:8080/data-platform-3/dict/query/space
	
* **租赁业态**

	http://localhost:8080/data-platform-3/dict/query/rental
	
* **防尘等级**

	http://localhost:8080/data-platform-3/dict/query/dustproof
	
* **防水等级**

	http://localhost:8080/data-platform-3/dict/query/waterproof
	
* **防爆设备类型**

	http://localhost:8080/data-platform-3/dict/query/explosionproof/equipment
	
* **防爆类型**

	http://localhost:8080/data-platform-3/dict/query/explosionproof/type
	
* **危险区域等级**

	http://localhost:8080/data-platform-3/dict/query/danger
	
* **气体类型和温度类型**

	http://localhost:8080/data-platform-3/dict/query/explosionproof/gas_temperature
	
* **全局图类型关系类型定义**

	http://localhost:8080/data-platform-3/dict/query/global\_relation\_defination

* **污染等级**

	http://localhost:8080/data-platform-3/dict/query/pollution_level
	
* **污秽等级**

	http://localhost:8080/data-platform-3/dict/query/contamination_level
		
* **2016年城市平均温度**

	http://localhost:8080/data-platform-3/dict/query/avg_temp/2016

* **标准分项**

    http://localhost:8080/data-platform-3/dict/query/standard\_energy\_item

* **抗震设防烈度**
    
    http://localhost:8080/data-platform-3/dict/query/seismic\_precautionary\_intensity
    
* **虚拟对象类型定义（包括分项）**
    
    http://localhost:8080/data-platform-3/dict/query/virtual_object
    
* **日历标签定义**
    
    http://localhost:8080/data-platform-3/dict/query/calendar_tag
    
* **日历时间段定义**
    
    http://localhost:8080/data-platform-3/dict/query/calendar_interval
    
* **所有耗材编码**
    
    http://localhost:8080/data-platform-3/dict/query/consumable_all 
   
* **所有工具编码**
    
    http://localhost:8080/data-platform-3/dict/query/tool_all    
    
## 模糊搜索设备类型 --> 返回设备四位编码
    http://localhost:8080/data-platform-3/dict/query/equipment_all?projectId=
   (URL参数projectId可选，如果项目使用自定义方案，则返回自定义方案内容)
    
    Post:
    {
        "key":"污"
    }
    返回:
    {
        "Result":"success",
        "Content":["STSP", "STLU"],
        "Count":2,
        "ResultMsg":""
    }
    {"Result": "failure","ResultMsg": ""}
# 信息点编码对照表查询
**以下全为GET方法**  
   url上加上查询参数enrich=true,信息点中dataSource值为"见\*\*\*\*代码"的,其内容会替换为相应json,查询所有信息点接口除外。

* **项目**
	
	http://localhost:8080/data-platform-3/infocode/query/project <font color=red>建议使用infocode/query_property</font>
	
返回：
    
    {
        "Result": "success",
        "ResultMsg": "",
        "Content": [
            {
                "firstTag":"",              //一级标签
                "secondTag":"",             //二级标签
                "infoPointName":"项目ID",   //信息点名称
                "infoPointCode":"ProjID",   //信息点编码
                "unit":"",                  //计量单位
                "dataType":"Str",           //数据类型
                "inputMode":"X",            //输入模式
                "dataSource":"",            //字典选择
                "note":"",                  //备注
                "func-id":""                //表号-功能号
            },
            {
                "firstTag":"",
                "secondTag":"",
                "infoPointName":"项目ID",
                "infoPointCode":"ProjID",
                "unit":"",
                "dataType":"Str",
                "inputMode":"X",
                "dataSource":"",
                "note":"",
                "func-id":""
            }.....
        ]
    }
    
    {
        "Result": "failure",
        "ResultMsg": "******"
    }
* **建筑体**

	http://localhost:8080/data-platform-3/infocode/query/building  <font color=red>建议使用infocode/query_property</font>
* **楼层**

	http://localhost:8080/data-platform-3/infocode/query/floor <font color=red>建议使用infocode/query_property</font>
* **空间**
	
	http://localhost:8080/data-platform-3/infocode/query/space <font color=red>建议使用infocode/query_property</font>
* **系统通用信息**	

	http://localhost:8080/data-platform-3/infocode/query/system-general <font color=red>建议使用infocode/query_property</font>
* **设备通用信息**

	http://localhost:8080/data-platform-3/infocode/query/equipment-general <font color=red>建议使用infocode/query_property</font>
* **部件通用信息**

	http://localhost:8080/data-platform-3/infocode/query/component-general <font color=red>建议使用infocode/query_property</font>
* **系统和设备独有信息**  
ID填写2位系统编码 或者 4位设备编码 或者 6位部件编码  
**不包含通用信息，只包含该类型的系统或设备独有的信息**

	http://localhost:8080/data-platform-3/infocode/query?projectId=Pj***&ID=CCAC   <font color=red>返回结果同infocode/query_property</font>
	
	(URL参数projectId可选，如果项目使用自定义方案，则返回自定义方案内容)
	
* **系统和设备完整信息**  
ID填写2位系统编码 或者 4位设备编码 或者 6位部件编码    
**将通用信息与独有信息整合在一起**

	http://localhost:8080/data-platform-3/infocode/query_whole?projectId=Pj***&ID=CCAC  <font color=red>返回结果同infocode/query_property</font>
	
	(URL参数projectId可选，如果项目使用自定义方案，则返回自定义方案内容)
	
* **耗材和工具信息点**

ID为consumable,tool或耗材及工具编码

	http://localhost:8080/data-platform-3/infocode/query?ID=2255  
* **查询所有信息点**

    http://localhost:8080/data-platform-3/infocode/query_all?projectId=Pj***
    
    (URL参数projectId可选，如果项目使用自定义方案，则返回自定义方案内容)
    
返回：

    {
        "project":[...],
        "building":[...],
        "floor":[...],
        "space":[...],
        "eq-gen":[...],
        "sy-gen":[...],
        "ec-gen":[...],
        "ATVA":[...],
        .....
    }  
    
* **查询带有自定义信息点的综合查询方法**

    1.http://localhost:8080/data-platform-3/infocode/complex_query?projectId=Pj1101080001&type=project&combine=true
    
    说明：type可选范围为[project,building,floor,space,ispace,shaft,sy-gen,eq-gen,ec-gen,2位系统编码,3位设备种族编码,4位设备编码,6位部件编码]
    没有projectId字段时，查询全局的信息点。有projectId时：如果没有combine字段或者combine=true，查询出来的信息点为全局信息点
    和自定义信息点的组合；如果combine=false，查询结果仅为自定义信息点

    2.http://localhost:8080/data-platform-3/infocode/complex_query?projectId=Pj1101080001&type=project&combine=true&enrich=true
    
    说明：enrich=true时，如果dataSource中出现 “见《...》”，将具体的数据字典内容填入dataSource
    
    返回：    
       
        {
            "Result": "success",
            "ResultMsg": "",
            "Content": [
                {
                    "firstTag":"",              //String，一级标签
                    "secondTag":"",             //String，二级标签
                    "infoPointName":"项目ID",   //String，信息点名称
                    "infoPointCode":"ProjID",   //String，信息点编码
                    "unit":"",                  //String，计量单位
                    "dataType":"Str",           //String，数据类型
                    "inputMode":"X",            //String，输入模式
                    "dataSource":"",            //JSONArray，字典选择
                    "note":"",                  //String，备注
                    "func-id":"",               //String，表号-功能号
                    "classification":"1"        //String，信息点所属类别，可没有该字段
                },
                {
                    "firstTag":"",              //String，一级标签
                    "secondTag":"",             //String，二级标签
                    "infoPointName":"项目ID",   //String，信息点名称
                    "infoPointCode":"ProjID",   //String，信息点编码
                    "unit":"",                  //String，计量单位
                    "dataType":"Str",           //String，数据类型
                    "inputMode":"X",            //String，输入模式
                    "dataSourceStr":"",         //String，字典选择
                    "note":"",                  //String，备注
                    "func-id":"",               //String，表号-功能号
                    "classification":"1"        //String，信息点所属类别，可没有该字段
                }
            ]
        }
    
* **查询种族相关信息点**    

    http://localhost:8080/data-platform-3/infocode/query_property?projectId=Pj***&type=project

    说明：type可选范围为[project,building,floor,space,ispace,shaft,sy-gen,eq-gen,ec-gen,2位系统编码,3位设备种族编码,4位设备编码,6位部件编码]。
    查询系统时，返回结果为系统通用+指定系统；查询设备种族：返回设备通用or部件通用+指定种族；查询设备时：设备通用+种族+指定设备；查询部件时：
    部件通用+种族+指定部件
    projectId可选，如果项目使用自定义方案，则返回自定义方案内容
    
    classification字段说明：0：没有分类，1：系统通用，2：设备通用，3：部件通用，4：种族，5，系统独有，6：设备独有，7：部件独有。未定义则没有classification字段
    
返回：    
   
    {
        "Result": "success",
        "ResultMsg": "",
        "Content": [
            {
                "firstTag":"",              //String，一级标签
                "secondTag":"",             //String，二级标签
                "infoPointName":"项目ID",   //String，信息点名称
                "infoPointCode":"ProjID",   //String，信息点编码
                "unit":"",                  //String，计量单位
                "dataType":"Str",           //String，数据类型
                "inputMode":"X",            //String，输入模式
                "dataSource":"",            //String或JSONArray，字典选择
                "note":"",                  //String，备注
                "func-id":"",               //String，表号-功能号
                "classification":"1"        //String，信息点所属类别，可没有该字段
            },
            {...}
        ]
    }
        
    {
        "Result": "failure",
        "ResultMsg": "******"
    }
    
* **查询种族相关信息点**    

    http://localhost:8080/data-platform-3/infocode/business\_space\_type/query

    说明：获取业务空间类型
    
返回：    

    {
        "Result": "success",
        "ResultMsg": "",
        "Count":11,
        "Content": [
            {
                "name":"供电分区",
                "rel_type":"1"
                "code":"PowerSupplyZone"
            },
            {
                "name":"照明分区",
                "rel_type":"2"
                "code":"LightingZone"
            },
            {
                "name":"网络分区",
                "rel_type":"3"
                "code":"NetworkZone"
            },
            {
                "name":"空调分区",
                "rel_type":"4"
                "code":"AirConditioningZone"
            },
            {
                "name":"采暖分区",
                "rel_type":"5"
                "code":"HeatingZone"
            },
            {
                "name":"洁净分区",
                "rel_type":"6"
                "code":"CleanZone"
            },
            {
                "name":"生活给水分区",
                "rel_type":"7"
                "code":"DomesticWaterSupplyZone"
            },
            {
                "name":"防火分区",
                "rel_type":"8"
                "code":"FireZone"
            },
            {
                "name":"安防分区",
                "rel_type":"9"
                "code":"SecurityZone"
            },
            {
                "name":"租户分区",
                "rel_type":"10"
                "code":"TenantZone"
            },
            {
                "name":"功能分区",
                "rel_type":"11"
                "code":"FunctionZone"
            },
            {
                "code": "GeneralZone",
                "name": "默认分区",
                "rel_type": "99"
            }
        ]
    }
        
    {
        "Result": "failure",
        "ResultMsg": "******"
    }