-- S6-IPQC-BILL-PAGE-1 后置校验。每条语句必须返回真值标量,否则 AutoVersionUpdate 判失败。 -- 1. 列表页菜单存在且配置正确(可见 Tab、KeepAlive 保留列表状态) SELECT COUNT(*) = 1 FROM SysMenu WHERE Id = 1329016020002 AND Pid = 1322000000020 AND Type = 2 AND Status = 1 AND Path = '/aidop/s6/process-quality/ipqc-bill-list' AND Component = '/aidop/s6/process-quality/ipqcBillList' AND IsHide = 0 AND IsKeepAlive = 1; -- 2. 详情页菜单存在、隐藏、且 KeepAlive 必须为 0(强状态页面,不允许缓存旧 canEdit/flowState) SELECT COUNT(*) = 1 FROM SysMenu WHERE Id = 1329016020003 AND Pid = 1322000000020 AND Type = 2 AND Status = 1 AND Path = '/aidop/s6/process-quality/ipqc-bill-detail/:id' AND Component = '/aidop/s6/process-quality/ipqcBillDetail' AND IsHide = 1 AND IsKeepAlive = 0; -- 3. 两个新菜单的租户面与入口菜单完全一致(继承而非硬编码) SELECT (SELECT COUNT(DISTINCT TenantId) FROM SysTenantMenu WHERE MenuId = 1329016020002) = (SELECT COUNT(DISTINCT TenantId) FROM SysTenantMenu WHERE MenuId = 1329016020001); SELECT (SELECT COUNT(DISTINCT TenantId) FROM SysTenantMenu WHERE MenuId = 1329016020003) = (SELECT COUNT(DISTINCT TenantId) FROM SysTenantMenu WHERE MenuId = 1329016020001); SELECT NOT EXISTS ( SELECT 1 FROM (SELECT TenantId FROM SysTenantMenu WHERE MenuId = 1329016020001) a WHERE a.TenantId NOT IN (SELECT TenantId FROM SysTenantMenu WHERE MenuId = 1329016020002) ); -- 4. 两个新菜单的角色面与入口菜单完全一致 SELECT (SELECT COUNT(DISTINCT RoleId) FROM SysRoleMenu WHERE MenuId = 1329016020002) = (SELECT COUNT(DISTINCT RoleId) FROM SysRoleMenu WHERE MenuId = 1329016020001); SELECT (SELECT COUNT(DISTINCT RoleId) FROM SysRoleMenu WHERE MenuId = 1329016020003) = (SELECT COUNT(DISTINCT RoleId) FROM SysRoleMenu WHERE MenuId = 1329016020001); SELECT NOT EXISTS ( SELECT 1 FROM (SELECT RoleId FROM SysRoleMenu WHERE MenuId = 1329016020001) a WHERE a.RoleId NOT IN (SELECT RoleId FROM SysRoleMenu WHERE MenuId = 1329016020002) ); -- 5. 未新建权限码(与 S6 其余菜单一致,Permission 留空) SELECT COUNT(*) = 0 FROM SysMenu WHERE Id IN (1329016020002, 1329016020003) AND Permission IS NOT NULL AND Permission <> ''; -- 6. 另一条链的既有菜单 1329016020001 未被本脚本改动(标题仍是原值) SELECT COUNT(*) = 1 FROM SysMenu WHERE Id = 1329016020001 AND Title = '过程检验单列表' AND Component = '/aidop/s6/process-quality/processInspectionList'; -- 7. 幂等:两个新菜单各只有一行 SELECT COUNT(*) = 2 FROM SysMenu WHERE Id IN (1329016020002, 1329016020003);