ALTER PROCEDURE [dbo].[TR_REQUEST_DOC_Del] @REQ_ID varchar(15), @p_USER_LOGIN VARCHAR(50) AS DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID= @REQ_ID)) SET @ERRORSYS = 'REQ-00002' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@REQ_ID AND (AUTH_STATUS NOT IN('E','R') AND AUTH_STATUS IS NOT NULL AND AUTH_STATUS <> '')) ) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Bạn chỉ được phép xóa khi phiếu đang ở tình trạng lưu nháp hoặc từ chối' ErrorDesc RETURN '-1' END IF((SELECT AUTH_STATUS FROM TR_REQUEST_DOC WHERE REQ_ID= @REQ_ID) = 'A') BEGIN UPDATE TR_REQUEST_DOC SET RECORD_STATUS = '0' WHERE REQ_ID= @REQ_ID IF @@Error <> 0 GOTO ABORT --UPDATE DETAIL UPDATE TR_REQUEST_DOC_DT SET RECORD_STATUS = '0' WHERE REQ_DOC_ID = @REQ_ID END ELSE BEGIN Delete FROM TR_REQUEST_DOC WHERE REQ_ID= @REQ_ID delete FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@REQ_ID IF @@Error <> 0 GOTO ABORT END COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ErrorDesc RETURN '-1' End