-- ============================================================
-- 1.0.196.sql
-- S5-IQC-APPLICATION-LIST-REAL-PAGE-1
--
-- 业务目标：新增「来料检验申请列表」真实页面菜单（来料检验目录 1322000000015 下第 3 个三级）。
--   - Id=1329015010003，OrderNo=5（置于任务列表 10 / 结果列表 20 之前）。
--   - Component 指向真实页面 /aidop/s5/iqc/iqcApplicationList（非 placeholder）。
--   - 同步分配到「已分配 S5 顶级目录 1321000006000」的所有租户。
--
-- 安全保证：
--   - INSERT SysMenu 用 ON DUPLICATE KEY UPDATE，幂等覆盖结构字段。
--   - INSERT SysTenantMenu 用 NOT EXISTS 守卫 (TenantId, MenuId)，防重复分配。
--   - 不 DELETE / DROP / TRUNCATE；不动既有 任务/结果 placeholder 菜单（1329015010001/002）。
--   - 不动 SysRoleMenu / SysOrg / SysUser / SysRole / SysTenant；不动 S0/S6/S7/S8 菜单。
-- ============================================================

-- A. SysMenu INSERT：来料检验申请列表（真实页面）
INSERT INTO SysMenu (Id, Pid, Type, Name, Path, Component, Title, Icon, IsIframe, IsHide, IsKeepAlive, IsAffix, OrderNo, Status, Remark, CreateTime)
VALUES
    (1329015010003, 1322000000015, 2, 'aidopS5IqcApplicationList', '/aidop/s5/iqc/application-list', '/aidop/s5/iqc/iqcApplicationList', '来料检验申请列表', 'ele-Document', 0, 0, 1, 0, 5, 1, 'S5 来料检验申请列表（只读列表）', NOW())
ON DUPLICATE KEY UPDATE
    Pid        = VALUES(Pid),
    Type       = VALUES(Type),
    Name       = VALUES(Name),
    Path       = VALUES(Path),
    Component  = VALUES(Component),
    Title      = VALUES(Title),
    OrderNo    = VALUES(OrderNo),
    Remark     = VALUES(Remark),
    UpdateTime = NOW();

-- B. SysTenantMenu 同步：新菜单 × 已分配 S5 顶级目录 (1321000006000) 的所有租户，幂等 NOT EXISTS
INSERT INTO SysTenantMenu (Id, TenantId, MenuId)
SELECT
    CAST(CONCAT(SUBSTRING(CAST(m.MenuId AS CHAR), -7), RIGHT(CAST(t.TenantId AS CHAR), 8)) AS UNSIGNED) AS Id,
    t.TenantId,
    m.MenuId
FROM (
    SELECT 1329015010003 AS MenuId
) m
CROSS JOIN (
    SELECT DISTINCT TenantId FROM SysTenantMenu WHERE MenuId = 1321000006000
) t
WHERE NOT EXISTS (
    SELECT 1 FROM SysTenantMenu existing
    WHERE existing.TenantId = t.TenantId AND existing.MenuId = m.MenuId
);
