08_fix_delivery_add_permission.sql
2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
-- Apple经销商ERP系统 - 修复出库新增权限
-- 创建时间: 2025-01-27
-- 版本: v1.0
-- 设置数据库和字符集
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- 使用数据库
USE apple_erp;
-- =========================================
-- 1. 添加缺失的出库新增权限
-- =========================================
-- 检查是否已存在出库新增权限
SET @delivery_add_exists = (SELECT COUNT(*) FROM t_sys_menu WHERE perms = 'delivery:add' AND del_flag = '0');
-- 如果不存在,则添加出库新增权限
INSERT INTO t_sys_menu (menu_id, parent_id, menu_name, menu_type, path, icon, sort, status, perms, create_by, create_time, update_by, update_time, del_flag)
SELECT 302, 3, '出库新增', '2', '', '', 2, '1', 'delivery:add', 'admin', NOW(), 'admin', NOW(), '0'
WHERE @delivery_add_exists = 0;
-- =========================================
-- 2. 为所有角色分配出库新增权限
-- =========================================
-- 获取ADMIN角色ID
SET @admin_role_id = (SELECT role_id FROM t_sys_role WHERE role_code = 'ADMIN' AND del_flag = '0' LIMIT 1);
-- 为ADMIN角色分配出库新增权限
INSERT IGNORE INTO t_sys_role_menu (role_id, menu_id, create_by, create_time, update_by, update_time, del_flag)
SELECT @admin_role_id, menu_id, 'admin', NOW(), 'admin', NOW(), '0'
FROM t_sys_menu
WHERE perms = 'delivery:add' AND del_flag = '0';
-- 获取OPERATOR角色ID
SET @operator_role_id = (SELECT role_id FROM t_sys_role WHERE role_code = 'OPERATOR' AND del_flag = '0' LIMIT 1);
-- 为OPERATOR角色分配出库新增权限
INSERT IGNORE INTO t_sys_role_menu (role_id, menu_id, create_by, create_time, update_by, update_time, del_flag)
SELECT @operator_role_id, menu_id, 'admin', NOW(), 'admin', NOW(), '0'
FROM t_sys_menu
WHERE perms = 'delivery:add' AND del_flag = '0';
-- 获取DEALER_MANAGER角色ID
SET @dealer_manager_role_id = (SELECT role_id FROM t_sys_role WHERE role_code = 'DEALER_MANAGER' AND del_flag = '0' LIMIT 1);
-- 为DEALER_MANAGER角色分配出库新增权限
INSERT IGNORE INTO t_sys_role_menu (role_id, menu_id, create_by, create_time, update_by, update_time, del_flag)
SELECT @dealer_manager_role_id, menu_id, 'admin', NOW(), 'admin', NOW(), '0'
FROM t_sys_menu
WHERE perms = 'delivery:add' AND del_flag = '0';
-- 重置外键检查
SET FOREIGN_KEY_CHECKS = 1;
-- 输出完成信息
SELECT '出库新增权限修复完成!' AS message;