-- 指定货位出库菜单与货位状态字典补丁 -- 目标库: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