-- 波次管理菜单：若 sys_menu 中已存在 component='wave' 的菜单则跳过
-- 执行后需在【系统管理 -> 角色管理 -> 分配权限】中为对应角色勾选「波次管理」并保存，菜单才会在侧栏显示

INSERT INTO `sys_menu` (`name`, `parent_id`, `parent_name`, `path`, `path_name`, `route`, `component`, `brief`, `code`, `type`, `authority`, `icon`, `sort`, `meta`, `tenant_id`, `status`, `deleted`, `create_time`, `create_by`, `update_time`, `update_by`, `memo`)
SELECT 'menu.wave', 0, NULL, '', '', '/orders/wave', 'wave', NULL, NULL, 0, NULL, 'Waves', 0, NULL, 1, 1, 0, NOW(), NULL, NOW(), NULL, '波次管理'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `component` = 'wave' AND `type` = 0 LIMIT 1);

-- 波次管理-列表查询权限（访问波次列表页和接口需要）
INSERT INTO `sys_menu` (`name`, `parent_id`, `path`, `path_name`, `route`, `component`, `type`, `authority`, `sort`, `tenant_id`, `status`, `deleted`)
SELECT 'Query 波次', m.id, CONCAT(IFNULL(m.path,''), ',', m.id), NULL, NULL, NULL, 1, 'manager:wave:list', 0, 1, 1, 0
FROM `sys_menu` m WHERE m.component = 'wave' AND m.type = 0 LIMIT 1;

-- 波次管理-保存权限
INSERT INTO `sys_menu` (`name`, `parent_id`, `path`, `type`, `authority`, `sort`, `tenant_id`, `status`, `deleted`)
SELECT 'Create 波次', m.id, CONCAT(IFNULL(m.path,''), ',', m.id), 1, 'manager:wave:save', 1, 1, 1, 0
FROM `sys_menu` m WHERE m.component = 'wave' AND m.type = 0 LIMIT 1;

-- 波次管理-更新权限
INSERT INTO `sys_menu` (`name`, `parent_id`, `path`, `type`, `authority`, `sort`, `tenant_id`, `status`, `deleted`)
SELECT 'Update 波次', m.id, CONCAT(IFNULL(m.path,''), ',', m.id), 1, 'manager:wave:update', 2, 1, 1, 0
FROM `sys_menu` m WHERE m.component = 'wave' AND m.type = 0 LIMIT 1;

-- 波次管理-删除权限
INSERT INTO `sys_menu` (`name`, `parent_id`, `path`, `type`, `authority`, `sort`, `tenant_id`, `status`, `deleted`)
SELECT 'Delete 波次', m.id, CONCAT(IFNULL(m.path,''), ',', m.id), 1, 'manager:wave:remove', 3, 1, 1, 0
FROM `sys_menu` m WHERE m.component = 'wave' AND m.type = 0 LIMIT 1;

-- 波次明细-列表权限（进入波次明细需 manager:waveItem:list，若接口有要求可再加）
INSERT INTO `sys_menu` (`name`, `parent_id`, `path`, `type`, `authority`, `sort`, `tenant_id`, `status`, `deleted`)
SELECT 'Query 波次明细', m.id, CONCAT(IFNULL(m.path,''), ',', m.id), 1, 'manager:waveItem:list', 4, 1, 1, 0
FROM `sys_menu` m WHERE m.component = 'wave' AND m.type = 0 LIMIT 1;

-- 波次明细-更新权限（下发任务等操作）
INSERT INTO `sys_menu` (`name`, `parent_id`, `path`, `type`, `authority`, `sort`, `tenant_id`, `status`, `deleted`)
SELECT 'Update 波次明细', m.id, CONCAT(IFNULL(m.path,''), ',', m.id), 1, 'manager:waveItem:update', 5, 1, 1, 0
FROM `sys_menu` m WHERE m.component = 'wave' AND m.type = 0 LIMIT 1;
