fix: make ERP exception menu SQL Server 2016 safe
This commit is contained in:
@@ -7,6 +7,11 @@ DECLARE @menu_id bigint;
|
||||
DECLARE @retry_id bigint;
|
||||
DECLARE @source_menu_id bigint;
|
||||
DECLARE @lock_result int;
|
||||
DECLARE @lock_error nvarchar(2048) = CONVERT(nvarchar(2048), 0xE065D56CB783D65320004500520050002000A8630190025F385EDC8355534753A77E0195);
|
||||
DECLARE @menu_name nvarchar(255) = CONVERT(nvarchar(255), 0x450052005000A8630190025F385E);
|
||||
DECLARE @menu_remark nvarchar(500) = CONVERT(nvarchar(500), 0x450052005000DE56204F3159258D17526888);
|
||||
DECLARE @retry_name nvarchar(255) = CONVERT(nvarchar(255), 0x450052005000025F385ECD91A863);
|
||||
DECLARE @retry_remark nvarchar(500) = CONVERT(nvarchar(500), 0x3159258D55536E63CD91B065A0526551450052005000DE56204F1F961752);
|
||||
|
||||
EXEC @lock_result = sys.sp_getapplock
|
||||
@Resource = N'FT546WMS:upgrade-erp-push-exception-menu',
|
||||
@@ -17,7 +22,7 @@ EXEC @lock_result = sys.sp_getapplock
|
||||
IF @lock_result < 0
|
||||
BEGIN
|
||||
ROLLBACK TRANSACTION;
|
||||
THROW 51000, N'无法获取 ERP 推送异常菜单升级锁', 1;
|
||||
THROW 51000, @lock_error, 1;
|
||||
END;
|
||||
|
||||
SELECT TOP (1) @menu_id = menu_id
|
||||
@@ -27,16 +32,16 @@ ORDER BY menu_id;
|
||||
|
||||
IF @menu_id IS NULL
|
||||
BEGIN
|
||||
SELECT @menu_id = ISNULL(MAX(menu_id), 0) + 1 FROM dbo.sys_menu WITH (UPDLOCK, HOLDLOCK);
|
||||
|
||||
INSERT INTO dbo.sys_menu
|
||||
(menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
(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
|
||||
(@menu_id, N'ERP推送异常', 2, 2, N'pushException', N'erp/pushException/index', NULL, N'',
|
||||
(@menu_name, 2, 2, N'pushException', N'erp/pushException/index', NULL, N'',
|
||||
N'1', N'0', N'C', N'0', N'0', N'erp:pushException:list', N'warning',
|
||||
N'admin', SYSDATETIME(), N'', NULL, N'ERP回传失败列表');
|
||||
N'admin', SYSDATETIME(), N'', NULL, @menu_remark);
|
||||
|
||||
SET @menu_id = CONVERT(bigint, SCOPE_IDENTITY());
|
||||
END;
|
||||
|
||||
SELECT TOP (1) @retry_id = menu_id
|
||||
@@ -46,16 +51,16 @@ ORDER BY menu_id;
|
||||
|
||||
IF @retry_id IS NULL
|
||||
BEGIN
|
||||
SELECT @retry_id = ISNULL(MAX(menu_id), 0) + 1 FROM dbo.sys_menu WITH (UPDLOCK, HOLDLOCK);
|
||||
|
||||
INSERT INTO dbo.sys_menu
|
||||
(menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
(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
|
||||
(@retry_id, N'ERP异常重推', @menu_id, 1, N'#', N'', NULL, N'',
|
||||
(@retry_name, @menu_id, 1, N'#', N'', NULL, N'',
|
||||
N'1', N'0', N'F', N'0', N'0', N'erp:pushException:retry', N'#',
|
||||
N'admin', SYSDATETIME(), N'', NULL, N'失败单据重新加入ERP回传队列');
|
||||
N'admin', SYSDATETIME(), N'', NULL, @retry_remark);
|
||||
|
||||
SET @retry_id = CONVERT(bigint, SCOPE_IDENTITY());
|
||||
END;
|
||||
|
||||
SELECT TOP (1) @source_menu_id = menu_id
|
||||
|
||||
Reference in New Issue
Block a user