ALTER PROCEDURE [dbo].[TR_REQUEST_DOC_Del] @REQ_ID varchar(15) 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 <>'E')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result,N'Bạn không được phép xóa phiếu mua sắm số: '+(SELECT TOP 1 REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID =@REQ_ID) +N'. Bạn chỉ được phép xóa những phiếu đang có tình trạng lưu nháp' 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 DELETE FROM TR_REQUEST_COSTCENTER WHERE REQ_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