-- ============================================================ -- 电力数转第十五阶段:工时统计(HRM)+ 供电参数比对校验(MES) -- 依据 需求文档.xlsx 人力资源2「工时统计」、质量管理5「供电参数比对校验」 -- 幂等:CREATE TABLE IF NOT EXISTS / ON DUPLICATE KEY UPDATE / LEFT JOIN 守卫 -- ============================================================ -- 1. 菜单 -- 1.1 工时统计(父 6001 人力资源) -- 1.2 参数比对校验(父 5300 设备管理,接口复用 mes:dv-telemetry:query,无需新增按钮) -- ============================================================ 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`) VALUES (1065330, '工时统计', '', 2, 2, 6001, 'work-hour-statistics', 'ep:clock', 'hrm/workhour/index', 'HrmWorkHourStatistics', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1065331, '工时统计查询', 'hrm:work-hour-statistics:query', 3, 1, 1065330, '', '', '', '', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0'), (1065340, '参数比对校验', '', 2, 3, 5300, 'parameter-check', 'ep:data-analysis', 'mes/dv/telemetry/check', 'MesDvTelemetryCheck', 0, b'1', b'0', b'1', '1', NOW(), '1', NOW(), b'0') ON DUPLICATE KEY UPDATE `name` = VALUES(`name`); -- 2. 角色授权(普通角色2 / 租户管理员109、111) -- ============================================================ INSERT INTO `system_role_menu` (`role_id`, `menu_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) SELECT r.role_id, m.menu_id, '1', NOW(), '1', NOW(), b'0', 1 FROM (SELECT 2 AS role_id UNION ALL SELECT 109 UNION ALL SELECT 111) r CROSS JOIN (SELECT 1065330 AS menu_id UNION ALL SELECT 1065331 UNION ALL SELECT 1065340) m LEFT JOIN `system_role_menu` existing ON existing.role_id = r.role_id AND existing.menu_id = m.menu_id AND existing.deleted = b'0' WHERE existing.id IS NULL; -- ==================== 执行完成提示 ==================== SELECT '电力数转第十五阶段(工时统计 + 参数比对校验)SQL 执行完成!' AS result;