Files
huachuang/sql/mysql/lms_slitting_management_menu.sql

79 lines
2.5 KiB
MySQL
Raw Normal View History

-- 将四个分切业务菜单归并到“分切管理”目录。脚本可重复执行。
START TRANSACTION;
SET @lms_menu_id = (
SELECT id
FROM system_menu
WHERE name = 'LMS管理'
AND type = 1
AND deleted = b'0'
LIMIT 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 6863, '分切管理', '', 1, 5, @lms_menu_id, 'slitting-management',
'carbon:category', NULL, NULL, 0, b'1', b'1', b'1',
'1', NOW(), '1', NOW(), b'0'
WHERE @lms_menu_id IS NOT NULL
AND NOT EXISTS (
SELECT 1
FROM system_menu
WHERE parent_id = @lms_menu_id
AND path = 'slitting-management'
AND type = 1
AND deleted = b'0'
);
SET @slitting_menu_id = (
SELECT id
FROM system_menu
WHERE parent_id = @lms_menu_id
AND path = 'slitting-management'
AND type = 1
AND deleted = b'0'
LIMIT 1
);
-- 为原本拥有任一子菜单的角色补充分切管理父目录权限。
INSERT INTO system_role_menu
(role_id, menu_id, creator, create_time, updater, update_time, deleted, tenant_id)
SELECT DISTINCT role_menu.role_id, @slitting_menu_id, '1', NOW(), '1', NOW(), b'0', role_menu.tenant_id
FROM system_role_menu role_menu
WHERE role_menu.menu_id IN (6826, 6839, 6845, 6851)
AND role_menu.deleted = b'0'
AND @slitting_menu_id IS NOT NULL
AND NOT EXISTS (
SELECT 1
FROM system_role_menu parent_role_menu
WHERE parent_role_menu.role_id = role_menu.role_id
AND parent_role_menu.menu_id = @slitting_menu_id
AND parent_role_menu.tenant_id = role_menu.tenant_id
AND parent_role_menu.deleted = b'0'
);
UPDATE system_menu
SET parent_id = @slitting_menu_id,
sort = CASE name
WHEN '分切区点位库存管理' THEN 1
WHEN '穿拔轴区点位库存管理' THEN 2
WHEN '分切区缓存点位库存管理' THEN 3
WHEN '分切生产计划管理' THEN 4
END,
updater = '1',
update_time = NOW()
WHERE type = 2
AND deleted = b'0'
AND name IN (
'分切区点位库存管理',
'穿拔轴区点位库存管理',
'分切区缓存点位库存管理',
'分切生产计划管理'
)
AND parent_id IN (@lms_menu_id, @slitting_menu_id)
AND @slitting_menu_id IS NOT NULL;
COMMIT;