ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Del] @p_REQ_PAY_ID varchar(15) AS DECLARE @REQ_CODE VARCHAR(50) SET @REQ_CODE =(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) DECLARE @ERRORSYS NVARCHAR(15) = '' --IF ( NOT EXISTS ( SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_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_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <>'E')) --BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được gửi phê duyệt! Bạn chỉ được phép xóa bản nháp!' ErrorDesc -- RETURN '-1' --END --IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'A') --BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: ' +(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được trưởng đơn vị phê duyệt, bạn không được phép xóa!' ErrorDesc -- RETURN '-1' --END IF((SELECT AUTH_STATUS_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'A') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được kiểm soát viên duyệt, bạn không được phép xóa!' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS_JOB ='C')) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được điều phối và xử lý ở phòng kế toán. Bạn không được phép xóa!' ErrorDesc RETURN '-1' END IF((SELECT AUTH_STATUS_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'R') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đang bị KSV từ chối, bạn không được phép xóa!' ErrorDesc RETURN '-1' END IF((SELECT AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID) = 'R') BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đang ở tình trạng từ chối, bạn không được phép xóa!' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT * FROM PL_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND CHECKER_ID IN ('nghihm','huongvt','chaudtm','hainth'))) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã có lịch sử xử lý.Vui lòng tiếp tục thao tác trên phiếu này. Bạn không được phép xóa!' ErrorDesc RETURN '-1' END --IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <>'E')) --BEGIN -- ROLLBACK TRANSACTION -- SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' đã được gửi phê duyệt, bạn không được phép xóa!' ErrorDesc -- RETURN '-1' --END ELSE BEGIN Delete FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID= @p_REQ_PAY_ID DELETE FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID= @p_REQ_PAY_ID DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_ADV_ID=@p_REQ_PAY_ID DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID DELETE FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID = @p_REQ_PAY_ID DELETE FROM TR_REQ_ADVANCE_CUS WHERE REQ_PAY_ID = @p_REQ_PAY_ID DELETE FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID= @p_REQ_PAY_ID DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID= @p_REQ_PAY_ID IF @@Error <> 0 GOTO ABORT END COMMIT TRANSACTION SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+@REQ_CODE+ N' đã được xóa thành công khỏi hệ thống!' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc RETURN '-1' End