tuqin
11 小时以前 83dea93d02925e162ad88954b7d0ed97dd8a442a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-- 采购订单 - 导入按钮权限(父菜单:采购订单 id=2666)
-- 修正说明:原脚本写死 id=602511,与“生产计划-新增(mes:pro-mps:create)”撞车导致 INSERT 被跳过。
--          现改为动态取 system_menu 最大 id + 1,并用变量预判,可重复执行(幂等)。
SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'erp:purchase-order:import');
SET @import_menu_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 1;
 
-- 1) 新增“采购订单导入”按钮权限(已存在则不插)
INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component,
                         component_name, status, visible, keep_alive, always_show,
                         creator, create_time, updater, update_time, deleted)
SELECT @import_menu_id, '采购订单导入', 'erp:purchase-order:import', 3, 8, 2666, '', '#', '', NULL,
       0, 1, 0, 1, '1', NOW(), '1', NOW(), 0
FROM DUAL
WHERE @perm_exists = 0;
 
-- 2) 授予超级管理员角色(role_id=1)该按钮权限(已授权则不插)
SET @menu_id := (SELECT id FROM system_menu WHERE permission = 'erp:purchase-order:import');
SET @grant_exists := (SELECT COUNT(*) FROM system_role_menu WHERE role_id = 1 AND menu_id = @menu_id);
 
INSERT INTO system_role_menu (role_id, menu_id, creator, create_time, updater, update_time, deleted)
SELECT 1, @menu_id, '1', NOW(), '1', NOW(), 0
FROM DUAL
WHERE @menu_id IS NOT NULL AND @grant_exists = 0;