ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_MODIFY_APP] @p_USER_LOGIN VARCHAR(15)= NULL, @p_MAKER_ID VARCHAR(15)= NULL, @p_REQ_PAY_AUTO_ID VARCHAR(15)= NULL, @p_CHECKER_ID VARCHAR(15) = NULL, @p_TRANSFER_USER_RECEIVE VARCHAR(15) = NULL, @p_REQUEST_STATUS VARCHAR(15) = NULL, @p_REQ_PAY_AUTO_TYPE VARCHAR(2) AS -- BEGIN VALIDATE -- END VALIDATE -- BEGIN VALIDATE FLOW /* IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ISNULL(AUTH_STATUS_KT, '') <> 'A' AND @p_REQUEST_STATUS = 'SUSPEND')) BEGIN SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Tạm dừng phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được kiểm sát viên phê duyệt' ErrorDesc RETURN '-1' END */ IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND REQUEST_STATUS <> 'SUSPEND' AND @p_REQUEST_STATUS = 'SUSPEND')) BEGIN SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Tạm dừng phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được đề nghị tạm dừng' ErrorDesc RETURN '-1' END IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND REQUEST_STATUS <> 'DEL' AND @p_REQUEST_STATUS = 'DEL')) BEGIN SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Hủy phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được đề nghị hủy phiếu' ErrorDesc RETURN '-1' END -- END VALIDATE FLOW BEGIN TRANSACTION DECLARE @NOTES_PROCESS NVARCHAR(250) = '', @NEXT_STATUS_APP NVARCHAR(250) = '' IF(@p_REQUEST_STATUS = 'SUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'A') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '6')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc RETURN '-1' END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '6')) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '7' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'CON_SUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận tạm dừng phiếu sau phê duyệt') IF @@Error <> 0 GOTO ABORT END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ((ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND PROCESS = '7') OR (ISNULL(TRANSFER_USER_RECEIVE, '') = '' AND PROCESS = '6')))) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '8', AUTH_STATUS = 'N', AUTH_STATUS_KT = 'N', REQUEST_STATUS = 'APP_SUS', REQ_PAY_AUTO_STATUS = 'SUSPEND' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! ' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'APP_SUS', @p_USER_LOGIN, GETDATE(), N'Trường đơn vị phê duyệt phiếu', N'Phê duyệt tạm dừng phiếu sau phê duyệt') IF @@Error <> 0 GOTO ABORT END ELSE BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Duyệt phiếu thất bại! Lỗi chưa được định nghĩa' ErrorDesc RETURN '-1' END COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc RETURN '0' END ELSE IF(@p_REQUEST_STATUS = 'UNSUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'A') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '9')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc RETURN '-1' END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '9')) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '10' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'CON_UNSUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận khôi phục phiếu sau phê duyệt') IF @@Error <> 0 GOTO ABORT END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ((ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND PROCESS = '10') OR (ISNULL(TRANSFER_USER_RECEIVE, '') = '' AND PROCESS = '9')))) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '11' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! Vui lòng đợi bộ phận kế toán xử lý phiếu' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'APP_UNSUS', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt phiếu', N'Phê duyệt khôi phục phiếu sau phê duyệt') -- DELETE FLOW KT KET THUC DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID IF @@Error <> 0 GOTO ABORT END ELSE BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Duyệt phiếu thất bại! Lỗi chưa được định nghĩa' ErrorDesc RETURN '-1' END COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc RETURN '0' END ELSE IF(@p_REQUEST_STATUS = 'DEL' AND @p_REQ_PAY_AUTO_TYPE = 'A') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '15')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận hủy phiếu thất bại! Yêu cầu hủy phiếu yêu cầu toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc RETURN '-1' END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '15')) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '16' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N'Vui lòng đợi trưởng đơn vị phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu', N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu') END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND ((ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND PROCESS = '16') OR (ISNULL(TRANSFER_USER_RECEIVE, '') = '' AND PROCESS = '15')))) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '17' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N'Vui lòng đợi phòng kế toán phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu', N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu') -- DELETE FLOW KT KET THUC DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID END ELSE BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Duyệt phiếu thất bại! Lỗi chưa được định nghĩa' ErrorDesc RETURN '-1' END IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID)+N' đã được yêu cầu hủy thành công! ' + @NEXT_STATUS_APP ErrorDesc RETURN '0' END ELSE IF(@p_REQUEST_STATUS = 'SUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'B') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '6')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc RETURN '-1' END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '6')) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '7' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'CON_SUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận tạm dừng phiếu sau phê duyệt') IF @@Error <> 0 GOTO ABORT END ELSE BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '8', AUTH_STATUS = 'N', AUTH_STATUS_KT = 'N', REQUEST_STATUS = 'APP_SUS', REQ_PAY_AUTO_STATUS = 'SUSPEND' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! ' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'APP_SUS', @p_USER_LOGIN, GETDATE(), N'Trường đơn vị phê duyệt phiếu', N'Phê duyệt tạm dừng phiếu sau phê duyệt') IF @@Error <> 0 GOTO ABORT END COMMIT TRANSACTION IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID AND PROCESS = '7')) BEGIN SELECT '5' as Result, '7' Process, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc RETURN '5' END ELSE BEGIN SELECT '5' as Result, '8' Process, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc RETURN '5' END END ELSE IF(@p_REQUEST_STATUS = 'UNSUSPEND' AND @p_REQ_PAY_AUTO_TYPE = 'B') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '9')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận phiếu thất bại! Phiếu yêu cầu thanh toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc RETURN '-1' END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '9')) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '10' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'CON_UNSUS', @p_USER_LOGIN, GETDATE(), N'Cấp phê duyệt trung gian xác nhận phiếu', N'Xác nhận khôi phục phiếu sau phê duyệt') IF @@Error <> 0 GOTO ABORT END ELSE BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '11' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N' Đã được phê duyệt thành công! Vui lòng đợi bộ phận kế toán xử lý phiếu' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'APP_UNSUS', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt phiếu', N'Phê duyệt khôi phục phiếu sau phê duyệt') -- DELETE FLOW KT KET THUC DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID IF @@Error <> 0 GOTO ABORT END COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID) + @NEXT_STATUS_APP ErrorDesc RETURN '0' END ELSE IF(@p_REQUEST_STATUS = 'DEL' AND @p_REQ_PAY_AUTO_TYPE = 'B') BEGIN IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') <> '' AND ISNULL(TRANSFER_USER_RECEIVE, '') <> @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '15')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Xác nhận hủy phiếu thất bại! Yêu cầu hủy phiếu yêu cầu toán tự động chưa được cấp duyệt trung gian xác nhận' ErrorDesc RETURN '-1' END ELSE IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_AUTO WHERE ISNULL(TRANSFER_USER_RECEIVE, '') = @p_USER_LOGIN AND REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID AND PROCESS = '15')) BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '16', MAKER_ID_KT = NULL, CHECKER_ID_KT = NULL, TRANSFER_MAKER = NULL, TRANSFER_DT = NULL, CREATE_DT_KT = NULL, APPROVE_DT_KT = NULL WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N'Vui lòng đợi trưởng đơn vị phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu', N'Cấp duyệt trung gian xác nhận yêu cầu hủy phiếu') END ELSE BEGIN UPDATE TR_REQ_PAYMENT_AUTO SET PROCESS = '17' WHERE REQ_PAY_AUTO_ID = @p_REQ_PAY_AUTO_ID SET @NEXT_STATUS_APP = N'Vui lòng đợi phòng kế toán phê duyệt' -- INSERT VAO PL_PROCESS INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES) VALUES(@p_REQ_PAY_AUTO_ID, 'DEL', @p_USER_LOGIN, GETDATE(), N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu', N'Trưởng đơn vị phê duyệt yêu cầu hủy phiếu') -- DELETE FLOW KT KET THUC DELETE FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_PAY_AUTO_ID END IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_PAY_AUTO_ID REQ_PAY_AUTO_ID ,N'Phiếu yêu cầu thanh toán tự động số: '+(SELECT REQ_PAY_AUTO_CODE FROM TR_REQ_PAYMENT_AUTO WHERE REQ_PAY_AUTO_ID =@p_REQ_PAY_AUTO_ID)+N' đã được yêu cầu hủy thành công! ' + @NEXT_STATUS_APP ErrorDesc RETURN '0' END ELSE BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_AUTO_ID, N'Thay đổi phiếu thất bại! Bạn chưa chọn loại chỉnh sửa phiếu(Chỉnh sửa, Tạm dừng, Hủy phiếu)' ErrorDesc RETURN '-1' END COMMIT TRANSACTION ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc RETURN '-1' END