ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_Del] @REQ_ID varchar(15) AS DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM PL_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 PL_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 tờ trình chủ trương số: '+(SELECT TOP 1 REQ_CODE FROM PL_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 PROCESS_ID FROM PL_REQUEST_DOC WHERE REQ_ID= @REQ_ID) = 'APPROVE') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Tờ trình chủ trương số'+(SELECT REQ_CODE FROM PL_REQUEST_DOC WHERE REQ_ID = @REQ_ID)+ N' đã hoàn tất quá trình phê duyệt. Bạn không được quyền xóa tờ trình này' ErrorDesc RETURN '-1' --UPDATE PL_REQUEST_DOC SET RECORD_STATUS = '0' --WHERE REQ_ID= @REQ_ID --IF @@Error <> 0 GOTO ABORT ----UPDATE DETAIL --UPDATE PL_REQUEST_DOC_DT SET RECORD_STATUS = '0' WHERE REQ_ID = @REQ_ID END ELSE BEGIN Delete FROM PL_REQUEST_DOC WHERE REQ_ID= @REQ_ID delete FROM PL_REQUEST_DOC_DT WHERE REQ_ID=@REQ_ID DELETE FROM dbo.PL_REQUEST_TRANSFER WHERE REQ_DOC_ID=@REQ_ID DELETE FROM dbo.PL_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