Files
SGGL_SHJ/SGGL/Database/20260918_Move_HSSE_PersonMenu_To_HJGL.sql
T
lpf 8efe030f47 refactor: 清理旧模块资源并整理人员服务目录
为收敛当前分支代码范围并统一人员服务目录,移除历史模块与静态资源,减少无效代码和目录分散带来的维护成本。
2026-09-19 13:45:38 +08:00

60 lines
2.2 KiB
Transact-SQL

/*
将“人员信息”菜单从 HSSE 模块迁移到 HJGL(管道工程)模块。
页面地址仍使用 HSSE/SitePerson 和 HSSE/QualityAudit,只有菜单归属模块发生变化。
数据库已由用户提前备份,本脚本不重复备份。
*/
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
BEGIN TRANSACTION;
DECLARE @MenuIds TABLE (MenuId nvarchar(50) NOT NULL PRIMARY KEY);
INSERT INTO @MenuIds (MenuId)
VALUES
(N'EE260447-028F-46AF-8864-9A5DC9DAA5BD'), -- 人员信息
(N'5B302FF3-A6E4-4305-A0C0-64CA7377777A'), -- 考勤时间管理
(N'AD6FC259-CF40-41C7-BA3F-15AC50C1DD20'), -- 人员信息档案
(N'8F15D3BE-BE21-4A6F-AD5C-2BBECEE46149'), -- 人工时日报
(N'6C97E014-AF13-46E5-ADB2-03D327C560EC'), -- 人工时月报
(N'7ACB0CB1-15D8-4E8E-A54D-0CDC5F69B39A'), -- 发卡管理
(N'12F7123B-C2ED-4011-9859-83260AC91F09'), -- 现场人员考勤管理
(N'7D36E853-CC79-48B9-9E7F-E34797B4E87E'), -- 现场人员考勤统计
(N'70282169-C09D-4D46-BAA3-9457535EAEA2'), -- 当前现场人员统计
(N'F291CAE4-2E53-48FC-BF44-382D42EA4DEC'), -- 现场岗位人工时统计
(N'EBEA762D-1F46-47C5-9EAD-759E13D9B41C'), -- 特种作业人员资质
(N'96FB96FF-20D8-4CE9-AF57-C19717BB5D3E'), -- 特种设备作业人员资质
(N'750F5074-45B9-470E-AE1E-6204957421E6'); -- 安管人员资质
IF EXISTS
(
SELECT 1
FROM @MenuIds AS ids
LEFT JOIN dbo.Sys_Menu AS menu ON menu.MenuId = ids.MenuId
WHERE menu.MenuId IS NULL
)
THROW 50001, N'人员信息菜单存在缺失,已停止迁移。', 1;
UPDATE menu
SET MenuType = N'Menu_HJGL'
FROM dbo.Sys_Menu AS menu
JOIN @MenuIds AS ids ON ids.MenuId = menu.MenuId;
UPDATE power
SET MenuType = N'Menu_HJGL'
FROM dbo.Sys_RolePower AS power
JOIN @MenuIds AS ids ON ids.MenuId = power.MenuId;
SELECT MenuId, MenuType
FROM dbo.Sys_Menu
WHERE MenuId IN (SELECT MenuId FROM @MenuIds)
ORDER BY CASE WHEN MenuId = N'EE260447-028F-46AF-8864-9A5DC9DAA5BD' THEN 0 ELSE 1 END, MenuId;
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF XACT_STATE() <> 0
ROLLBACK TRANSACTION;
THROW;
END CATCH;