DROP PROCEDURE IF EXISTS sp_FollowUpCsengetesiRendOra GO CREATE PROCEDURE sp_FollowUpCsengetesiRendOra @intezmenyId int ,@aktTanevId int ,@kovetkezoTanevId int ,@csengetesiRendOraId int ,@csengetesiRendId int ,@isVisszaMenoleges bit AS BEGIN DECLARE @oraSzam int ,@kovCsengrendOraId int ,@kovCsengRendId int SELECT @oraSzam = C_ORASZAM FROM T_CSENGETESIRENDORA_OSSZES WHERE ID = @csengetesiRendOraId SELECT @kovCsengRendId = ID FROM T_CSENGETESIREND_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendId IF EXISTS (SELECT 1 FROM T_CSENGETESIRENDORA_OSSZES WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_ORASZAM=@oraSzam AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendOraId AND C_CSENGETESIRENDID=@kovCsengRendId) BEGIN UPDATE T_CSENGETESIRENDORA_OSSZES SET ELOZOTANEVIREKORDID = NULL WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId UPDATE T_CSENGETESIRENDORA_OSSZES SET ELOZOTANEVIREKORDID = @csengetesiRendOraId WHERE C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND C_ORASZAM=@oraSzam AND ISNULL(ELOZOTANEVIREKORDID,0)<>@csengetesiRendOraId AND C_CSENGETESIRENDID=@kovCsengRendId END SELECT @kovCsengrendOraId = ID FROM T_CSENGETESIRENDORA_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId IF (SELECT TOROLT FROM T_CSENGETESIRENDORA_OSSZES WHERE ID = @csengetesiRendOraId)='T' OR (SELECT TOROLT FROM T_CSENGETESIRENDORA_OSSZES WHERE ID=@kovCsengrendOraId)='T' BEGIN RETURN END IF @kovCsengrendOraId IS NULL BEGIN INSERT INTO T_CSENGETESIRENDORA_OSSZES ( C_KEZDETE ,C_ORASZAM ,C_VEGE ,C_CSENGETESIRENDID ,C_INTEZMENYID ,C_TANEVID ,TOROLT ,SERIAL ,LASTCHANGED ,CREATED ,MODIFIER ,CREATOR ,NNID ,ELOZOTANEVIREKORDID ) SELECT C_KEZDETE ,C_ORASZAM ,C_VEGE ,csr.ID ,csro.C_INTEZMENYID ,csro.C_TANEVID ,'F' ,0 ,GETDATE() ,GETDATE() ,csro.MODIFIER ,csro.MODIFIER ,NULL ,csro.ID FROM T_CSENGETESIRENDORA_OSSZES csro INNER JOIN T_CSENGETESIREND_OSSZES csr ON csr.ELOZOTANEVIREKORDID=csro.C_CSENGETESIRENDID AND csr.TOROLT='F' WHERE csro.C_TANEVID = @aktTanevId AND csro.ID = @csengetesiRendOraId AND csro.TOROLT = 'F' END ELSE BEGIN UPDATE t SET C_KEZDETE = old.C_KEZDETE ,C_ORASZAM = old.C_ORASZAM ,C_VEGE = old.C_VEGE ,SERIAL = t.SERIAL+1 ,LASTCHANGED = GETDATE() ,MODIFIER=old.MODIFIER FROM T_CSENGETESIRENDORA_OSSZES t INNER JOIN T_CSENGETESIRENDORA_OSSZES old ON old.ID = t.ELOZOTANEVIREKORDID AND old.C_INTEZMENYID = @intezmenyId AND old.C_TANEVID = @aktTanevId AND old.ID = @csengetesiRendId WHERE t.TOROLT = 'F' AND t.C_INTEZMENYID = @intezmenyId AND t.C_TANEVID = @kovetkezoTanevId AND t.ELOZOTANEVIREKORDID = @csengetesiRendOraId END SELECT @kovCsengrendOraId= ID FROM T_CSENGETESIRENDORA_OSSZES WHERE ELOZOTANEVIREKORDID=@csengetesiRendOraId AND TOROLT='F' IF @isVisszaMenoleges=1 BEGIN EXEC sp_UpdateOrarendiOraVisszamenolegesen @kovCsengrendOraId END END GO