zcui/docs/sql/workflow-menu-init.sql
2026-06-16 14:07:58 +08:00

133 lines
5.5 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.

-- ========================================================
-- 工作流审批中心 - 菜单及权限初始化 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);