Files
FTC25009/sql/location_outbound.sql

171 lines
5.7 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 指定货位出库菜单与货位状态字典补丁
-- 目标库:FTC25009-WMS
SET NOCOUNT ON;
IF EXISTS (SELECT 1 FROM dbo.sys_dict_data WHERE dict_type = N'bas_cargo_space_status' AND dict_value = N'4')
BEGIN
UPDATE dbo.sys_dict_data
SET dict_label = N'出库已分配',
dict_sort = 4,
list_class = N'warning',
status = N'0',
update_by = N'admin',
update_time = GETDATE()
WHERE dict_type = N'bas_cargo_space_status'
AND dict_value = N'4';
END
ELSE
BEGIN
INSERT INTO dbo.sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
VALUES (4, N'出库已分配', N'4', N'bas_cargo_space_status', N'warning', N'N', N'0', N'admin', GETDATE());
END
DECLARE @outMenuId bigint = 2001;
DECLARE @preferredLocationOutboundMenuId bigint = 2220;
DECLARE @locationOutboundMenuId bigint;
DECLARE @queryButtonMenuId bigint;
DECLARE @generateButtonMenuId bigint;
DECLARE @menuIdIsIdentity bit = COLUMNPROPERTY(OBJECT_ID(N'dbo.sys_menu'), 'menu_id', 'IsIdentity');
SELECT TOP 1 @locationOutboundMenuId = menu_id
FROM dbo.sys_menu
WHERE menu_type = N'C'
AND (
perms = N'out:locationOutbound:list'
OR (path = N'locationOutbound' AND component = N'out/locationOutbound/index')
)
ORDER BY menu_id;
IF @locationOutboundMenuId IS NULL
BEGIN
SET @locationOutboundMenuId = @preferredLocationOutboundMenuId;
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @locationOutboundMenuId)
SET @locationOutboundMenuId = @locationOutboundMenuId + 1;
END
SELECT TOP 1 @queryButtonMenuId = menu_id
FROM dbo.sys_menu
WHERE parent_id = @locationOutboundMenuId
AND menu_type = N'F'
AND perms = N'out:locationOutbound:list'
ORDER BY menu_id;
IF @queryButtonMenuId IS NULL
BEGIN
SET @queryButtonMenuId = @locationOutboundMenuId + 1;
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @queryButtonMenuId)
SET @queryButtonMenuId = @queryButtonMenuId + 1;
END
SELECT TOP 1 @generateButtonMenuId = menu_id
FROM dbo.sys_menu
WHERE parent_id = @locationOutboundMenuId
AND menu_type = N'F'
AND perms = N'out:locationOutbound:generate'
ORDER BY menu_id;
IF @generateButtonMenuId IS NULL
BEGIN
SET @generateButtonMenuId = @queryButtonMenuId + 1;
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @generateButtonMenuId)
SET @generateButtonMenuId = @generateButtonMenuId + 1;
END
IF @menuIdIsIdentity = 1
SET IDENTITY_INSERT dbo.sys_menu ON;
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @locationOutboundMenuId)
BEGIN
INSERT INTO dbo.sys_menu (
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark
)
VALUES (
@locationOutboundMenuId, N'指定货位出库', @outMenuId, 4, N'locationOutbound', N'out/locationOutbound/index', NULL, N'',
1, 0, N'C', N'0', N'0', N'out:locationOutbound:list', N'guide',
N'admin', GETDATE(), N'', NULL, N''
);
END
ELSE
BEGIN
UPDATE dbo.sys_menu
SET menu_name = N'指定货位出库',
parent_id = @outMenuId,
order_num = 4,
path = N'locationOutbound',
component = N'out/locationOutbound/index',
perms = N'out:locationOutbound:list',
icon = N'guide',
visible = N'0',
status = N'0',
update_by = N'admin',
update_time = GETDATE()
WHERE menu_id = @locationOutboundMenuId;
END
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @queryButtonMenuId)
BEGIN
INSERT INTO dbo.sys_menu (
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark
)
VALUES (
@queryButtonMenuId, N'指定货位出库查询', @locationOutboundMenuId, 1, N'#', N'', NULL, N'',
1, 0, N'F', N'0', N'0', N'out:locationOutbound:list', N'#',
N'admin', GETDATE(), N'', NULL, N''
);
END
ELSE
BEGIN
UPDATE dbo.sys_menu
SET menu_name = N'指定货位出库查询',
parent_id = @locationOutboundMenuId,
order_num = 1,
path = N'#',
component = N'',
perms = N'out:locationOutbound:list',
icon = N'#',
visible = N'0',
status = N'0',
update_by = N'admin',
update_time = GETDATE()
WHERE menu_id = @queryButtonMenuId;
END
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @generateButtonMenuId)
BEGIN
INSERT INTO dbo.sys_menu (
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon,
create_by, create_time, update_by, update_time, remark
)
VALUES (
@generateButtonMenuId, N'生成出库作业', @locationOutboundMenuId, 2, N'#', N'', NULL, N'',
1, 0, N'F', N'0', N'0', N'out:locationOutbound:generate', N'#',
N'admin', GETDATE(), N'', NULL, N''
);
END
ELSE
BEGIN
UPDATE dbo.sys_menu
SET menu_name = N'生成出库作业',
parent_id = @locationOutboundMenuId,
order_num = 2,
path = N'#',
component = N'',
perms = N'out:locationOutbound:generate',
icon = N'#',
visible = N'0',
status = N'0',
update_by = N'admin',
update_time = GETDATE()
WHERE menu_id = @generateButtonMenuId;
END
IF @menuIdIsIdentity = 1
SET IDENTITY_INSERT dbo.sys_menu OFF;
GO