longz
2026-05-28 aa67b3cb0fe26fab576f7710c978ff3594426cca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
-- 通行区域(两层:pid=0 为一级;pid=一级 id 为子区域),备注字段与海康地点管理命名一致
 
CREATE TABLE IF NOT EXISTS pass_access_area (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    uuid VARCHAR(64) NOT NULL,
    version BIGINT NOT NULL DEFAULT 0,
    create_id BIGINT NULL,
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    update_id BIGINT NULL,
    update_time DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    del_flag INT NOT NULL DEFAULT 0,
 
    pid BIGINT NOT NULL DEFAULT 0 COMMENT '0 一级区域;否则为父区域 id(父须为一级)',
    area_name VARCHAR(128) NOT NULL COMMENT '区域名称',
    remark VARCHAR(512) NULL COMMENT '备注(与海康地点管理一致)',
    area_desc TEXT NULL COMMENT '区域说明',
 
    UNIQUE KEY uk_pass_access_area_uuid (uuid),
    KEY idx_pass_access_area_pid (pid),
    KEY idx_pass_access_area_name (area_name)
);
 
-- 区域管理(板块)→ 通行区域管理 / 属地单位管理(页面);ADMIN 绑定
INSERT INTO sys_menu (uuid, version, pid, menu_type, menu_name, perm_code, sort_order, route_path, del_flag)
VALUES (REPLACE(UUID(), '-', ''), 1, 0, 1, '区域管理', NULL, 85, NULL, 0);
SET @menu_region_root = LAST_INSERT_ID();
 
INSERT INTO sys_menu (uuid, version, pid, menu_type, menu_name, perm_code, sort_order, route_path, del_flag)
VALUES (REPLACE(UUID(), '-', ''), 1, @menu_region_root, 2, '通行区域管理', 'sys:pass-areas:page', 10, '/region/pass-areas', 0);
 
INSERT INTO sys_menu (uuid, version, pid, menu_type, menu_name, perm_code, sort_order, route_path, del_flag)
VALUES (REPLACE(UUID(), '-', ''), 1, @menu_region_root, 2, '属地单位管理', 'sys:local-units:page', 20, '/region/local-units', 0);
 
INSERT INTO sys_role_menu (uuid, version, role_id, menu_id, del_flag)
SELECT REPLACE(UUID(), '-', ''), 1, r.id, m.id, 0
FROM sys_role r
JOIN sys_menu m
        ON m.del_flag = 0
            AND (m.id = @menu_region_root OR m.pid = @menu_region_root)
WHERE r.role_code = 'ADMIN'
  AND r.del_flag = 0;