四川省建筑工程扬尘(噪声)监测系统数据接口标准(试行
四川省建筑工程扬尘(噪声)监测系统数据接口标准(试行)
一、总则
为贯彻落实国家和省大气污染防治有关工作部署要求,有效控制建筑施工现场扬尘污染,保护和改善环境空气质量,规范全省建筑工程扬尘监测系统建设,提升全省建筑工程扬尘监管水平,实现资源的整合与共享,根据《四川省建筑工程扬尘污染防治技术导则(试行)》要求,制定本数据接口标准。
本标准适用于各市(州)建筑工程扬尘监测信息系统(以下简称“扬尘监测系统”)与省级建筑工程扬尘监测信息系统的数据对接。
二、术语
(一)数据结构
1.表名:数据库建表的名称;
2.字段名称:数据项的中文含义;
3.字段代码:数据库中数据项建表的字段名;
4.字段类型:数据库中数据项建表的字段类型,具体包括:
- CHAR:固定长度字符串;
- NVARCHAR:可变长度字符串,有总长度限制;
- DECIMAL:数值型,有小数位数限制;
- INT:整数型;
- DATE:日期型;
- DATETIME:日期+时间型;
- TEXT:文本型。
5.是否必填:数据库中数据项是否容许为空,M:不能为空,必填;O:可以为空,选填。
(二)交换方式
开放式服务接口:标准的Web服务。
(三)引用标准
《四川省建筑工人管理服务平台数据接口标准》
《全国建筑市场监管公共服务平台工程项目数据标准》
三、编码规则
(一)项目编码
项目如果是在省级建筑工人管理服务信息平台中进行创建,可直接得到项目编码;如果是第三方系统与平台对接由平台返回该编码。
项目编码是工程项目在信息系统中判断唯一性的标识编码。全省统一的项目编码由16位数字组成,其结构定义如下:
XXXXXX XXXXXX XX XX
具体规则:
(1)工程项目所在行政区划代码为6位,应符合现行国家标准GB/T2260的规定。
(2)工程项目日期代码,格式为YYMMDD,长度为6位,由属于该工程项目下的第一条信息资源产生的日期(建议采用工程项目报建日期)确定。如2014年5月1日,代码为140501。
(3)工程项目分类代码为2位,01代表房屋建筑工程,02代表市政工程,99代表其他。
(4)工程项目序列码为2位,依据工程项目日期代码确定,同一日期内,不同工程项目由“01”开始依次往后编码,如:01、02、03…。
四、数据结构
(一)数据库表的规范
1.项目基本信息表(表名:ProjectInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(40) | M | 参考编码规则:项目编码 |
项目名称 | Name | VARCHAR(200) | M | |
安监备案号 | SafetyNo | NVARCHAR(40) | M | |
项目代码 | PrjCode | NVARCHAR(512) | O | 投资项目在线审批监管平台统一编码 |
项目简介 | Description | NVARCHAR(1000) | O | |
项目类别 | Category | INT | M | 详见数据字典表项目类别 |
建设性质 | ConstructType | INT | M | 详见数据字典表建设性质 |
资金来源 | InvestType | NVARCHAR(200) | O | |
项目所在地 | AreaCode | NVARCHAR(6) | M | 详见数据字典表行政区划 |
建设地址 | Address | NVARCHAR(200) | M | |
总面积 | BuildingArea | DECIMAL(18,2) | M | 单位:平方米 |
总长度 | BuildingLength | DECIMAL(18,2) | O | 单位:米 |
总投资 | Invest | DECIMAL(18,4) | M | 单位:万元 |
项目规模 | Scale | NVARCHAR(200) | M | |
开工日期 | StartDate | DATE | M | 精确到天,格式:yyyy-MM-dd |
经度 | Lng | DECIMAL(18,15) | O | WGS84经度 |
纬度 | Lat | DECIMAL(18,15) | O | WGS84纬度 |
第三方项目编码 | ThirdPartyProjectCode | NVARCHAR(50) | O | 第三方系统为项目创建的编码,同一个系统不能重复编码 |
2.参建单位信息表(表名:ProjectCorpInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(40) | M | 关联项目基本信息 |
企业名称 | CorpName | NVARCHAR(200) | M | |
企业注册地区 | AreaCode | NVARCHAR(6) | M | 详见数据字典表行政区划 |
统一社会信用代码 | CorpCode | VARCHAR(18) | M | |
注册日期 | RegisterDate | DATE | M | |
参建类型 | CorpType | INT | M | 详见数据字典表参建类型 |
3.管理人员信息表(表名:ProjectPMInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(40) | M | 关联项目基本信息 |
所属企业 | CorpName | NVARCHAR(200) | M | |
企业统一社会信用代码 | CorpCode | VARCHAR(18) | M | |
参建类型 | CorpType | INT | M | 详见数据字典表参建类型 |
人员类型 | PType | INT | M | 详见数据字典表人员类型 |
姓名 | PMName | NVARCHAR(50) | M | |
证件类型 | PMIDCardType | INT | M | 详见数据字典表证件类型 |
证件号码 | PMIDCardNumber | VARCHAR(18) | M | AES |
电话号码 | PMPhone | NVARCHAR(50) | M |
4.扬尘设备信息表(表名:DustDeviceInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(40) | M | 关联项目基本信息 |
项目名称 | Name | VARCHAR(200) | M | |
设备ID | DeviceID | VARCHAR(40) | M | 唯一编号,guid字符串 |
设备型号 | DeviceModel | VARCHAR(40) | M | |
设备名称 | DeviceName | VARCHAR(200) | M | |
生产厂商 | Manufacturer | VARCHAR(200) | M | |
批次 | Batch | VARCHAR(40) | M | |
SN | SN | VARCHAR(40) | O | |
SIM | SIM | VARCHAR(40) | O | |
设备状态 | DeviceState | INT | O | |
对接单位 | Unit | VARCHAR(200) | M | |
联系人 | Person | VARCHAR(40) | O | |
联系电话 | Phone | VARCHAR(11) | O | |
备注 | Remark | VARCHAR(512) | O | |
经度 | Longitude | VARCHAR(20) | O | |
纬度 | Latitude | VARCHAR(20) | O | |
视频地址 | Url | VARCHAR(200) | 有的扬尘设备带视频 |
5.扬尘监测数据表(表名:DustMonitorInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(40) | M | 关联项目基本信息 |
项目名称 | Name | VARCHAR(200) | M | |
设备ID | DeviceID | VARCHAR(40) | M | 关联扬尘设备基本信息表 |
监测时间 | MonitoringTime | DATETIME | M | |
存储时间 | SaveTime | DATETIME | M | |
PM10 | PM10Value | DECIMAL(6,0) | M | |
PM2.5 | PM25Value | DECIMAL(6,0) | M | |
噪声 | Voice | DECIMAL(6,0) | M | |
温度 | Temperature | DECIMAL(6,0) | O | |
湿度 | Humidity | DECIMAL(6,0) | o | |
风速 | WindSpeed | DECIMAL(6,0) | o | |
风向 | WindDirection | DECIMAL(6,0) | o | |
大气压 | Atmospheric | DECIMAL(6,0) | o | |
数据类型 | Type | INT | M | 详见扬尘监测数据类型 |
Pm2.5国控值 | Pm25Monitor | DECIMAL(6,0) | O | |
Pm10国控值 | Pm10Monitor | DECIMAL(6,0) | O | |
喷淋状态 | SprayStatus | INT | M | 0 = 关闭;1 = 开启 |
6.扬尘超标数据表(表名:DustExcessiveInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(40) | M | 关联项目基本信息 |
项目名称 | Name | VARCHAR(200) | M | |
设备ID | DeviceID | NVARCHAR(40) | M | 关联扬尘设备基本信息表 |
监测时间 | MonitoringTime | DATETIME | M | |
PM10超标值 | PM10 EValue | DECIMAL(6,0) | M | |
PM2.5 超标值 | PM25 EValue | DECIMAL(6,0) | M | |
噪声 | Voice | DECIMAL(6,0) | M | |
超标数据编号 | ECode | NVARCHAR(40) | M |
7.扬尘超标视频叠加参数报警图片(表名:DustExcessiveImg)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
超标数据编号 | ECode | NVARCHAR(40) | M | 关联扬尘超标数据表 |
图片 | ImageText | TEXT | M |
8.渣土运输车设备信息表(表名:SlagcarDevice)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(255) | M | 关联项目基本信息 |
项目名称 | name | VARCHAR(255) | M | |
设备ID | deviceNum | VARCHAR(40) | M | 设备唯一编号 |
设备型号 | deviceModel | VARCHAR(40) | M | |
设备名称 | deviceName | VARCHAR(200) | M | |
生产厂商 | manufacturer | VARCHAR(200) | M | |
批次 | batch | VARCHAR(40) | M | |
SN | SN | VARCHAR(40) | O | |
SIM | SIM | VARCHAR(40) | O | |
设备状态 | state | INT | O | |
对接单位 | unit | VARCHAR(200) | M | |
联系人 | contactName | VARCHAR(255) | O | |
联系电话 | contactPerson | VARCHAR(255) | O | |
备注 | remark | VARCHAR(512) | O | |
经度 | longitude | VARCHAR(20) | O | |
纬度 | latitude | VARCHAR(20) | O |
9.渣土运输车数据信息表(表名:Slagcar)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | VARCHAR(255) | M | 关联项目基本信息 |
设备ID | deviceNumber | VARCHAR(255) | M | 设备唯一编号 |
车牌号 | carNumber | VARCHAR(11) | M | |
抓拍时间 | snapDate | DATETIME | M | |
进出场类型 | InOut | Int | M | 1=进,2=出 |
是否备案 | isRecord | CHAR(1) | O | 1 是 0 否(默认为否) |
车辆类型 | carModel | INT | M | 详见数据字典表车辆类型 |
清洗图片 | cleanImg | VARCHAR(40) | O | 路径(url) |
抓拍图片 | carNumImg | VARCHAR(40) | O | 路径(url) |
视频地址 | Url | NVARCHAR(200) | M | 视频地址(Url) |
10.任务处理信息表(表名:TaskProcessingInfo)
字段名称 | 字段代码 | 字段类型 | 是否必填 | 备注 |
项目编码 | Code | NVARCHAR(40) | M | 关联项目基本信息 |
任务编码 | TaskID | NVARCHAR(40) | M | 任务的唯一标识 |
任务名称 | TaskName | NVARCHAR(200) | M | |
任务派发日期 | Assignment Date | DATE | M | |
要求完成日期 | Finish Date | DATE | M | |
处理人 | ProcessingPerson | NVARCHAR(50) | M | |
审核人 | Reviewer | NVARCHAR(50) | M | |
处理时间 | ProcessingDate | DATE | M | |
处理结果 | Processing Results | NVARCHAR(200) | M |
(二)数据字典表
1.项目类别字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 房屋建筑工程 |
2 | 2 | 市政工程 |
3 | 99 | 其他 |
2.建设性质字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 新建 |
2 | 2 | 改建 |
3 | 3 | 扩建 |
3.项目状态字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 筹备 |
2 | 2 | 立项 |
3 | 3 | 在建 |
4 | 4 | 完工 |
5 | 5 | 停工 |
4.行政区划字典表
按照《中华人民共和国行政区划代码》GB/T 2260-2015规定的行政区划名称及代码。
5.参建类型字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 建设单位 |
2 | 2 | 总承包单位 |
3 | 3 | 监理单位 |
4 | 4 | 勘察单位 |
5 | 5 | 设计单位 |
6 | 6 | 其他 |
6.人员类型字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 项目经理 |
2 | 2 | 技术负责人 |
3 | 3 | 总监理工程师 |
4 | 4 | 专业监理工程师 |
5 | 5 | 监理员 |
6 | 6 | 施工员 |
7 | 7 | 质量员 |
8 | 8 | 安全员 |
9 | 9 | 标准员 |
10 | 10 | 材料员 |
11 | 11 | 机械员 |
12 | 12 | 劳务员 |
13 | 99 | 其他 |
7.证件类型字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 居民身份证 |
2 | 2 | 护照 |
8.设备状态字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 1 | 正常 |
2 | 2 | 已拆机 |
3 | 3 | 维护暂停 |
9.扬尘监测数据类型
序号 | 字典数据编码 | 字典数据名称 |
1 | 0 | 实时值 |
2 | 1 | 分钟平均值 |
3 | 2 | 小时平均值 |
4 | 3 | 昼平均值 |
5 | 4 | 夜平均值 |
6 | 5 | 天平均值 |
7 | 6 | 月平均值 |
8 | 7 | 年平均值 |
9 | 8 | 20分钟平均值 |
10.车辆类型字典表
序号 | 字典数据编码 | 字典数据名称 |
1 | 0 | 渣土运输车 |
2 | 1 | 罐车 |
3 | 2 | 其他 |
五、数据交换接口
(一)接口说明
四川省建筑工程扬尘(噪声)监测系统提供数据上传的开放式服务接口。通过该接口可以上传的数据包括监控数据以及异常数据等。
(二)接口方式
1.REST风格
数据接口API按照REST风格设计,通过HTTP协议的GET方法或POST方法提交请求。
使用GET方法,请求参数通过URL查询参数(QueryParam)提供。
使用POST方法,请求公共参数通过URL查询参数(QueryParam)提供,接口专用参数通过请求正文(Body)、按照JSON格式封装提供。
2.公共参数
数据接口API的请求和返回均包含规定的公共参数,如无特殊说明,所有接口方法都包含以下请求公共参数以及返回公共参数。
(1)请求公共参数
参数名 | 必选 | 类型范围 | 说明 |
access_token | 是 | String | 访问令牌。成功调用login接口后返回 |
sign | 否 | String | 请求参数签名值(预留) |
signCert | 否 | String | 签名证书序列号 |
sign_method | 否 | String | 签名方法(预留) |
timestamp | 否 | Date | 应用程序发出请求的客户端时间。平台在接收到请求后,会与当前服务端时间比较,如果在误差范围大于10分钟,将请求视为无效 |
request_id | 否 | String | 应用程序发出请求的唯一标识号。平台如果在误差时间内接收到多个request_id相同的请求,除最早收到的一个请求外,其它请求将视为重放攻击而被忽略 |
(2)返回公共参数
参数名 | 必选 | 类型范围 | 说明 |
ack_code | 是 | String | 接口调用是否成功
SUCCESS:成功 FAILURE:失败 |
errors | 否 | List<Error> | 错误信息 |
sign | 否 | String | 请求参数签名值(预留) |
sign_method | 否 | String | 签名方法(预留) |
timestamp | 否 | Date | 接口响应的服务端时间 |
correlation_id | 否 | String | 对应的请求request_id。如果请求提供了request_id参数,在响应时会原样返回 |
response_id | 否 | String | 接口返回的唯一标识号 |
(3)错误信息结构
Error类 | |||||
属性 | 类型 | 长度 | 可空 | 说明 | |
code | String | 10 | 否 | 错误代码 | |
message | String | 4000 | 否 | 错误信息描述 | |
inner_code | String | 50 | 是 | 内部代码 |
3.访问控制
接入单位通过接口只允许上报指定行政区划范围内的数据,每用户并发请求数目必须小于10r/s,即用户1s内最多请求10次,超过则拒绝访问。
(三)接口流程
接口API调用流程分为三个步骤:
第一步:调用login创建安全会话获取access_token
调用安全会话接口的login方法,以创建会话获取访问令牌access_token。
请求示例:
POST https://{API_ROOT}/security/login
Content-Type: application/json {“app_key”:”APP_KEY”,”app_secret”:”APP_SECRET”,”account”:”ACCOUNT”,”password”:” PASSWORD”} |
返回结果:
{“ack_code”:”SUCCESS”,”errors”:[],”access_token”:”ACCESS_TOKEN”,”expires_in”:”86400″} |
第二步:使用access_token调用接口API
把access_token作为请求的公共参数来调用扬尘监测数据接口API。
请求示例:
GET https://{API_ROOT}/security/get_current_user?access_token=ACCESS_TOKEN |
返回结果:
{ “ack_code”:”SUCCESS” ,”errors”:[] ,”data”:{ } } |
第三步:调用logout注销会话
调用安全会话接口的logout方法,设置access_token为无效。
请求示例:
POST https://{API_ROOT}/security/logout?access_token=ACCESS_TOKEN
Content-Type: application/json |
返回结果:
{“ack_code”:”SUCCESS”,”errors”:[]} |
(四)接口API
1.安全会话接口
(1)security/login
方法名称:login
方法说明:通过用户名和密码进行身份验证,验证成功后创建一个会话。所有对数据和附件的管理操作都必须在有效的会话内进行,因此创建会话是接口系统调用的第一个方法。
请求方法:POST
URL地址:https://{API_ROOT}/security/login
访问权限:所有合法第三方程序。
请求参数:
参数名 | 必选 | 类型范围 | 说明 |
app_key | 是 | String | 分配给应用程序的app_key |
app_secret | 是 | String | 分配给应用程序的app_secret |
account | 是 | String | 用户账户名称 |
password | 是 | String | 用户账户密码 |
org_code | 否 | String | 管理员身份登录 |
返回结果:
参数名 | 必选 | 类型范围 | 说明 |
access_token | 是 | String | 登录成功则返回安全会话访问令牌 |
expires_in | 是 | Integer | 访问令牌超时时间(以秒为单位),缺省24小时 |
请求示例:
POST https://{API_ROOT}/security/login Content-Type: application/json { |
返回示例:
{ “ack_code”:”SUCCESS” ,”errors”:[] ,”access_token”:”ACCESS_TOKEN” ,”expires_in”:”86400″ } |
(2)security/logout
方法名称:logout
方法说明:注销当前会话。
请求方法:POST
URL地址:https://{API_ROOT}/security/logout
访问权限:所有已登录用户。
请求参数:无
请求示例:
POST https://{API_ROOT}/security/logout?access_token=ACCESS_TOKEN Content-Type: application/json { } |
返回示例:
{ “ack_code”:”SUCCESS” ,”errors”:[] } |
2.数据上报接口
(1)Post/Data
方法说明:上报监测数据。
请求方法:POST
URL地址:https://{API_ROOT}/ Post / Data
访问权限:所有已登录用户。
请求参数:JSON数据包,参见示例和“5接口内容”。
返回结果:
{ “ack_code”:”SUCCESS”, “errors”:{}, “correlation_id”:”” |
请求示例:
POST https://{API_ROOT}/ Post/ Data?access_token=ACCESS_TOKEN {“Type”:”1″,”DeviceID”:”Y8839011900003″,”DATA”:[ { “Temperature”: 20, “MonitoringTime”: “2020-09-25 18:29:11.224”, “Pm10Monitor”: “33”, “SprayStatus”: “0”, “WindSpeed”: 0.0, “Atmospheric”: 0, “PM10Value”: 20, “Humidity”: 95, “Pm25Monitor”: “16”, “SaveTime”: “2020-09-25 18:29:11.224”, “WindDirection”: 0, “Voice”: 4, “PM25Value”: 12 },{…}… ],”Code”:”510802201812030117″} |
(2)Post/Device
方法说明:上报监测设备数据。
请求方法:POST
URL地址:https://{API_ROOT}/Post/Device
访问权限:所有已登录用户。
请求参数:JSON数据包,参见示例和“5接口内容”。
返回结果:
{ “ack_code”:”SUCCESS”, “errors”:{}, “correlation_id”:”” |
请求示例:
POST https://{API_ROOT}/ Post/ Device?access_token=ACCESS_TOKEN { “Code”:”XXXXX-XXXX-XXX”, “Name”:”XXXX项目” “DeviceID”:”XXXXX-XXXX-XXX”, “DeviceModel”: “XXXX”, “DeviceName”:”XXXX” … } |
(3)Post/SlagcarDevice
方法说明:上报运渣车设备数据。
请求方法:POST
URL地址:https://{API_ROOT}/Post/SlagcarDevice
访问权限:所有已登录用户。
请求参数:JSON数据包,参见示例和“5接口内容”。
返回结果:
{ “ack_code”:”SUCCESS”, “errors”:{}, “correlation_id”:”” |
请求示例:
POST https://{API_ROOT}/ Post/SlagcarDevice?access_token=ACCESS_TOKEN { “Code”:”XXXXX-XXXX-XXX”, “Name”:”XXXX项目” “deviceNum”:”XXXXX-XXXX-XXX”, “deviceModel”: “XXXX”, “deviceName”:”XXXX” … } |
(4)Post/Slagcar
方法说明:上报运渣车数据。
请求方法:POST
URL地址:https://{API_ROOT}/Post/Slagcar
访问权限:所有已登录用户。
请求参数:JSON数据包,参见示例和“5接口内容”。
返回结果:
{ “ack_code”:”SUCCESS”, “errors”:{}, “correlation_id”:”” |
请求示例:
POST https://{API_ROOT}/Post/Slagcar?access_token=ACCESS_TOKEN { “Code”:”XXXXX-XXXX-XXX”, “deviceNumber”:”XXXX” “carNumber”:”XXXXX “, “snapDate”: “XXXX”, “InOut”:1 … } |
(五)接口内容
详见四川省建筑工程扬尘(噪声)监测系统数据接口标准四、数据结构。
1.扬尘监测数据表
2.扬尘设备信息表
3.运渣车设备信息表
4.运渣车数据信息表
如有资质办理相关需求欢迎联系:186 2831 5778