| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- -- 集抄表平台 MySQL 表结构
- -- 厂商表
- CREATE TABLE `iot_cj_vendor` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `code` varchar(2) NOT NULL COMMENT '厂商代码(01~99)',
- `name` varchar(128) NOT NULL DEFAULT '' COMMENT '厂商名称',
- `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0=开启,1=关闭)',
- `remark` varchar(512) DEFAULT '' COMMENT '备注',
- `creator` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updater` varchar(64) DEFAULT '' COMMENT '更新者',
- `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
- `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB COMMENT='集抄-厂商表';
- -- 水表设备表
- CREATE TABLE `iot_cj_water_meter` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `meter_address` varchar(14) NOT NULL COMMENT '表序号(BCD)',
- `meter_type` tinyint NOT NULL DEFAULT 16 COMMENT '仪表类型(0x10冷水表)',
- `vendor_code` varchar(2) NOT NULL DEFAULT '' COMMENT '厂商代码',
- `imei` varchar(15) DEFAULT '' COMMENT 'IMEI号',
- `name` varchar(128) DEFAULT '' COMMENT '设备名称',
- `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态(0=在线,1=离线,2=异常)',
- `last_online_time` datetime DEFAULT NULL COMMENT '最后在线时间',
- `last_report_time` datetime DEFAULT NULL COMMENT '最后上报时间',
- `signal_quality` tinyint DEFAULT NULL COMMENT 'CSQ信号质量(0-31,99)',
- `temperature` decimal(8,2) DEFAULT NULL COMMENT '温度',
- `voltage` decimal(8,2) DEFAULT NULL COMMENT '电压',
- `valve_opening` smallint DEFAULT NULL COMMENT '阀开度(0-100,0xFF异常,0xFE无电池)',
- `status_byte1` smallint DEFAULT NULL COMMENT '状态字节1(按位告警)',
- `status_byte2` smallint DEFAULT NULL COMMENT '状态字节2(按位告警)',
- `remote_ip` varchar(45) DEFAULT '' COMMENT '最近上报IP',
- `remote_port` int DEFAULT NULL COMMENT '最近上报端口',
- `collection_interval` int DEFAULT NULL COMMENT '当前采集周期(分钟)',
- `report_interval` int DEFAULT NULL COMMENT '当前上报周期(分钟)',
- `server_ip` varchar(45) DEFAULT '' COMMENT '当前服务器IP',
- `server_port` int DEFAULT NULL COMMENT '当前服务器端口',
- `remark` varchar(512) DEFAULT '' COMMENT '备注',
- `creator` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updater` varchar(64) DEFAULT '' COMMENT '更新者',
- `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
- `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
- PRIMARY KEY (`id`),
- INDEX `idx_meter_address` (`meter_address`),
- INDEX `idx_imei` (`imei`),
- INDEX `idx_vendor_code` (`vendor_code`),
- INDEX `idx_status` (`status`)
- ) ENGINE=InnoDB COMMENT='集抄-水表设备表';
- -- 指令表
- CREATE TABLE `iot_cj_command` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `meter_id` bigint NOT NULL COMMENT '水表设备ID',
- `meter_address` varchar(14) NOT NULL COMMENT '表序号',
- `command_type` tinyint NOT NULL COMMENT '指令类型(1=设参,2=校时,3=阀控,4=补抄)',
- `command_status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0=待下发,1=已下发,2=成功,3=失败,4=超时)',
- `param_data` varchar(1024) DEFAULT '' COMMENT '参数数据(JSON)',
- `sent_time` datetime DEFAULT NULL COMMENT '下发时间',
- `result_time` datetime DEFAULT NULL COMMENT '反馈时间',
- `retry_count` int NOT NULL DEFAULT 0 COMMENT '重试次数',
- `remark` varchar(512) DEFAULT '' COMMENT '备注',
- `creator` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updater` varchar(64) DEFAULT '' COMMENT '更新者',
- `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
- `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
- PRIMARY KEY (`id`),
- INDEX `idx_meter_id` (`meter_id`),
- INDEX `idx_meter_address` (`meter_address`),
- INDEX `idx_command_status` (`command_status`)
- ) ENGINE=InnoDB COMMENT='集抄-指令表';
- -- 通信日志表
- CREATE TABLE `iot_cj_comm_log` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `meter_id` bigint DEFAULT NULL COMMENT '水表设备ID',
- `meter_address` varchar(14) DEFAULT '' COMMENT '表序号',
- `direction` tinyint NOT NULL COMMENT '方向(0=上行,1=下行)',
- `message_type` varchar(32) NOT NULL DEFAULT '' COMMENT '消息类型(0x901F/0xA017)',
- `raw_data` text COMMENT '原始HEX数据',
- `remote_ip` varchar(45) DEFAULT '' COMMENT '远端IP',
- `remote_port` int DEFAULT NULL COMMENT '远端端口',
- `parse_status` tinyint NOT NULL DEFAULT 1 COMMENT '解析状态(1=成功,0=失败)',
- `parse_error` varchar(512) DEFAULT '' COMMENT '解析错误信息',
- `creator` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updater` varchar(64) DEFAULT '' COMMENT '更新者',
- `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
- `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
- PRIMARY KEY (`id`),
- INDEX `idx_meter_id` (`meter_id`),
- INDEX `idx_meter_address` (`meter_address`),
- INDEX `idx_direction` (`direction`),
- INDEX `idx_create_time` (`create_time`)
- ) ENGINE=InnoDB COMMENT='集抄-通信日志表';
- -- 厂商代码初始化数据(依据 CJ188 协议标准 附件 5.8 厂商代码)
- INSERT INTO `iot_cj_vendor` (`code`, `name`, `status`, `remark`, `creator`, `updater`, `tenant_id`) VALUES
- ('01', '宁波水表(集团)股份有限公司', 0, '非远传水表', 'system', 'system', 1),
- ('02', '宁波东海集团有限公司', 0, '非远传水表', 'system', 'system', 1),
- ('03', '安徽翼迈科技股份有限公司', 0, '', 'system', 'system', 1),
- ('04', '新天科技股份有限公司', 0, '', 'system', 'system', 1),
- ('05', '山东潍微科技股份有限公司', 0, '', 'system', 'system', 1),
- ('06', '迈拓仪表股份有限公司', 0, '', 'system', 'system', 1),
- ('07', '汇中仪表股份有限公司', 0, '', 'system', 'system', 1),
- ('08', '深圳拓安信物联股份有限公司', 0, '', 'system', 'system', 1),
- ('09', '上海肯特仪表股份有限公司', 0, '', 'system', 'system', 1),
- ('10', '杭州水表有限公司(日本爱知代理)', 0, '', 'system', 'system', 1);
|