iot_cj_mysql.sql 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. -- 集抄表平台 MySQL 表结构
  2. -- 厂商表
  3. CREATE TABLE `iot_cj_vendor` (
  4. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  5. `code` varchar(2) NOT NULL COMMENT '厂商代码(01~99)',
  6. `name` varchar(128) NOT NULL DEFAULT '' COMMENT '厂商名称',
  7. `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0=开启,1=关闭)',
  8. `remark` varchar(512) DEFAULT '' COMMENT '备注',
  9. `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  10. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  11. `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  12. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  13. `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  14. `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  15. PRIMARY KEY (`id`)
  16. ) ENGINE=InnoDB COMMENT='集抄-厂商表';
  17. -- 水表设备表
  18. CREATE TABLE `iot_cj_water_meter` (
  19. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  20. `meter_address` varchar(14) NOT NULL COMMENT '表序号(BCD)',
  21. `meter_type` tinyint NOT NULL DEFAULT 16 COMMENT '仪表类型(0x10冷水表)',
  22. `vendor_code` varchar(2) NOT NULL DEFAULT '' COMMENT '厂商代码',
  23. `imei` varchar(15) DEFAULT '' COMMENT 'IMEI号',
  24. `name` varchar(128) DEFAULT '' COMMENT '设备名称',
  25. `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态(0=在线,1=离线,2=异常)',
  26. `last_online_time` datetime DEFAULT NULL COMMENT '最后在线时间',
  27. `last_report_time` datetime DEFAULT NULL COMMENT '最后上报时间',
  28. `signal_quality` tinyint DEFAULT NULL COMMENT 'CSQ信号质量(0-31,99)',
  29. `temperature` decimal(8,2) DEFAULT NULL COMMENT '温度',
  30. `voltage` decimal(8,2) DEFAULT NULL COMMENT '电压',
  31. `valve_opening` smallint DEFAULT NULL COMMENT '阀开度(0-100,0xFF异常,0xFE无电池)',
  32. `status_byte1` smallint DEFAULT NULL COMMENT '状态字节1(按位告警)',
  33. `status_byte2` smallint DEFAULT NULL COMMENT '状态字节2(按位告警)',
  34. `remote_ip` varchar(45) DEFAULT '' COMMENT '最近上报IP',
  35. `remote_port` int DEFAULT NULL COMMENT '最近上报端口',
  36. `collection_interval` int DEFAULT NULL COMMENT '当前采集周期(分钟)',
  37. `report_interval` int DEFAULT NULL COMMENT '当前上报周期(分钟)',
  38. `server_ip` varchar(45) DEFAULT '' COMMENT '当前服务器IP',
  39. `server_port` int DEFAULT NULL COMMENT '当前服务器端口',
  40. `remark` varchar(512) DEFAULT '' COMMENT '备注',
  41. `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  42. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  43. `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  44. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  45. `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  46. `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  47. PRIMARY KEY (`id`),
  48. INDEX `idx_meter_address` (`meter_address`),
  49. INDEX `idx_imei` (`imei`),
  50. INDEX `idx_vendor_code` (`vendor_code`),
  51. INDEX `idx_status` (`status`)
  52. ) ENGINE=InnoDB COMMENT='集抄-水表设备表';
  53. -- 指令表
  54. CREATE TABLE `iot_cj_command` (
  55. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  56. `meter_id` bigint NOT NULL COMMENT '水表设备ID',
  57. `meter_address` varchar(14) NOT NULL COMMENT '表序号',
  58. `command_type` tinyint NOT NULL COMMENT '指令类型(1=设参,2=校时,3=阀控,4=补抄)',
  59. `command_status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0=待下发,1=已下发,2=成功,3=失败,4=超时)',
  60. `param_data` varchar(1024) DEFAULT '' COMMENT '参数数据(JSON)',
  61. `sent_time` datetime DEFAULT NULL COMMENT '下发时间',
  62. `result_time` datetime DEFAULT NULL COMMENT '反馈时间',
  63. `retry_count` int NOT NULL DEFAULT 0 COMMENT '重试次数',
  64. `remark` varchar(512) DEFAULT '' COMMENT '备注',
  65. `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  66. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  67. `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  68. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  69. `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  70. `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  71. PRIMARY KEY (`id`),
  72. INDEX `idx_meter_id` (`meter_id`),
  73. INDEX `idx_meter_address` (`meter_address`),
  74. INDEX `idx_command_status` (`command_status`)
  75. ) ENGINE=InnoDB COMMENT='集抄-指令表';
  76. -- 通信日志表
  77. CREATE TABLE `iot_cj_comm_log` (
  78. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  79. `meter_id` bigint DEFAULT NULL COMMENT '水表设备ID',
  80. `meter_address` varchar(14) DEFAULT '' COMMENT '表序号',
  81. `direction` tinyint NOT NULL COMMENT '方向(0=上行,1=下行)',
  82. `message_type` varchar(32) NOT NULL DEFAULT '' COMMENT '消息类型(0x901F/0xA017)',
  83. `raw_data` text COMMENT '原始HEX数据',
  84. `remote_ip` varchar(45) DEFAULT '' COMMENT '远端IP',
  85. `remote_port` int DEFAULT NULL COMMENT '远端端口',
  86. `parse_status` tinyint NOT NULL DEFAULT 1 COMMENT '解析状态(1=成功,0=失败)',
  87. `parse_error` varchar(512) DEFAULT '' COMMENT '解析错误信息',
  88. `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  89. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  90. `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  91. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  92. `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  93. `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  94. PRIMARY KEY (`id`),
  95. INDEX `idx_meter_id` (`meter_id`),
  96. INDEX `idx_meter_address` (`meter_address`),
  97. INDEX `idx_direction` (`direction`),
  98. INDEX `idx_create_time` (`create_time`)
  99. ) ENGINE=InnoDB COMMENT='集抄-通信日志表';
  100. -- 厂商代码初始化数据(依据 CJ188 协议标准 附件 5.8 厂商代码)
  101. INSERT INTO `iot_cj_vendor` (`code`, `name`, `status`, `remark`, `creator`, `updater`, `tenant_id`) VALUES
  102. ('01', '宁波水表(集团)股份有限公司', 0, '非远传水表', 'system', 'system', 1),
  103. ('02', '宁波东海集团有限公司', 0, '非远传水表', 'system', 'system', 1),
  104. ('03', '安徽翼迈科技股份有限公司', 0, '', 'system', 'system', 1),
  105. ('04', '新天科技股份有限公司', 0, '', 'system', 'system', 1),
  106. ('05', '山东潍微科技股份有限公司', 0, '', 'system', 'system', 1),
  107. ('06', '迈拓仪表股份有限公司', 0, '', 'system', 'system', 1),
  108. ('07', '汇中仪表股份有限公司', 0, '', 'system', 'system', 1),
  109. ('08', '深圳拓安信物联股份有限公司', 0, '', 'system', 'system', 1),
  110. ('09', '上海肯特仪表股份有限公司', 0, '', 'system', 'system', 1),
  111. ('10', '杭州水表有限公司(日本爱知代理)', 0, '', 'system', 'system', 1);