-- ============================================================ -- 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 );