79 lines
2.5 KiB
MySQL
79 lines
2.5 KiB
MySQL
|
|
-- 将四个分切业务菜单归并到“分切管理”目录。脚本可重复执行。
|
||
|
|
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;
|