| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /*
- 审批流程权限增量更新SQL(基于现有sys_role_menu表)
-
- Date: 2025-09-06
- Author: simon lin
- */
- SET NAMES utf8mb4;
- SET FOREIGN_KEY_CHECKS = 0;
- -- 1. 首先添加审批流程相关菜单(如果不存在)
- INSERT IGNORE INTO `sys_menu` VALUES (2120, '审批流程', 0, 4, 'approval', NULL, NULL, '', 1, 0, 'M', '0', '0', NULL, 'validCode', 'admin', NOW(), '', NULL, '审批流程管理目录');
- -- 添加二级菜单
- INSERT IGNORE INTO `sys_menu` VALUES (2121, '我的待办', 2120, 1, 'pending', 'system/approval/pending/index', NULL, '', 1, 0, 'C', '0', '0', 'system:approval:pending:list', 'time-range', 'admin', NOW(), '', NULL, '我的待办任务菜单');
- INSERT IGNORE INTO `sys_menu` VALUES (2122, '我的已办', 2120, 2, 'completed', 'system/approval/completed/index', NULL, '', 1, 0, 'C', '0', '0', 'system:approval:completed:list', 'checkbox', 'admin', NOW(), '', NULL, '我的已办任务菜单');
- INSERT IGNORE INTO `sys_menu` VALUES (2123, '我的申请', 2120, 3, 'submitted', 'system/approval/submitted/index', NULL, '', 1, 0, 'C', '0', '0', 'system:approval:submitted:list', 'documentation', 'admin', NOW(), '', NULL, '我的申请列表菜单');
- INSERT IGNORE INTO `sys_menu` VALUES (2124, '发起申请', 2120, 4, 'submit', 'system/approval/submit/index', NULL, '', 1, 0, 'C', '0', '0', 'system:approval:submit', 'edit', 'admin', NOW(), '', NULL, '发起申请菜单');
- INSERT IGNORE INTO `sys_menu` VALUES (2125, '流程管理', 2120, 5, 'workflow', 'system/approval/workflow/index', NULL, '', 1, 0, 'C', '0', '0', 'system:approval:workflow:list', 'tree-table', 'admin', NOW(), '', NULL, '流程管理菜单');
- -- 添加审批功能权限按钮
- INSERT IGNORE INTO `sys_menu` VALUES (2130, '查看待办任务', 2121, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:query', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2131, '审批任务', 2121, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:approve', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2132, '驳回任务', 2121, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:reject', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2133, '启动流程', 2124, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:start', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2134, '取消流程', 2123, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:cancel', '#', 'admin', NOW(), '', NULL, '');
- -- 添加流程管理功能权限按钮(管理员专用)
- INSERT IGNORE INTO `sys_menu` VALUES (2135, '流程定义查询', 2125, 1, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:workflow:query', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2136, '流程定义新增', 2125, 2, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:workflow:add', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2137, '流程定义修改', 2125, 3, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:workflow:edit', '#', 'admin', NOW(), '', NULL, '');
- INSERT IGNORE INTO `sys_menu` VALUES (2138, '流程定义删除', 2125, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:workflow:remove', '#', 'admin', NOW(), '', NULL, '');
- -- 2. 删除可能存在的审批流程相关权限(防止重复)
- DELETE FROM `sys_role_menu` WHERE menu_id BETWEEN 2120 AND 2138;
- -- 3. 为各角色分配审批流程权限
- -- 超级管理员(role_id=1):拥有所有权限
- INSERT INTO `sys_role_menu` (role_id, menu_id) VALUES
- (1, 2120), (1, 2121), (1, 2122), (1, 2123), (1, 2124), (1, 2125),
- (1, 2130), (1, 2131), (1, 2132), (1, 2133), (1, 2134),
- (1, 2135), (1, 2136), (1, 2137), (1, 2138);
- -- 普通角色(role_id=2):基本查看和申请权限
- INSERT INTO `sys_role_menu` (role_id, menu_id) VALUES
- (2, 2120), -- 审批流程目录
- (2, 2121), -- 我的待办
- (2, 2122), -- 我的已办
- (2, 2123), -- 我的申请
- (2, 2124), -- 发起申请
- (2, 2130), -- 查看待办任务
- (2, 2133), -- 启动流程
- (2, 2134); -- 取消流程
- -- 站长(role_id=100):拥有业务功能权限,不能管理流程定义
- INSERT INTO `sys_role_menu` (role_id, menu_id) VALUES
- (100, 2120), -- 审批流程目录
- (100, 2121), -- 我的待办
- (100, 2122), -- 我的已办
- (100, 2123), -- 我的申请
- (100, 2124), -- 发起申请
- (100, 2130), -- 查看待办任务
- (100, 2131), -- 审批任务
- (100, 2132), -- 驳回任务
- (100, 2133), -- 启动流程
- (100, 2134); -- 取消流程
- -- 安检员(role_id=101):基本业务权限,重点是发起申请
- INSERT INTO `sys_role_menu` (role_id, menu_id) VALUES
- (101, 2120), -- 审批流程目录
- (101, 2121), -- 我的待办
- (101, 2122), -- 我的已办
- (101, 2123), -- 我的申请
- (101, 2124), -- 发起申请
- (101, 2130), -- 查看待办任务
- (101, 2131), -- 审批任务(个人级别确认)
- (101, 2133), -- 启动流程
- (101, 2134); -- 取消流程
- -- 班组长(role_id=102):拥有完整业务审批权限
- INSERT INTO `sys_role_menu` (role_id, menu_id) VALUES
- (102, 2120), -- 审批流程目录
- (102, 2121), -- 我的待办
- (102, 2122), -- 我的已办
- (102, 2123), -- 我的申请
- (102, 2124), -- 发起申请
- (102, 2130), -- 查看待办任务
- (102, 2131), -- 审批任务
- (102, 2132), -- 驳回任务
- (102, 2133), -- 启动流程
- (102, 2134); -- 取消流程
- -- 科长(role_id=103):拥有完整业务审批权限
- INSERT INTO `sys_role_menu` (role_id, menu_id) VALUES
- (103, 2120), -- 审批流程目录
- (103, 2121), -- 我的待办
- (103, 2122), -- 我的已办
- (103, 2123), -- 我的申请
- (103, 2124), -- 发起申请
- (103, 2130), -- 查看待办任务
- (103, 2131), -- 审批任务
- (103, 2132), -- 驳回任务
- (103, 2133), -- 启动流程
- (103, 2134); -- 取消流程
- SET FOREIGN_KEY_CHECKS = 1;
- -- 验证权限分配结果
- SELECT
- '权限分配完成,以下是各角色的审批流程权限分配情况:' as info;
- SELECT
- r.role_name AS '角色名称',
- r.role_key AS '角色标识',
- COUNT(rm.menu_id) AS '审批权限数量'
- FROM sys_role r
- LEFT JOIN sys_role_menu rm ON r.role_id = rm.role_id AND rm.menu_id BETWEEN 2120 AND 2138
- WHERE r.role_id IN (1, 2, 100, 101, 102, 103)
- GROUP BY r.role_id, r.role_name, r.role_key
- ORDER BY r.role_id;
- -- 添加批量更新抄送已读状态权限
- INSERT IGNORE INTO `sys_menu` VALUES (2156, '批量更新抄送状态', 2121, 4, '#', '', NULL, '', 1, 0, 'F', '0', '0', 'system:approval:update', '#', 'admin', NOW(), '', NULL, '批量更新抄送已读状态权限');
- -- 为各角色分配这个权限
- -- 超级管理员
- INSERT IGNORE INTO `sys_role_menu` (role_id, menu_id) VALUES (1, 2156);
- -- 普通角色
- INSERT IGNORE INTO `sys_role_menu` (role_id, menu_id) VALUES (2, 2156);
- -- 站长
- INSERT IGNORE INTO `sys_role_menu` (role_id, menu_id) VALUES (100, 2156);
- -- 安检员
- INSERT IGNORE INTO `sys_role_menu` (role_id, menu_id) VALUES (101, 2156);
- -- 班组长
- INSERT IGNORE INTO `sys_role_menu` (role_id, menu_id) VALUES (102, 2156);
- -- 科长
- INSERT IGNORE INTO `sys_role_menu` (role_id, menu_id) VALUES (103, 2156);
|