Files
hzdyjs/menu_structure_update_final.sql
T
2025-08-18 12:03:44 +08:00

245 lines
7.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================
-- 菜单结构最终更新脚本
-- 目标:确保数据库菜单配置与前端路由完全一致
-- 执行日期:2025-01-08
-- =============================================
-- 步骤1:查看当前菜单结构
SELECT '=== 当前菜单结构 ===' as step;
SELECT
menu_id,
menu_name,
parent_id,
path,
component,
order_num,
status
FROM sys_menu
WHERE menu_id IN (9100, 9110, 9111, 9112, 9113)
OR parent_id IN (9100, 9110)
ORDER BY parent_id, order_num;
-- 步骤2:更新违纪处分管理菜单(menu_id=9110)
-- 修改为指向违纪处分申请页面,路径为 disciplineApplication
SELECT '=== 更新违纪处分管理菜单 ===' as step;
UPDATE sys_menu
SET
menu_name = '违纪处分管理',
path = 'disciplineApplication',
component = 'xskh/disciplineApplication/index',
perms = 'xskh:disciplineApplication:list',
update_time = NOW(),
update_by = 1
WHERE menu_id = 9110;
-- 步骤3:添加处分记录审批主菜单(作为二级菜单)
SELECT '=== 添加处分记录审批主菜单 ===' as step;
INSERT INTO sys_menu (
menu_id,
menu_name,
parent_id,
order_num,
path,
component,
is_frame,
is_cache,
menu_type,
visible,
status,
perms,
icon,
create_by,
create_time,
update_by,
update_time,
remark
) VALUES (
9120, -- 新的菜单ID
'处分记录审批',
9100, -- 父菜单:学生考核管理
3, -- 排序
'disciplineRecordApproval',
'ParentView',
1, -- 非外链
0, -- 不缓存
'M', -- 目录
'0', -- 显示
'0', -- 正常状态
'', -- 权限标识
'approval',
1,
NOW(),
1,
NOW(),
'处分记录审批菜单'
) ON DUPLICATE KEY UPDATE
menu_name = VALUES(menu_name),
path = VALUES(path),
component = VALUES(component),
update_time = NOW();
-- 步骤4:添加违纪处分审批子菜单
SELECT '=== 添加违纪处分审批子菜单 ===' as step;
INSERT INTO sys_menu (
menu_id,
menu_name,
parent_id,
order_num,
path,
component,
is_frame,
is_cache,
menu_type,
visible,
status,
perms,
icon,
create_by,
create_time,
update_by,
update_time,
remark
) VALUES (
9121, -- 违纪处分审批菜单ID
'违纪处分审批',
9120, -- 父菜单:处分记录审批
1, -- 排序
'approval',
'xskh/disciplineApproval/index',
1, -- 非外链
0, -- 不缓存
'C', -- 菜单
'0', -- 显示
'0', -- 正常状态
'xskh:disciplineApproval:list',
'check',
1,
NOW(),
1,
NOW(),
'违纪处分审批菜单'
) ON DUPLICATE KEY UPDATE
menu_name = VALUES(menu_name),
path = VALUES(path),
component = VALUES(component),
perms = VALUES(perms),
update_time = NOW();
-- 步骤5:添加处分记录管理子菜单
SELECT '=== 添加处分记录管理子菜单 ===' as step;
INSERT INTO sys_menu (
menu_id,
menu_name,
parent_id,
order_num,
path,
component,
is_frame,
is_cache,
menu_type,
visible,
status,
perms,
icon,
create_by,
create_time,
update_by,
update_time,
remark
) VALUES (
9122, -- 处分记录管理菜单ID
'处分记录管理',
9120, -- 父菜单:处分记录审批
2, -- 排序
'record',
'xskh/disciplineRecord/index',
1, -- 非外链
0, -- 不缓存
'C', -- 菜单
'0', -- 显示
'0', -- 正常状态
'xskh:disciplineRecord:list',
'record',
1,
NOW(),
1,
NOW(),
'处分记录管理菜单'
) ON DUPLICATE KEY UPDATE
menu_name = VALUES(menu_name),
path = VALUES(path),
component = VALUES(component),
perms = VALUES(perms),
update_time = NOW();
-- 步骤6:为新菜单添加权限按钮(违纪处分审批)
SELECT '=== 添加违纪处分审批权限按钮 ===' as step;
INSERT IGNORE INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES
(9123, '违纪处分审批查询', 9121, 1, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:query', '#', 1, NOW(), ''),
(9124, '违纪处分审批新增', 9121, 2, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:add', '#', 1, NOW(), ''),
(9125, '违纪处分审批修改', 9121, 3, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:edit', '#', 1, NOW(), ''),
(9126, '违纪处分审批删除', 9121, 4, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:remove', '#', 1, NOW(), ''),
(9127, '违纪处分审批导出', 9121, 5, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:export', '#', 1, NOW(), ''),
(9128, '违纪处分审批操作', 9121, 6, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineApproval:approve', '#', 1, NOW(), '');
-- 步骤7:为新菜单添加权限按钮(处分记录管理)
SELECT '=== 添加处分记录管理权限按钮 ===' as step;
INSERT IGNORE INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES
(9129, '处分记录管理查询', 9122, 1, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:query', '#', 1, NOW(), ''),
(9130, '处分记录管理新增', 9122, 2, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:add', '#', 1, NOW(), ''),
(9131, '处分记录管理修改', 9122, 3, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:edit', '#', 1, NOW(), ''),
(9132, '处分记录管理删除', 9122, 4, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:remove', '#', 1, NOW(), ''),
(9133, '处分记录管理导出', 9122, 5, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:export', '#', 1, NOW(), ''),
(9134, '处分记录审核', 9122, 6, '', '', 1, 0, 'F', '0', '0', 'xskh:disciplineRecord:approve', '#', 1, NOW(), '');
-- 步骤8:为管理员角色分配新菜单权限
SELECT '=== 为管理员角色分配新菜单权限 ===' as step;
INSERT IGNORE INTO sys_role_menu (role_id, menu_id) VALUES
-- 处分记录审批主菜单
(1, 9120),
-- 违纪处分审批子菜单及权限
(1, 9121), (1, 9123), (1, 9124), (1, 9125), (1, 9126), (1, 9127), (1, 9128),
-- 处分记录管理子菜单及权限
(1, 9122), (1, 9129), (1, 9130), (1, 9131), (1, 9132), (1, 9133), (1, 9134);
-- 步骤9:验证更新结果
SELECT '=== 验证更新结果 ===' as step;
SELECT
menu_id,
menu_name,
parent_id,
path,
component,
perms,
order_num,
status,
CASE menu_type
WHEN 'M' THEN '目录'
WHEN 'C' THEN '菜单'
WHEN 'F' THEN '按钮'
END as menu_type_desc
FROM sys_menu
WHERE menu_id IN (9100, 9110, 9120, 9121, 9122)
OR parent_id IN (9100, 9110, 9120, 9121, 9122)
ORDER BY parent_id, order_num;
-- 步骤10:检查最终菜单结构
SELECT '=== 最终菜单结构 ===' as step;
SELECT
CONCAT(REPEAT(' ', (LENGTH(path) - LENGTH(REPLACE(path, '/', ''))) - 1), menu_name) as menu_hierarchy,
path as url_path,
component,
perms
FROM sys_menu
WHERE (menu_id IN (9100, 9110, 9120, 9121, 9122) OR parent_id IN (9100, 9110, 9120, 9121, 9122))
AND menu_type IN ('M', 'C')
ORDER BY parent_id, order_num;
SELECT '=== 菜单结构更新完成 ===' as final_step;
SELECT '最终菜单结构:
学生考核管理 (9100)
├── 违纪处分管理 (9110) → /assessment/disciplineApplication
├── 处分记录审批 (9120) → /assessment/disciplineRecordApproval
├── 违纪处分审批 (9121) → /assessment/disciplineRecordApproval/approval
└── 处分记录管理 (9122) → /assessment/disciplineRecordApproval/record
└── 其他考核菜单...' as final_structure;