Files
JY1.0/sql/库房管理_测试库菜单_20260730.sql

111 lines
2.6 KiB
Transact-SQL

/* 修改人:Ld 修改时间:2026-07-30 09:05:58; 新增库房管理测试库菜单,仅给已有库位管理权限的角色授权 */
SET XACT_ABORT ON;
BEGIN TRAN;
DECLARE @ModuleId INT;
DECLARE @ParentId INT = 42;
SELECT @ModuleId = id
FROM dbo.基础表_模块信息
WHERE [path] = N'WarehouseManagement/WarehouseRoomManagement'
OR component = N'/WarehouseManagement/WarehouseRoomManagement'
OR title = N'库房管理';
IF @ModuleId IS NULL
BEGIN
INSERT INTO dbo.基础表_模块信息
(
[path],
component,
redirect,
name,
title,
icon,
是否通知,
消息通知来源,
通知条件,
dashboardIcon,
是否禁用
)
VALUES
(
N'WarehouseManagement/WarehouseRoomManagement',
N'/WarehouseManagement/WarehouseRoomManagement',
NULL,
N'WarehouseRoomManagement',
N'库房管理',
N'MaterialArrivalManagement',
NULL,
NULL,
NULL,
NULL,
0
);
SET @ModuleId = SCOPE_IDENTITY();
END
ELSE
BEGIN
UPDATE dbo.基础表_模块信息
SET [path] = N'WarehouseManagement/WarehouseRoomManagement',
component = N'/WarehouseManagement/WarehouseRoomManagement',
redirect = NULL,
name = N'WarehouseRoomManagement',
title = N'库房管理',
icon = N'MaterialArrivalManagement',
是否禁用 = 0
WHERE id = @ModuleId;
END;
;WITH RoleList AS
(
SELECT DISTINCT 角色编号
FROM dbo.基础表_角色模块信息
WHERE id = 92
AND pid = @ParentId
AND ISNULL(是否启用, 1) = 1
)
INSERT INTO dbo.基础表_角色模块信息
(
id,
pid,
模块顺序,
角色编号,
是否启用,
角色模块顺序
)
SELECT
@ModuleId,
@ParentId,
@ModuleId,
RoleList.角色编号,
1,
ISNULL(RoleOrder.MaxOrder, 0) + 1
FROM RoleList
OUTER APPLY
(
SELECT MAX(角色模块顺序) AS MaxOrder
FROM dbo.基础表_角色模块信息
WHERE 角色编号 = RoleList.角色编号
AND pid = @ParentId
) RoleOrder
WHERE NOT EXISTS
(
SELECT 1
FROM dbo.基础表_角色模块信息
WHERE id = @ModuleId
AND pid = @ParentId
AND 角色编号 = RoleList.角色编号
);
SELECT @ModuleId AS 库房管理模块ID;
SELECT id, [path], component, name, title, icon, 是否禁用
FROM dbo.基础表_模块信息
WHERE id = @ModuleId;
SELECT id, pid, 角色编号, 是否启用, 角色模块顺序
FROM dbo.基础表_角色模块信息
WHERE id = @ModuleId
ORDER BY 角色编号;
COMMIT TRAN;