133 lines
5.5 KiB
SQL
133 lines
5.5 KiB
SQL
-- ========================================================
|
||
-- 工作流审批中心 - 菜单及权限初始化 SQL
|
||
-- 适用:BladeX 微服务平台(标准版,无多租户字段)
|
||
-- 说明:给所有人查看,不设置按钮级权限
|
||
-- 执行方式:在数据库客户端中逐条执行,或作为脚本批量执行
|
||
-- ========================================================
|
||
|
||
-- --------------------------------------------------------
|
||
-- 1. 插入菜单数据(blade_menu 表)
|
||
-- 标准版字段:不含 tenant_id
|
||
-- --------------------------------------------------------
|
||
|
||
-- 父菜单:工作流审批中心
|
||
INSERT INTO blade_menu (
|
||
id, parent_id, code, name, alias,
|
||
path, source, sort, category, action,
|
||
is_open, remark, is_deleted
|
||
) VALUES (
|
||
10001, 0, 'workflow', '业务流程', '工作流审批中心',
|
||
'/workflow', 'icon-caidan', 1, 1, 0,
|
||
2, '工作流审批中心', 0
|
||
);
|
||
|
||
-- 子菜单:我的待办
|
||
INSERT INTO blade_menu (
|
||
id, parent_id, code, name, alias,
|
||
path, source, sort, category, action,
|
||
is_open, remark, is_deleted
|
||
) VALUES (
|
||
10002, 10001, 'workflow_todo', '我的待办', '我的待办',
|
||
'/workflow/todo', 'iconfont iconicon_study', 1, 1, 0,
|
||
2, '我的待办任务', 0
|
||
);
|
||
|
||
-- 子菜单:我的已办
|
||
INSERT INTO blade_menu (
|
||
id, parent_id, code, name, alias,
|
||
path, source, sort, category, action,
|
||
is_open, remark, is_deleted
|
||
) VALUES (
|
||
10003, 10001, 'workflow_done', '我的已办', '我的已办',
|
||
'/workflow/done', 'iconfont iconicon_study', 2, 1, 0,
|
||
2, '我的已办记录', 0
|
||
);
|
||
|
||
-- 子菜单:我的申请
|
||
INSERT INTO blade_menu (
|
||
id, parent_id, code, name, alias,
|
||
path, source, sort, category, action,
|
||
is_open, remark, is_deleted
|
||
) VALUES (
|
||
10004, 10001, 'workflow_my', '我的申请', '我的申请',
|
||
'/workflow/my', 'iconfont iconicon_study', 3, 1, 0,
|
||
2, '我的申请流程', 0
|
||
);
|
||
|
||
-- 子菜单:我的流程(统一视图)
|
||
INSERT INTO blade_menu (
|
||
id, parent_id, code, name, alias,
|
||
path, source, sort, category, action,
|
||
is_open, remark, is_deleted
|
||
) VALUES (
|
||
10005, 10001, 'workflow_process', '我的流程', '我的流程',
|
||
'/workflow/process', 'iconfont iconicon_study', 4, 1, 0,
|
||
2, '我的流程统一视图', 0
|
||
);
|
||
|
||
-- --------------------------------------------------------
|
||
-- 2. 分配菜单给所有角色(blade_role_menu 表)
|
||
-- 不设置按钮权限,所有登录用户均可查看
|
||
-- --------------------------------------------------------
|
||
|
||
-- 获取所有角色并分配菜单(排除已删除的角色)
|
||
-- 注意:如果只需要给特定角色,请修改 WHERE 条件
|
||
|
||
INSERT INTO blade_role_menu (role_id, menu_id)
|
||
SELECT r.id, 10001 FROM blade_role r WHERE r.is_deleted = 0;
|
||
|
||
INSERT INTO blade_role_menu (role_id, menu_id)
|
||
SELECT r.id, 10002 FROM blade_role r WHERE r.is_deleted = 0;
|
||
|
||
INSERT INTO blade_role_menu (role_id, menu_id)
|
||
SELECT r.id, 10003 FROM blade_role r WHERE r.is_deleted = 0;
|
||
|
||
INSERT INTO blade_role_menu (role_id, menu_id)
|
||
SELECT r.id, 10004 FROM blade_role r WHERE r.is_deleted = 0;
|
||
|
||
INSERT INTO blade_role_menu (role_id, menu_id)
|
||
SELECT r.id, 10005 FROM blade_role r WHERE r.is_deleted = 0;
|
||
|
||
-- --------------------------------------------------------
|
||
-- 3. 【可选】仅给管理员角色分配(注释掉上方批量插入,取消下方注释)
|
||
-- --------------------------------------------------------
|
||
/*
|
||
INSERT INTO blade_role_menu (role_id, menu_id) VALUES (1, 10001);
|
||
INSERT INTO blade_role_menu (role_id, menu_id) VALUES (1, 10002);
|
||
INSERT INTO blade_role_menu (role_id, menu_id) VALUES (1, 10003);
|
||
INSERT INTO blade_role_menu (role_id, menu_id) VALUES (1, 10004);
|
||
INSERT INTO blade_role_menu (role_id, menu_id) VALUES (1, 10005);
|
||
*/
|
||
|
||
-- ========================================================
|
||
-- 回滚 SQL(如需删除工作流审批中心菜单及权限)
|
||
-- 执行方式:单独执行以下语句,或取消注释后批量执行
|
||
-- ========================================================
|
||
|
||
-- --------------------------------------------------------
|
||
-- 步骤 1:删除角色菜单关联(blade_role_menu 表)
|
||
-- --------------------------------------------------------
|
||
-- 删除所有角色与工作流菜单的关联
|
||
DELETE FROM blade_role_menu WHERE menu_id IN (10001, 10002, 10003, 10004, 10005);
|
||
|
||
-- --------------------------------------------------------
|
||
-- 步骤 2:删除菜单数据(blade_menu 表)
|
||
-- --------------------------------------------------------
|
||
-- 先删除子菜单,再删除父菜单(避免外键约束问题)
|
||
DELETE FROM blade_menu WHERE id IN (10002, 10003, 10004, 10005);
|
||
DELETE FROM blade_menu WHERE id = 10001;
|
||
|
||
-- --------------------------------------------------------
|
||
-- 步骤 3:【可选】清理按钮权限(如果后续添加了按钮级权限)
|
||
-- --------------------------------------------------------
|
||
-- 如果为工作流菜单添加了按钮权限(blade_menu 表中 category=2 的记录),一并删除
|
||
-- DELETE FROM blade_role_menu WHERE menu_id IN (
|
||
-- SELECT id FROM blade_menu WHERE parent_id IN (10001, 10002, 10003, 10004, 10005)
|
||
-- );
|
||
-- DELETE FROM blade_menu WHERE parent_id IN (10001, 10002, 10003, 10004, 10005);
|
||
|
||
-- --------------------------------------------------------
|
||
-- 回滚验证查询(执行回滚后,以下查询应返回空结果)
|
||
-- --------------------------------------------------------
|
||
-- SELECT * FROM blade_menu WHERE id IN (10001, 10002, 10003, 10004, 10005);
|
||
-- SELECT * FROM blade_role_menu WHERE menu_id IN (10001, 10002, 10003, 10004, 10005); |