IF OBJECT_ID('sp_FollowUpFeladatellatasiHely') IS NOT NULL BEGIN DROP PROCEDURE sp_FollowUpFeladatellatasiHely END; GO CREATE PROCEDURE sp_FollowUpFeladatellatasiHely @intezmenyId int, @aktTanevId int, @kovetkezoTanevId int, @feladatellatasiHelyId int AS BEGIN DECLARE @kovetkezoFeladatellatasiHelyId int = NULL IF (@feladatellatasiHelyId <> 0) BEGIN SET @kovetkezoFeladatellatasiHelyId = ( SELECT TOP 1 ID FROM T_FELADATELLATASIHELY_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId AND ELOZOTANEVIREKORDID = @feladatellatasiHelyId AND TOROLT='F' ) END IF (@feladatellatasiHelyId = 0) BEGIN INSERT INTO T_FELADATELLATASIHELY_OSSZES ( C_OKTATASINEVELESIFELADATTIPUS ,C_ENGEDELYEZETTOSSZLETSZAM ,C_FELADATELLATASIHELYKOD ,C_ENGEDELYEZETTOSZTALY ,C_MUKODESIHELYID ,C_INTEZMENYID ,C_TANEVID ,TOROLT ,SERIAL ,LASTCHANGED ,CREATED ,MODIFIER ,CREATOR ,NNID ,ELOZOTANEVIREKORDID ) SELECT t.C_OKTATASINEVELESIFELADATTIPUS AS C_OKTATASINEVELESIFELADATTIPUS ,C_ENGEDELYEZETTOSSZLETSZAM AS C_ENGEDELYEZETTOSSZLETSZAM ,C_FELADATELLATASIHELYKOD AS C_FELADATELLATASIHELYKOD ,C_ENGEDELYEZETTOSZTALY AS C_ENGEDELYEZETTOSZTALY ,(SELECT ID FROM T_MUKODESIHELY_OSSZES WHERE ELOZOTANEVIREKORDID = t.C_MUKODESIHELYID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) AS C_MUKODESIHELYID ,C_INTEZMENYID AS C_INTEZMENYID ,@kovetkezoTanevId AS C_TANEVID ,TOROLT AS TOROLT ,0 AS SERIAL ,GETDATE() AS LASTCHANGED ,GETDATE() AS CREATED ,MODIFIER AS MODIFIER ,MODIFIER AS CREATOR ,NULL AS NNID ,ID AS ELOZOTANEVIREKORDID FROM T_FELADATELLATASIHELY_OSSZES t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId AND TOROLT='F' AND 0 = (SELECT COUNT(1) FROM T_FELADATELLATASIHELY_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID) END ELSE BEGIN UPDATE kovetkezo SET kovetkezo.C_OKTATASINEVELESIFELADATTIPUS = aktiv.C_OKTATASINEVELESIFELADATTIPUS ,kovetkezo.C_ENGEDELYEZETTOSSZLETSZAM = aktiv.C_ENGEDELYEZETTOSSZLETSZAM ,kovetkezo.C_ENGEDELYEZETTOSZTALY = aktiv.C_ENGEDELYEZETTOSZTALY ,kovetkezo.TOROLT = aktiv.TOROLT ,kovetkezo.C_FELADATELLATASIHELYKOD=aktiv.C_FELADATELLATASIHELYKOD FROM T_FELADATELLATASIHELY_OSSZES kovetkezo INNER JOIN T_FELADATELLATASIHELY_OSSZES aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @feladatellatasiHelyId AND aktiv.TOROLT='F' WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @feladatellatasiHelyId AND kovetkezo.TOROLT='F' END END GO