-- ============================================= -- Author: Bata-Kovács Gábor -- Create date: 2017.06.03. -- Description: Az Eszköz adatainak frissítése a következő tanévre -- ============================================= IF OBJECT_ID('sp_FollowUpEszkoz') IS NOT NULL BEGIN DROP PROCEDURE sp_FollowUpEszkoz END; GO CREATE PROCEDURE sp_FollowUpEszkoz @intezmenyId int, @aktTanevId int, @kovetkezoTanevId int, @eszkozId int AS BEGIN IF (@eszkozId = 0) BEGIN INSERT INTO T_ESZKOZ( C_BERELT ,C_BESZERZESDATUM ,C_BESZERZESIAR ,C_CELJA ,C_DARABSZAM ,C_FELELOSID ,C_FOKONYVISZAM ,C_GYARISZAM ,C_GYARTASIEV ,C_HALOZATIKAPCSOLAT ,C_HORDOZHATO ,C_INTERNETKAPCSOLAT ,C_INTEZMENYID ,C_JELLEGE ,C_KATEGORIA ,C_LELTARISZAM ,C_MEGJEGYZES ,C_MENNYISEGIEGYSEG ,C_MULTIMEDIAS ,C_NEMMUKODIK ,C_NEV ,C_PEDAGOGUSHOZZAFERHET ,C_SZALLITO ,C_TANEVID ,C_TANULOHOZZAFERHET ,C_TARTOZEK ,C_TARTOZEKHIVATKOZAS ,C_TEREMID ,C_TIPUS ,C_VONALKOD ,TOROLT ,SERIAL ,LASTCHANGED ,CREATED ,MODIFIER ,CREATOR ,NNID ,ELOZOTANEVIREKORDID ) SELECT C_BERELT AS C_BERELT ,C_BESZERZESDATUM AS C_BESZERZESDATUM ,C_BESZERZESIAR AS C_BESZERZESIAR ,IIF((SELECT COUNT(1) FROM T_ESZKOZCEL WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_CELJA) = 0,1077,t.C_CELJA) AS C_CELJA ,C_DARABSZAM AS C_DARABSZAM ,(SELECT ID FROM T_FELHASZNALO WHERE ELOZOTANEVIREKORDID = t.C_FELELOSID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) AS C_FELELOSID ,C_FOKONYVISZAM AS C_FOKONYVISZAM ,C_GYARISZAM AS C_GYARISZAM ,C_GYARTASIEV AS C_GYARTASIEV ,C_HALOZATIKAPCSOLAT AS C_HALOZATIKAPCSOLAT ,C_HORDOZHATO AS C_HORDOZHATO ,C_INTERNETKAPCSOLAT AS C_INTERNETKAPCSOLAT ,@intezmenyID AS C_INTEZMENYID ,IIF((SELECT COUNT(1) FROM T_ESZKOZJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_JELLEGE) = 0,1074,t.C_JELLEGE) AS C_JELLEGE ,IIF((SELECT COUNT(1) FROM T_ESZKOZKATEGORIA WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_KATEGORIA) = 0,119,t.C_KATEGORIA) AS C_KATEGORIA ,C_LELTARISZAM AS C_LELTARISZAM ,C_MEGJEGYZES AS C_MEGJEGYZES ,C_MENNYISEGIEGYSEG AS C_MENNYISEGIEGYSEG ,C_MULTIMEDIAS AS C_MULTIMEDIAS ,C_NEMMUKODIK AS C_NEMMUKODIK ,C_NEV AS C_NEV ,C_PEDAGOGUSHOZZAFERHET AS C_PEDAGOGUSHOZZAFERHET ,C_SZALLITO AS C_SZALLITO ,@kovetkezoTanevId AS C_TANEVID ,C_TANULOHOZZAFERHET AS C_TANULOHOZZAFERHET ,C_TARTOZEK AS C_TARTOZEK ,C_TARTOZEKHIVATKOZAS AS C_TARTOZEKHIVATKOZAS ,ISNULL( (SELECT ID FROM T_TEREM WHERE ELOZOTANEVIREKORDID = t.C_TEREMID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID), (SELECT TOP 1 ID FROM T_TEREM WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) ) AS C_TEREMID ,IIF((SELECT COUNT(1) FROM T_ESZKOZTIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_TIPUS) = 0,70,t.C_TIPUS) AS C_TIPUS ,C_VONALKOD AS C_VONALKOD ,TOROLT AS TOROLT ,0 AS SERIAL ,GETDATE() AS LASTCHANGED ,GETDATE() AS CREATED ,MODIFIER AS MODIFIER ,MODIFIER AS CREATOR ,NULL AS NNID ,t.ID AS ELOZOTANEVIREKORDID FROM T_ESZKOZ t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId AND 0 = (SELECT COUNT(1) FROM T_ESZKOZ WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID) END ELSE BEGIN UPDATE kovetkezo SET kovetkezo.C_BERELT = aktiv.C_BERELT ,kovetkezo.C_BESZERZESDATUM = aktiv.C_BESZERZESDATUM ,kovetkezo.C_BESZERZESIAR = aktiv.C_BESZERZESIAR ,kovetkezo.C_CELJA = IIF((SELECT COUNT(1) FROM T_ESZKOZCEL WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_CELJA) = 0,1077,aktiv.C_CELJA) ,kovetkezo.C_DARABSZAM = aktiv.C_DARABSZAM ,kovetkezo.C_FELELOSID = (SELECT ID FROM T_FELHASZNALO WHERE ELOZOTANEVIREKORDID = aktiv.C_FELELOSID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) ,kovetkezo.C_FOKONYVISZAM = aktiv.C_FOKONYVISZAM ,kovetkezo.C_GYARISZAM = aktiv.C_GYARISZAM ,kovetkezo.C_GYARTASIEV = aktiv.C_GYARTASIEV ,kovetkezo.C_HALOZATIKAPCSOLAT = aktiv.C_HALOZATIKAPCSOLAT ,kovetkezo.C_HORDOZHATO = aktiv.C_HORDOZHATO ,kovetkezo.C_INTERNETKAPCSOLAT = aktiv.C_INTERNETKAPCSOLAT ,kovetkezo.C_JELLEGE = IIF((SELECT COUNT(1) FROM T_ESZKOZJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_JELLEGE) = 0, 1074, aktiv.C_JELLEGE) ,kovetkezo.C_KATEGORIA = IIF((SELECT COUNT(1) FROM T_ESZKOZKATEGORIA WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_KATEGORIA) = 0, 119, aktiv.C_KATEGORIA) ,kovetkezo.C_LELTARISZAM = aktiv.C_LELTARISZAM ,kovetkezo.C_MEGJEGYZES = aktiv.C_MEGJEGYZES ,kovetkezo.C_MENNYISEGIEGYSEG = aktiv.C_MENNYISEGIEGYSEG ,kovetkezo.C_MULTIMEDIAS = aktiv.C_MULTIMEDIAS ,kovetkezo.C_NEMMUKODIK = aktiv.C_NEMMUKODIK ,kovetkezo.C_NEV = aktiv.C_NEV ,kovetkezo.C_PEDAGOGUSHOZZAFERHET = aktiv.C_PEDAGOGUSHOZZAFERHET ,kovetkezo.C_SZALLITO = aktiv.C_SZALLITO ,kovetkezo.C_TANULOHOZZAFERHET = aktiv.C_TANULOHOZZAFERHET ,kovetkezo.C_TARTOZEK = aktiv.C_TARTOZEK ,kovetkezo.C_TARTOZEKHIVATKOZAS = aktiv.C_TARTOZEKHIVATKOZAS ,kovetkezo.C_TEREMID = ISNULL( (SELECT ID FROM T_TEREM WHERE ELOZOTANEVIREKORDID = aktiv.C_TEREMID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID), (SELECT TOP 1 ID FROM T_TEREM WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) ) ,kovetkezo.C_TIPUS = IIF((SELECT COUNT(1) FROM T_ESZKOZTIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_TIPUS) = 0,70,aktiv.C_TIPUS) ,kovetkezo.C_VONALKOD = aktiv.C_VONALKOD ,kovetkezo.TOROLT = aktiv.TOROLT FROM T_ESZKOZ kovetkezo INNER JOIN T_ESZKOZ aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @eszkozId WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @eszkozId END END GO