DROP PROCEDURE IF EXISTS sp_FollowUpTanterv GO CREATE PROCEDURE sp_FollowUpTanterv @intezmenyId int, @aktTanevId int, @kovetkezoTanevId int, @tantervId int AS BEGIN DECLARE @kovTantervId int ,@tantervNev nvarchar(510)=(SELECT C_NEV FROM T_TANTERV_OSSZES WHERE ID = @tantervId) IF EXISTS(SELECT 1 FROM T_TANTERV_OSSZES WHERE C_NEV=@tantervNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantervId) BEGIN UPDATE T_TANTERV_OSSZES SET ELOZOTANEVIREKORDID=NULL WHERE ELOZOTANEVIREKORDID=@tantervId UPDATE T_TANTERV_OSSZES SET ELOZOTANEVIREKORDID=@tantervId WHERE C_NEV=@tantervNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantervId END SELECT @kovTantervId = ID FROM T_TANTERV_OSSZES WHERE ELOZOTANEVIREKORDID = @tantervId IF (SELECT TOROLT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' OR (SELECT TOROLT FROM T_TANTERV_OSSZES WHERE ID = @kovTantervId) = 'T' BEGIN RETURN END IF (@kovTantervId IS NULL) BEGIN IF (SELECT C_VEDETT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' BEGIN UPDATE T_TANTERV_OSSZES SET C_VEDETT = 'F' WHERE TOROLT='F' AND C_TANEVID = @kovetkezoTanevId END INSERT INTO T_TANTERV_OSSZES ( C_CSOPORTTIPUSA ,C_EVFOLYAMTOL ,C_EVFOLYAMIG ,C_KERETTANTERVREEPULO ,C_NEV ,C_MEGJEGYZES ,C_INTEZMENYID ,C_TANEVID ,SERIAL ,LASTCHANGED ,CREATED ,MODIFIER ,CREATOR ,ELOZOTANEVIREKORDID ,C_VEDETT ) SELECT t.C_CSOPORTTIPUSA AS C_CSOPORTTIPUSA ,t.C_EVFOLYAMTOL AS C_EVFOLYAMTOL ,t.C_EVFOLYAMIG AS C_EVFOLYAMIG ,C_KERETTANTERVREEPULO AS C_KERETTANTERVREEPULO ,C_NEV AS C_NEV ,C_MEGJEGYZES AS C_MEGJEGYZES ,@intezmenyID AS C_INTEZMENYID ,@kovetkezoTanevId AS C_TANEVID ,0 AS SERIAL ,LASTCHANGED AS LASTCHANGED ,LASTCHANGED AS CREATED ,MODIFIER AS MODIFIER ,MODIFIER AS CREATOR ,t.ID AS ELOZOTANEVIREKORDID ,t.C_VEDETT FROM T_TANTERV_OSSZES t WHERE t.ID=@tantervId END ELSE BEGIN IF (SELECT C_VEDETT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' BEGIN UPDATE T_TANTERV_OSSZES SET C_VEDETT = 'F' WHERE TOROLT='F' AND C_TANEVID = @kovetkezoTanevId END UPDATE kovetkezo SET kovetkezo.C_CSOPORTTIPUSA = aktiv.C_CSOPORTTIPUSA ,kovetkezo.C_EVFOLYAMTOL = aktiv.C_EVFOLYAMTOL ,kovetkezo.C_EVFOLYAMIG = aktiv.C_EVFOLYAMIG ,kovetkezo.C_KERETTANTERVREEPULO = aktiv.C_KERETTANTERVREEPULO ,kovetkezo.C_NEV = aktiv.C_NEV ,kovetkezo.C_MEGJEGYZES = aktiv.C_MEGJEGYZES ,kovetkezo.C_VEDETT = aktiv.C_VEDETT ,SERIAL += 1 ,LASTCHANGED = aktiv.LASTCHANGED ,MODIFIER = aktiv.MODIFIER FROM T_TANTERV_OSSZES kovetkezo INNER JOIN T_TANTERV_OSSZES aktiv ON aktiv.ID=@tantervId AND aktiv.ID=kovetkezo.ELOZOTANEVIREKORDID END END GO