-- ===================================================================== -- 四模块“导入”按钮权限 合并补丁 -- 1) 采购订单导入 erp:purchase-order:import -- 2) 销售订单导入 erp:sale-order:import -- 3) 计量器具导入 mes:dv-metering:import -- 4) 员工合同导入 hrm:employee-contract:import -- -- 用法:在【目标数据库】上整体执行一次即可(本地开发库 / 远程测试库 / 生产库)。 -- 特点: -- * 动态取 system_menu 最大 id + 1,不会与既有菜单 id 撞车; -- * 按 permission 判断,幂等,可重复执行; -- * 仅授权“超级管理员”角色 role_id=1;如要让其它角色也能导入, -- 请在【系统管理 → 角色管理】里勾选对应“XX导入”按钮。 -- 注意: -- * parent_id 为各模块菜单 id(采购订单=2666、销售订单=2638、计量器具=5380、员工合同=1063105)。 -- 若目标库菜单结构被改过,请先核对这几个父菜单 id 再执行。 -- ===================================================================== -- ------------- 1) 采购订单导入 ------------- SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'erp:purchase-order:import'); SET @new_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 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 @new_id, '采购订单导入', 'erp:purchase-order:import', 3, 8, 2666, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @perm_exists = 0; 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; -- ------------- 2) 销售订单导入 ------------- SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'erp:sale-order:import'); SET @new_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 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 @new_id, '销售订单导入', 'erp:sale-order:import', 3, 8, 2638, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @perm_exists = 0; SET @menu_id := (SELECT id FROM system_menu WHERE permission = 'erp:sale-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; -- ------------- 3) 计量器具导入 ------------- SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'mes:dv-metering:import'); SET @new_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 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 @new_id, '计量器具导入', 'mes:dv-metering:import', 3, 8, 5380, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @perm_exists = 0; SET @menu_id := (SELECT id FROM system_menu WHERE permission = 'mes:dv-metering: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; -- ------------- 4) 员工合同导入 ------------- SET @perm_exists := (SELECT COUNT(*) FROM system_menu WHERE permission = 'hrm:employee-contract:import'); SET @new_id := IFNULL((SELECT MAX(id) FROM system_menu), 0) + 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 @new_id, '合同导入', 'hrm:employee-contract:import', 3, 5, 1063105, '', '#', '', NULL, 0, 1, 0, 1, '1', NOW(), '1', NOW(), 0 FROM DUAL WHERE @perm_exists = 0; SET @menu_id := (SELECT id FROM system_menu WHERE permission = 'hrm:employee-contract: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;