457 lines
33 KiB
SQL
457 lines
33 KiB
SQL
-- =========================================================================
|
||||
|
|
-- 现场基础数据导入:分组 / 网关 / 门锁 / 房间 / 门锁-网关归属(106 基地)
|
|||
|
|
--
|
|||
|
|
-- 数据来源:doc/锁-房间号对应表配置数据.xlsx
|
|||
|
|
-- 62 间房 · 62 把锁 · 8 个网关 · 8 个分组(2 楼东/中/西、3 楼东/中/西、4 楼东/中)
|
|||
|
|
--
|
|||
|
|
-- 前置条件:已执行 lock.sql(lock_group/lock_gateway/lock_device)、
|
|||
|
|
-- upgrade_d17_device_gateway.sql(lock_device_gateway)、
|
|||
|
|
-- upgrade_d19_stay.sql(lock_room)。
|
|||
|
|
--
|
|||
|
|
-- 字段口径:
|
|||
|
|
-- 1) 「锁ID」为 8 位门锁SN,写入 lock_device.device_sn;下发 locklist 时由代码补
|
|||
|
|
-- CCEE 前缀成 12 位(并非库内存储值);
|
|||
|
|
-- 2) 「分组」FFFA26102911…18 即 lock_group.group_code,与网关一一对应,同时也是
|
|||
|
|
-- locklist 的组号(params[1]);网关按组号归入该分组;
|
|||
|
|
-- 3) room_code = 分组编号-房号(如 FFFA26102911-3201),与对外接口约定一致;
|
|||
|
|
-- 4) 「开门方向」(左开/右开)在表结构中没有对应字段,写入 lock_room.remark;
|
|||
|
|
-- 5) 门锁密码、网关密码、固件版本、dev_type、人脸算法版本 Excel 未提供,保持为空
|
|||
|
|
-- (下发时 devPsw 空值按 "0" 处理);人脸授权前需在门锁页补 face_algo_version;
|
|||
|
|
-- 6) 归属关系初始 bind_status=0(待下发);若现场网关已按下表配好、不需再发
|
|||
|
|
-- locklist,见脚本末尾的可选更新。
|
|||
|
|
--
|
|||
|
|
-- 幂等性:
|
|||
|
|
-- - 分组/网关/门锁:按自然键判断,不存在则插入,已存在则对齐名称与归属字段;
|
|||
|
|
-- - 归属关系:按 (device_id, gateway_id) 判断,已存在则不改(保留 bind_status 等运行态);
|
|||
|
|
-- - 房间:按 room_code 判断,已存在则不动(保留房态与当前入住);
|
|||
|
|
-- 若该门锁已被其它房间绑定(如 D19 按 room_no 回填过),同样跳过,避免 device_id 唯一键冲突;
|
|||
|
|
-- 全程不删除任何数据,可重复执行。
|
|||
|
|
--
|
|||
|
|
-- 实现说明:
|
|||
|
|
-- 1) 源数据以字面量派生表内联在各语句中,不使用临时表(临时表会继承连接默认排序规则
|
|||
|
|
-- utf8mb4_0900_ai_ci,与业务表 utf8mb4_general_ci 比较时报 1267);
|
|||
|
|
-- 2) 派生列与业务列比较处显式 collate utf8mb4_general_ci,避免连接默认排序规则
|
|||
|
|
-- (MySQL 8 为 utf8mb4_0900_ai_ci)与业务表排序规则不一致再次触发 1267;
|
|||
|
|
-- 3) 每条语句可独立执行,重复执行结果不变。
|
|||
|
|
-- =========================================================================
|
|||
|
|
|
|||
|
|
set names utf8mb4;
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 1、分组(8):group_code 即 locklist 组号
|
|||
|
|
-- =========================================================================
|
|||
|
|
insert into lock_group (group_code, group_name, order_num, status, del_flag, create_by, create_time, remark)
|
|||
|
|
select v.group_code, v.group_name, v.order_num, '0', '0', 'admin', now(), '现场配置导入'
|
|||
|
|
from (
|
|||
|
|
select 'FFFA26102911' as group_code, '2楼东侧' as group_name, 1 as order_num
|
|||
|
|
union all select 'FFFA26102912', '2楼中间', 2
|
|||
|
|
union all select 'FFFA26102913', '2楼西侧', 3
|
|||
|
|
union all select 'FFFA26102914', '3楼东侧', 4
|
|||
|
|
union all select 'FFFA26102915', '3楼中间', 5
|
|||
|
|
union all select 'FFFA26102916', '3楼西侧', 6
|
|||
|
|
union all select 'FFFA26102917', '4楼东侧', 7
|
|||
|
|
union all select 'FFFA26102918', '4楼中间', 8
|
|||
|
|
) v
|
|||
|
|
where not exists (select 1 from lock_group g where g.group_code = v.group_code collate utf8mb4_general_ci);
|
|||
|
|
|
|||
|
|
update lock_group g
|
|||
|
|
join (
|
|||
|
|
select 'FFFA26102911' as group_code, '2楼东侧' as group_name, 1 as order_num
|
|||
|
|
union all select 'FFFA26102912', '2楼中间', 2
|
|||
|
|
union all select 'FFFA26102913', '2楼西侧', 3
|
|||
|
|
union all select 'FFFA26102914', '3楼东侧', 4
|
|||
|
|
union all select 'FFFA26102915', '3楼中间', 5
|
|||
|
|
union all select 'FFFA26102916', '3楼西侧', 6
|
|||
|
|
union all select 'FFFA26102917', '4楼东侧', 7
|
|||
|
|
union all select 'FFFA26102918', '4楼中间', 8
|
|||
|
|
) v on v.group_code collate utf8mb4_general_ci = g.group_code
|
|||
|
|
set g.group_name = v.group_name,
|
|||
|
|
g.order_num = v.order_num,
|
|||
|
|
g.update_time = now();
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 2、网关(8):一个网关一个分组,网关SN即 MQTT 主题第 2 段
|
|||
|
|
-- =========================================================================
|
|||
|
|
insert into lock_gateway (gateway_sn, gateway_name, group_id, gateway_ip, status, del_flag, create_by, create_time, remark)
|
|||
|
|
select v.gateway_sn, v.gateway_name, g.group_id, v.gateway_ip, '0', '0', 'admin', now(), '现场配置导入'
|
|||
|
|
from (
|
|||
|
|
select 'C846CEC8EB0B' as gateway_sn, '2楼东侧网关' as gateway_name, '192.168.1.181' as gateway_ip, 'FFFA26102911' as group_code
|
|||
|
|
union all select '7EC81CB0381A', '2楼中间网关', '192.168.1.182', 'FFFA26102912'
|
|||
|
|
union all select '33C574C47232', '2楼西侧网关', '192.168.1.183', 'FFFA26102913'
|
|||
|
|
union all select '6F5B285A4C82', '3楼东侧网关', '192.168.1.184', 'FFFA26102914'
|
|||
|
|
union all select '740655ADA09A', '3楼中间网关', '192.168.1.185', 'FFFA26102915'
|
|||
|
|
union all select '971ED01FA2FA', '3楼西侧网关', '192.168.1.186', 'FFFA26102916'
|
|||
|
|
union all select '3003368D0573', '4楼东侧网关', '192.168.1.187', 'FFFA26102917'
|
|||
|
|
union all select 'B46995C2AAC1', '4楼中间网关', '192.168.1.188', 'FFFA26102918'
|
|||
|
|
) v
|
|||
|
|
join lock_group g on v.group_code collate utf8mb4_general_ci = g.group_code
|
|||
|
|
where not exists (select 1 from lock_gateway w where w.gateway_sn = v.gateway_sn collate utf8mb4_general_ci);
|
|||
|
|
|
|||
|
|
update lock_gateway w
|
|||
|
|
join (
|
|||
|
|
select 'C846CEC8EB0B' as gateway_sn, '2楼东侧网关' as gateway_name, '192.168.1.181' as gateway_ip, 'FFFA26102911' as group_code
|
|||
|
|
union all select '7EC81CB0381A', '2楼中间网关', '192.168.1.182', 'FFFA26102912'
|
|||
|
|
union all select '33C574C47232', '2楼西侧网关', '192.168.1.183', 'FFFA26102913'
|
|||
|
|
union all select '6F5B285A4C82', '3楼东侧网关', '192.168.1.184', 'FFFA26102914'
|
|||
|
|
union all select '740655ADA09A', '3楼中间网关', '192.168.1.185', 'FFFA26102915'
|
|||
|
|
union all select '971ED01FA2FA', '3楼西侧网关', '192.168.1.186', 'FFFA26102916'
|
|||
|
|
union all select '3003368D0573', '4楼东侧网关', '192.168.1.187', 'FFFA26102917'
|
|||
|
|
union all select 'B46995C2AAC1', '4楼中间网关', '192.168.1.188', 'FFFA26102918'
|
|||
|
|
) v on v.gateway_sn collate utf8mb4_general_ci = w.gateway_sn
|
|||
|
|
join lock_group g on v.group_code collate utf8mb4_general_ci = g.group_code
|
|||
|
|
set w.gateway_name = v.gateway_name,
|
|||
|
|
w.gateway_ip = v.gateway_ip,
|
|||
|
|
w.group_id = g.group_id,
|
|||
|
|
w.update_time = now();
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 3、门锁(62):device_sn 为 8 位锁SN;gateway_id/group_id 为主控网关缓存
|
|||
|
|
-- (事实源是第 4 段的 lock_device_gateway)
|
|||
|
|
-- =========================================================================
|
|||
|
|
insert into lock_device (device_sn, device_name, gateway_id, group_id, room_no, bind_time, status, del_flag, create_by, create_time)
|
|||
|
|
select v.lock_sn, v.room_no, w.gateway_id, w.group_id, v.room_no, now(), '0', '0', 'admin', now()
|
|||
|
|
from (
|
|||
|
|
select '80745D95' as lock_sn, '3201' as room_no, 2 as floor, '左开' as door_dir, 'C846CEC8EB0B' as gateway_sn, 'FFFA26102911' as group_code
|
|||
|
|
union all select '80745D6F', '3202', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745DA3', '3203', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D78', '3204', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D89', '3205', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D93', '3206', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D75', '3207', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D9A', '3208', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D99', '3209', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D73', '3210', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D9F', '3211', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D92', '3212', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D7A', '3213', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D8E', '3214', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA7', '3215', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D86', '3216', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D72', '3217', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA8', '3218', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D90', '3219', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D77', '3220', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D76', '3221', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D96', '3222', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7B', '3223', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745DA4', '3224', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7E', '3225', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D9C', '3301', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D71', '3302', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DA2', '3303', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D82', '3304', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DAA', '3305', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8D', '3306', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D7F', '3307', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D97', '3308', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8A', '3309', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6E', '3310', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9B', '3311', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D94', '3312', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D84', '3313', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9D', '3314', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6A', '3315', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D7D', '3316', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D70', '3317', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745DA5', '3318', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D8C', '3319', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D74', '3320', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6D', '3321', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D8B', '3322', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6C', '3323', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D98', '3324', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D88', '3325', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745DAB', '3401', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D87', '3402', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D8F', '3403', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA1', '3404', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA9', '3405', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D91', '3406', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D6B', '3407', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA6', '3408', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D81', '3409', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D9E', '3410', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D83', '3411', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA0', '3412', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
) v
|
|||
|
|
join lock_gateway w on v.gateway_sn collate utf8mb4_general_ci = w.gateway_sn
|
|||
|
|
where not exists (select 1 from lock_device d where d.device_sn = v.lock_sn collate utf8mb4_general_ci);
|
|||
|
|
|
|||
|
|
update lock_device d
|
|||
|
|
join (
|
|||
|
|
select '80745D95' as lock_sn, '3201' as room_no, 2 as floor, '左开' as door_dir, 'C846CEC8EB0B' as gateway_sn, 'FFFA26102911' as group_code
|
|||
|
|
union all select '80745D6F', '3202', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745DA3', '3203', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D78', '3204', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D89', '3205', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D93', '3206', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D75', '3207', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D9A', '3208', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D99', '3209', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D73', '3210', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D9F', '3211', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D92', '3212', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D7A', '3213', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D8E', '3214', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA7', '3215', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D86', '3216', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D72', '3217', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA8', '3218', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D90', '3219', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D77', '3220', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D76', '3221', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D96', '3222', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7B', '3223', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745DA4', '3224', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7E', '3225', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D9C', '3301', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D71', '3302', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DA2', '3303', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D82', '3304', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DAA', '3305', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8D', '3306', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D7F', '3307', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D97', '3308', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8A', '3309', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6E', '3310', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9B', '3311', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D94', '3312', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D84', '3313', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9D', '3314', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6A', '3315', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D7D', '3316', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D70', '3317', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745DA5', '3318', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D8C', '3319', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D74', '3320', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6D', '3321', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D8B', '3322', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6C', '3323', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D98', '3324', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D88', '3325', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745DAB', '3401', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D87', '3402', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D8F', '3403', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA1', '3404', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA9', '3405', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D91', '3406', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D6B', '3407', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA6', '3408', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D81', '3409', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D9E', '3410', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D83', '3411', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA0', '3412', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
) v on v.lock_sn collate utf8mb4_general_ci = d.device_sn
|
|||
|
|
join lock_gateway w on v.gateway_sn collate utf8mb4_general_ci = w.gateway_sn
|
|||
|
|
set d.device_name = v.room_no,
|
|||
|
|
d.room_no = v.room_no,
|
|||
|
|
d.gateway_id = w.gateway_id,
|
|||
|
|
d.group_id = w.group_id,
|
|||
|
|
d.update_time = now();
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 4、门锁-网关归属(62):bind_status=0 待下发,在线状态未知
|
|||
|
|
-- 已存在的关系不覆盖,保留平台运行中回写的 bind_status / 信号 / 在线状态
|
|||
|
|
-- =========================================================================
|
|||
|
|
insert into lock_device_gateway (device_id, gateway_id, online_status, bind_status, bind_time, status, del_flag, create_by, create_time, remark)
|
|||
|
|
select d.device_id, w.gateway_id, '2', '0', now(), '0', '0', 'admin', now(), '现场配置导入'
|
|||
|
|
from (
|
|||
|
|
select '80745D95' as lock_sn, '3201' as room_no, 2 as floor, '左开' as door_dir, 'C846CEC8EB0B' as gateway_sn, 'FFFA26102911' as group_code
|
|||
|
|
union all select '80745D6F', '3202', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745DA3', '3203', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D78', '3204', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D89', '3205', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D93', '3206', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D75', '3207', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D9A', '3208', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D99', '3209', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D73', '3210', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D9F', '3211', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D92', '3212', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D7A', '3213', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D8E', '3214', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA7', '3215', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D86', '3216', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D72', '3217', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA8', '3218', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D90', '3219', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D77', '3220', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D76', '3221', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D96', '3222', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7B', '3223', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745DA4', '3224', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7E', '3225', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D9C', '3301', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D71', '3302', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DA2', '3303', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D82', '3304', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DAA', '3305', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8D', '3306', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D7F', '3307', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D97', '3308', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8A', '3309', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6E', '3310', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9B', '3311', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D94', '3312', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D84', '3313', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9D', '3314', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6A', '3315', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D7D', '3316', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D70', '3317', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745DA5', '3318', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D8C', '3319', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D74', '3320', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6D', '3321', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D8B', '3322', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6C', '3323', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D98', '3324', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D88', '3325', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745DAB', '3401', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D87', '3402', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D8F', '3403', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA1', '3404', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA9', '3405', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D91', '3406', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D6B', '3407', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA6', '3408', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D81', '3409', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D9E', '3410', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D83', '3411', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA0', '3412', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
) v
|
|||
|
|
join lock_device d on v.lock_sn collate utf8mb4_general_ci = d.device_sn
|
|||
|
|
join lock_gateway w on v.gateway_sn collate utf8mb4_general_ci = w.gateway_sn
|
|||
|
|
where not exists (select 1 from lock_device_gateway r
|
|||
|
|
where r.device_id = d.device_id and r.gateway_id = w.gateway_id);
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 5、房间(62):room_code = 分组编号-房号,一房一锁,初始空闲
|
|||
|
|
-- 已存在的 room_code 不动(保留房态与在住信息);开门方向写 remark
|
|||
|
|
-- =========================================================================
|
|||
|
|
insert into lock_room (room_code, room_no, room_name, group_id, floor, device_id, room_status, del_flag, create_by, create_time, remark)
|
|||
|
|
select concat(v.group_code, '-', v.room_no), v.room_no, v.room_no, g.group_id, v.floor, d.device_id, '0', '0', 'admin', now(), v.door_dir
|
|||
|
|
from (
|
|||
|
|
select '80745D95' as lock_sn, '3201' as room_no, 2 as floor, '左开' as door_dir, 'C846CEC8EB0B' as gateway_sn, 'FFFA26102911' as group_code
|
|||
|
|
union all select '80745D6F', '3202', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745DA3', '3203', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D78', '3204', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D89', '3205', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D93', '3206', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D75', '3207', 2, '右开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D9A', '3208', 2, '左开', 'C846CEC8EB0B', 'FFFA26102911'
|
|||
|
|
union all select '80745D99', '3209', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D73', '3210', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D9F', '3211', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D92', '3212', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D7A', '3213', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D8E', '3214', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA7', '3215', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D86', '3216', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D72', '3217', 2, '右开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745DA8', '3218', 2, '左开', '7EC81CB0381A', 'FFFA26102912'
|
|||
|
|
union all select '80745D90', '3219', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D77', '3220', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D76', '3221', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D96', '3222', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7B', '3223', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745DA4', '3224', 2, '左开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D7E', '3225', 2, '右开', '33C574C47232', 'FFFA26102913'
|
|||
|
|
union all select '80745D9C', '3301', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D71', '3302', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DA2', '3303', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D82', '3304', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745DAA', '3305', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8D', '3306', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D7F', '3307', 3, '右开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D97', '3308', 3, '左开', '6F5B285A4C82', 'FFFA26102914'
|
|||
|
|
union all select '80745D8A', '3309', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6E', '3310', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9B', '3311', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D94', '3312', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D84', '3313', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D9D', '3314', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D6A', '3315', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D7D', '3316', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D70', '3317', 3, '右开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745DA5', '3318', 3, '左开', '740655ADA09A', 'FFFA26102915'
|
|||
|
|
union all select '80745D8C', '3319', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D74', '3320', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6D', '3321', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D8B', '3322', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D6C', '3323', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D98', '3324', 3, '左开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745D88', '3325', 3, '右开', '971ED01FA2FA', 'FFFA26102916'
|
|||
|
|
union all select '80745DAB', '3401', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D87', '3402', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D8F', '3403', 4, '右开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA1', '3404', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745DA9', '3405', 4, '左开', '3003368D0573', 'FFFA26102917'
|
|||
|
|
union all select '80745D91', '3406', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D6B', '3407', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA6', '3408', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D81', '3409', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D9E', '3410', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745D83', '3411', 4, '右开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
union all select '80745DA0', '3412', 4, '左开', 'B46995C2AAC1', 'FFFA26102918'
|
|||
|
|
) v
|
|||
|
|
join lock_group g on v.group_code collate utf8mb4_general_ci = g.group_code
|
|||
|
|
join lock_device d on v.lock_sn collate utf8mb4_general_ci = d.device_sn
|
|||
|
|
where not exists (select 1 from lock_room r
|
|||
|
|
where r.room_code = concat(v.group_code, '-', v.room_no) collate utf8mb4_general_ci)
|
|||
|
|
and not exists (select 1 from lock_room r2 where r2.device_id = d.device_id);
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 6、网关下挂门锁数(冗余统计)
|
|||
|
|
-- =========================================================================
|
|||
|
|
update lock_gateway w
|
|||
|
|
set w.device_count = (select count(1) from lock_device_gateway r where r.gateway_id = w.gateway_id)
|
|||
|
|
where w.gateway_sn in ('C846CEC8EB0B',
|
|||
|
|
'7EC81CB0381A',
|
|||
|
|
'33C574C47232',
|
|||
|
|
'6F5B285A4C82',
|
|||
|
|
'740655ADA09A',
|
|||
|
|
'971ED01FA2FA',
|
|||
|
|
'3003368D0573',
|
|||
|
|
'B46995C2AAC1');
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 7、执行后核对(按需执行)
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 7.1 分组/网关/下挂数:应 8 行,每行门锁数 5–10
|
|||
|
|
-- select g.group_code, g.group_name, w.gateway_sn, w.gateway_ip, w.device_count
|
|||
|
|
-- from lock_group g
|
|||
|
|
-- left join lock_gateway w on w.group_id = g.group_id
|
|||
|
|
-- where g.group_code like 'FFFA2610291%'
|
|||
|
|
-- order by g.group_code;
|
|||
|
|
|
|||
|
|
-- 7.2 房间与门锁一一对应:应 62 行
|
|||
|
|
-- select r.room_code, r.room_no, r.floor, r.remark, d.device_sn
|
|||
|
|
-- from lock_room r
|
|||
|
|
-- left join lock_device d on d.device_id = r.device_id
|
|||
|
|
-- where r.room_code like 'FFFA2610291%-%'
|
|||
|
|
-- order by r.room_code;
|
|||
|
|
|
|||
|
|
-- 7.3 归属关系待下发数量:初始 total = pending = 各网关门锁数
|
|||
|
|
-- select w.gateway_sn, count(1) total, sum(r.bind_status = '0') pending
|
|||
|
|
-- from lock_device_gateway r
|
|||
|
|
-- join lock_gateway w on w.gateway_id = r.gateway_id
|
|||
|
|
-- where w.gateway_sn in ('C846CEC8EB0B', '7EC81CB0381A', '33C574C47232', '6F5B285A4C82', '740655ADA09A', '971ED01FA2FA', '3003368D0573', 'B46995C2AAC1')
|
|||
|
|
-- group by w.gateway_sn;
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- 8、可选:现场网关已按本表配置完毕、不需要平台再下发 locklist 时,
|
|||
|
|
-- 把本批关系直接标记为已下发(避免页面显示「待下发」)
|
|||
|
|
-- =========================================================================
|
|||
|
|
-- update lock_device_gateway r
|
|||
|
|
-- join lock_gateway w on w.gateway_id = r.gateway_id
|
|||
|
|
-- set r.bind_status = '1', r.bind_time = now(), r.last_sync_time = now()
|
|||
|
|
-- where r.bind_status = '0'
|
|||
|
|
-- and w.gateway_sn in ('C846CEC8EB0B', '7EC81CB0381A', '33C574C47232', '6F5B285A4C82', '740655ADA09A', '971ED01FA2FA', '3003368D0573', 'B46995C2AAC1');
|