feat(clgl): 完善材料匹配与入库条码查询

通过按材料编码优化库存匹配并增加条码查询入口,减少材料主编码选择歧义,便于按项目追溯入库条码。
This commit is contained in:
2026-09-16 15:47:51 +08:00
parent ffb9c2a95c
commit 9810280e42
14 changed files with 450 additions and 12 deletions
@@ -0,0 +1,57 @@
SET XACT_ABORT ON;
BEGIN TRANSACTION;
DECLARE @MenuId NVARCHAR(50) = N'74048E7D-C9D3-45A1-B985-DCE1DB5723F5';
DECLARE @InPlanMenuId NVARCHAR(50) = N'324C72AF-447A-4308-AFB7-ABF788C58240';
DECLARE @SuperMenu NVARCHAR(50);
DECLARE @MenuType NVARCHAR(50);
DECLARE @IsOffice BIT;
SELECT
@SuperMenu = SuperMenu,
@MenuType = MenuType,
@IsOffice = IsOffice
FROM dbo.Sys_Menu
WHERE MenuId = @InPlanMenuId;
IF @SuperMenu IS NULL
BEGIN
RAISERROR(N'未找到“入库申请”菜单,无法确定入库条码查询菜单位置。', 16, 1);
ROLLBACK TRANSACTION;
RETURN;
END;
IF NOT EXISTS (SELECT 1 FROM dbo.Sys_Menu WHERE MenuId = @MenuId)
BEGIN
INSERT INTO dbo.Sys_Menu
(MenuId, MenuName, Icon, Url, SortIndex, SuperMenu, MenuType, IsOffice, IsEnd, IsUsed)
VALUES
(@MenuId, N'入库条码查询', NULL, N'CLGL/InputBarCodeQuery.aspx',
30, @SuperMenu, @MenuType, @IsOffice, 1, 1);
END
ELSE
BEGIN
UPDATE dbo.Sys_Menu
SET MenuName = N'入库条码查询',
Url = N'CLGL/InputBarCodeQuery.aspx',
SortIndex = 30,
SuperMenu = @SuperMenu,
MenuType = @MenuType,
IsEnd = 1,
IsUsed = 1
WHERE MenuId = @MenuId;
END;
INSERT INTO dbo.Sys_RolePower (RolePowerId, RoleId, MenuId, MenuType, IsOffice)
SELECT CONVERT(NVARCHAR(50), NEWID()), source.RoleId, @MenuId, @MenuType, source.IsOffice
FROM dbo.Sys_RolePower source
WHERE source.MenuId = @InPlanMenuId
AND NOT EXISTS
(
SELECT 1
FROM dbo.Sys_RolePower target
WHERE target.RoleId = source.RoleId
AND target.MenuId = @MenuId
);
COMMIT TRANSACTION;