62 lines
3.6 KiB
SQL
62 lines
3.6 KiB
SQL
-- =============================================================================
|
||
-- R1 值班台权限点(可重放)。执行顺序:30_realtime.sql → 本文件。
|
||
-- 口径(应用端/02 表 2-9、应用端/12 表 12-1、应用端/11 表 11-7):
|
||
-- 1) 本端前缀统一 duty:,不复用 apt:;不注册 apt:jcxx:lockMatch 等管理端点。
|
||
-- 2) R1 只登记「只读 + 状态命令」共 7 个 F 点:值班台列表/详情读取与 5 个状态命令。
|
||
-- 语音(duty:call:voice/broadcast/hangup)、审计/交接/房态等点随对应批次再登记。
|
||
-- 3) **不建 C 页面菜单**:R1 的 /duty/login 与 /duty/jcxx 走前端静态路由,
|
||
-- 若此处再插同名动态路由会出现两条 /duty/jcxx(Layout 版与整屏版)冲突。
|
||
-- C 菜单在 R2 与 entry-duty 动态路由(sys_menu 双载体)一起落。
|
||
-- 4) 不写任何业务表(仅 sys_menu / sys_role_menu)。
|
||
-- =============================================================================
|
||
SET NAMES utf8mb4;
|
||
|
||
INSERT INTO sys_menu
|
||
(menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||
is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
|
||
VALUES
|
||
(3260, '值班台盯控列表', 3000, 60, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:jcxx:list', '#', 'R1', NOW(3),
|
||
'R1 GET /duty/jcxx 与 /duty/jcxx/counts;同时是登录准入闸门 2 的判据'),
|
||
(3261, '值班台任务详情', 3000, 61, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:jcxx:query', '#', 'R1', NOW(3),
|
||
'R1 预留(详情抽屉随 T-BE-03 在 R2 启用),用于与列表权限分离'),
|
||
(3262, '停止叫乘', 3000, 62, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:call:stop', '#', 'R1', NOW(3),
|
||
'commands{STOP};前置 ryzt in (1,2) 且 finish_ly=0,reason 必填'),
|
||
(3263, '复叫', 3000, 63, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:call:recall', '#', 'R1', NOW(3),
|
||
'commands{RE_CALL};前置 stoped=1 或 ryzt=2'),
|
||
(3264, '取消叫乘', 3000, 64, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:call:cancel', '#', 'R1', NOW(3),
|
||
'commands{CANCEL};前置 ryzt=0,仅置 stoped=1 不删行'),
|
||
(3265, '强制结束', 3000, 65, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:call:forceFinish', '#', 'R1', NOW(3),
|
||
'commands{FORCE_FINISH};前置 finish_ly=0'),
|
||
(3266, '登记离寓', 3000, 66, '', '', '', '', 1, 0, 'F', '0', '0',
|
||
'duty:call:markLeave', '#', 'R1', NOW(3),
|
||
'commands{MARK_LEAVE};写 gygl_ly_event(leave_type=MANUAL) + finish_ly=1')
|
||
ON DUPLICATE KEY UPDATE menu_name = VALUES(menu_name), parent_id = VALUES(parent_id),
|
||
order_num = VALUES(order_num), menu_type = VALUES(menu_type), visible = VALUES(visible),
|
||
status = VALUES(status), perms = VALUES(perms), remark = VALUES(remark);
|
||
|
||
-- 超管绑定(其余角色由公寓管理员按岗位授权)
|
||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||
SELECT 1, m.menu_id
|
||
FROM sys_menu m
|
||
WHERE m.menu_id IN (3260, 3261, 3262, 3263, 3264, 3265, 3266)
|
||
AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);
|
||
|
||
-- 校验
|
||
SELECT '=== 68. 值班台权限点(应 7)===' AS section;
|
||
SELECT menu_id, perms, menu_name, status FROM sys_menu
|
||
WHERE perms LIKE 'duty:%' AND menu_id BETWEEN 3260 AND 3266
|
||
ORDER BY menu_id;
|
||
|
||
SELECT '=== 69. 超管绑定(应 7)===' AS section;
|
||
SELECT COUNT(*) AS admin_bound FROM sys_role_menu
|
||
WHERE role_id = 1 AND menu_id BETWEEN 3260 AND 3266;
|
||
|
||
SELECT '=== 70. 不得出现 duty C 菜单(应 0)===' AS section;
|
||
SELECT COUNT(*) AS duty_c_menu FROM sys_menu WHERE perms LIKE 'duty:%' AND menu_type = 'C';
|