Files
hzdyjs/docs/设计文档/database/心理咨询预约/update_menu_permissions.sql
T

86 lines
6.1 KiB
SQL

-- 心理咨询预约菜单和权限配置更新脚本
-- 作者:AI Cursor
-- 日期:2025-07-27
-- 检查是否已存在心理健康一级菜单
SET @xljk_parent_id = (SELECT menu_id FROM sys_menu WHERE menu_name = '心理健康' LIMIT 1);
-- 如果不存在,则创建心理健康一级菜单
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
SELECT 8000, '心理健康', 0, 80, 'xljk', NULL, NULL, 1, 0, 'M', '0', '0', '', 'people', 'admin', NOW(), '', NULL, '心理健康菜单'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '心理健康');
-- 重新获取心理健康菜单ID
SET @xljk_parent_id = (SELECT menu_id FROM sys_menu WHERE menu_name = '心理健康' LIMIT 1);
-- 创建预约日历菜单
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES (8100, '预约日历', @xljk_parent_id, 10, 'calendar', 'xljk/consultation/calendar/index', NULL, 1, 0, 'C', '0', '0', 'xljk:consultationcalendar:list', 'calendar', 'admin', NOW(), '', NULL, '预约日历菜单');
-- 创建预约时段管理菜单
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES (8110, '预约时段管理', @xljk_parent_id, 20, 'schedule', 'xljk/consultation/schedule/index', NULL, 1, 0, 'C', '0', '0', 'xljk:consultationschedule:list', 'time', 'admin', NOW(), '', NULL, '预约时段管理菜单');
-- 创建预约记录管理菜单
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES (8120, '预约记录管理', @xljk_parent_id, 30, 'appointment', 'xljk/consultation/appointment/index', NULL, 1, 0, 'C', '0', '0', 'xljk:consultationappointment:list', 'list', 'admin', NOW(), '', NULL, '预约记录管理菜单');
-- 添加预约时段管理按钮
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
(8111, '预约时段查询', 8110, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:query', '#', 'admin', NOW(), '', NULL, ''),
(8112, '预约时段新增', 8110, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:add', '#', 'admin', NOW(), '', NULL, ''),
(8113, '预约时段修改', 8110, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:edit', '#', 'admin', NOW(), '', NULL, ''),
(8114, '预约时段删除', 8110, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:remove', '#', 'admin', NOW(), '', NULL, ''),
(8115, '预约时段导出', 8110, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationschedule:export', '#', 'admin', NOW(), '', NULL, '');
-- 添加预约记录管理按钮
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
(8121, '预约记录查询', 8120, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:query', '#', 'admin', NOW(), '', NULL, ''),
(8122, '预约记录新增', 8120, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:add', '#', 'admin', NOW(), '', NULL, ''),
(8123, '预约记录修改', 8120, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:edit', '#', 'admin', NOW(), '', NULL, ''),
(8124, '预约记录删除', 8120, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:remove', '#', 'admin', NOW(), '', NULL, ''),
(8125, '预约记录导出', 8120, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationappointment:export', '#', 'admin', NOW(), '', NULL, '');
-- 添加预约日历按钮
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
(8101, '预约日历查询', 8100, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationcalendar:query', '#', 'admin', NOW(), '', NULL, ''),
(8102, '预约日历新增', 8100, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'xljk:consultationcalendar:add', '#', 'admin', NOW(), '', NULL, '');
-- 创建心理咨询师角色(如果不存在)
INSERT INTO sys_role (role_id, role_name, role_key, role_sort, data_scope, menu_check_strictly, dept_check_strictly, status, del_flag, create_by, create_time, remark)
SELECT 100, '心理咨询师', 'counselor', 3, '1', 1, 1, '0', '0', 'admin', NOW(), '心理咨询师角色'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM sys_role WHERE role_key = 'counselor');
-- 获取心理咨询师角色ID
SET @counselor_role_id = (SELECT role_id FROM sys_role WHERE role_key = 'counselor' LIMIT 1);
-- 获取学生角色ID(假设已存在)
SET @student_role_id = (SELECT role_id FROM sys_role WHERE role_key = 'student' LIMIT 1);
-- 心理咨询师角色权限配置
-- 1. 预约时段管理权限
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT @counselor_role_id, menu_id FROM sys_menu
WHERE menu_id IN (8110, 8111, 8112, 8113, 8114, 8115);
-- 2. 预约记录管理权限
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT @counselor_role_id, menu_id FROM sys_menu
WHERE menu_id IN (8120, 8121, 8122, 8123, 8124, 8125);
-- 3. 预约日历权限
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT @counselor_role_id, menu_id FROM sys_menu
WHERE menu_id IN (8100, 8101, 8102);
-- 学生角色权限配置(如果学生角色存在)
-- 仅预约日历权限
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT @student_role_id, menu_id FROM sys_menu
WHERE menu_id IN (8100, 8101, 8102)
AND @student_role_id IS NOT NULL;