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