-- =====================================================================
-- 紧急联系人菜单 SQL 脚本
-- 用于在新数据库中创建紧急联系人管理菜单
-- 父菜单：HRM 人力资源管理模块
-- =====================================================================

-- 先检查并删除已存在的紧急联系人菜单（避免重复）
DELETE FROM sys_menu WHERE menu_name = '紧急联系人' AND perms LIKE 'hrm:emergencyContact%';
DELETE FROM sys_menu WHERE perms LIKE 'hrm:emergencyContact:%';

-- 获取 HRM 模块的 parent_id（假设 HRM 菜单的 menu_name 为 'HRM' 或 '人力资源管理'）
-- 如果 HRM 模块的 menu_id 不同，请手动修改下面的 @hrm_parent_id 值

-- 方式1：如果知道 HRM 模块的具体 menu_id，请直接修改下面的值
SET @hrm_parent_id = 1890704628710457345;  -- HRM模块的menu_id，请根据实际情况修改

-- 方式2：自动查询 HRM 模块的 menu_id（取消下面的注释使用）
-- SELECT menu_id INTO @hrm_parent_id FROM sys_menu WHERE menu_name = 'HRM' LIMIT 1;
-- SELECT menu_id INTO @hrm_parent_id FROM sys_menu WHERE menu_name LIKE '%人力资源%' LIMIT 1;

-- 生成父菜单ID和子菜单ID
SET @parent_menu_id = FLOOR(RAND() * 1000000000);
SET @query_menu_id = FLOOR(RAND() * 1000000000);
SET @add_menu_id = FLOOR(RAND() * 1000000000);
SET @edit_menu_id = FLOOR(RAND() * 1000000000);
SET @delete_menu_id = FLOOR(RAND() * 1000000000);
SET @export_menu_id = FLOOR(RAND() * 1000000000);
SET @import_menu_id = FLOOR(RAND() * 1000000000);

-- =====================================================================
-- 1. 插入父菜单：紧急联系人
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @parent_menu_id, '紧急联系人', @hrm_parent_id, 1, 'emergencyContact', 'hrm/emergencyContact/index',
    '0', '0', 'C', '0', '0',
    'hrm:emergencyContact:list', 'el-icon-user-solid', 'admin', NOW(), 'admin', NOW(), '员工紧急联系人管理菜单'
);

-- =====================================================================
-- 2. 插入子菜单：查询
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @query_menu_id, '查询', @parent_menu_id, 1, '', '',
    '0', '0', 'F', '0', '0',
    'hrm:emergencyContact:query', '#', 'admin', NOW(), 'admin', NOW(), ''
);

-- =====================================================================
-- 3. 插入子菜单：新增
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @add_menu_id, '新增', @parent_menu_id, 2, '', '',
    '0', '0', 'F', '0', '0',
    'hrm:emergencyContact:add', '#', 'admin', NOW(), 'admin', NOW(), ''
);

-- =====================================================================
-- 4. 插入子菜单：修改
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @edit_menu_id, '修改', @parent_menu_id, 3, '', '',
    '0', '0', 'F', '0', '0',
    'hrm:emergencyContact:edit', '#', 'admin', NOW(), 'admin', NOW(), ''
);

-- =====================================================================
-- 5. 插入子菜单：删除
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @delete_menu_id, '删除', @parent_menu_id, 4, '', '',
    '0', '0', 'F', '0', '0',
    'hrm:emergencyContact:remove', '#', 'admin', NOW(), 'admin', NOW(), ''
);

-- =====================================================================
-- 6. 插入子菜单：导出
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @export_menu_id, '导出', @parent_menu_id, 5, '', '',
    '0', '0', 'F', '0', '0',
    'hrm:emergencyContact:export', '#', 'admin', NOW(), 'admin', NOW(), ''
);

-- =====================================================================
-- 7. 插入子菜单：导入
-- =====================================================================
INSERT INTO sys_menu (
    menu_id, menu_name, parent_id, order_num, path, component, 
    is_frame, is_cache, menu_type, visible, status, 
    perms, icon, create_by, create_time, update_by, update_time, remark
) VALUES (
    @import_menu_id, '导入', @parent_menu_id, 6, '', '',
    '0', '0', 'F', '0', '0',
    'hrm:emergencyContact:import', '#', 'admin', NOW(), 'admin', NOW(), ''
);

-- =====================================================================
-- 验证插入结果
-- =====================================================================
SELECT '紧急联系人菜单创建成功' AS result, 
       @parent_menu_id AS parent_menu_id,
       @hrm_parent_id AS hrm_parent_id;

-- 查看创建的菜单
SELECT menu_id, menu_name, parent_id, perms, menu_type, create_time 
FROM sys_menu 
WHERE menu_name = '紧急联系人' OR perms LIKE 'hrm:emergencyContact%'
ORDER BY parent_id, order_num;
