ALTER PROCEDURE [dbo].[RET_REPAIR_Del] @RP_ID varchar(15) AS DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM RET_REPAIR WHERE RP_ID= @RP_ID)) SET @ERRORSYS = 'RETR-00001' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION DECLARE @L_CURRENT_ID_DOWN VARCHAR(15), @L_CURRENT_ID_TOP VARCHAR(15) IF( (SELECT AUTH_STATUS FROM RET_REPAIR WHERE RP_ID= @RP_ID) = 'A') BEGIN UPDATE RET_REPAIR SET RECORD_STATUS = '0' IF @@Error <> 0 GOTO ABORT END ELSE BEGIN ------------BAODNQ 10/3/2022 : KO CHO XÓA THÔNG TIN SỬA CHỮA BDS KHI ĐÃ GỬI YC PHÊ DUYỆT------ IF(EXISTS(SELECT * FROM RET_REPAIR WHERE RP_ID = @RP_ID AND IS_SEND_APPR = 'Y')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, N'Không thể xóa thông tin sửa chữa BDS đã được gửi yêu cầu phê duyệt' ErrorDesc RETURN '-1' END --TH XOA TRONG RECORD CO ISLEAF=Y IF((SELECT A.ISLEAF FROM RET_REPAIR A WHERE A.RP_ID=@RP_ID)='Y') BEGIN --LAY ID DONG TREN SET @L_CURRENT_ID_TOP =(SELECT RP_ID FROM RET_REPAIR WHERE RP_ID=(SELECT A.PARENT_ID FROM RET_REPAIR A WHERE A.RP_ID=@RP_ID)) --UPDATE ISLEAF DONG TREN THANH Y UPDATE RET_REPAIR SET ISLEAF='Y' WHERE RP_ID=@L_CURRENT_ID_TOP END --TH XOA TRONG RECORD CO ISLEAF=N ELSE BEGIN --LAY ID CUA THANG TREN DONG HIEN TAI SET @L_CURRENT_ID_TOP= (SELECT RP_ID FROM RET_REPAIR WHERE RP_ID=(SELECT A.PARENT_ID FROM RET_REPAIR A WHERE A.RP_ID=@RP_ID)) --LAY ID CUA DONG DUOI SET @L_CURRENT_ID_DOWN =(SELECT RP_ID FROM RET_REPAIR WHERE PARENT_ID=(SELECT A.RP_ID FROM RET_REPAIR A WHERE A.RP_ID=@RP_ID)) UPDATE RET_REPAIR SET PARENT_ID=@L_CURRENT_ID_TOP WHERE RP_ID=@L_CURRENT_ID_DOWN END Delete FROM RET_REPAIR WHERE RP_ID= @RP_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