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_OSSZES (
	 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_OSSZES 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_OSSZES 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_OSSZES WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_JELLEGE) = 0,1074,t.C_JELLEGE) AS C_JELLEGE
	  ,IIF((SELECT COUNT(1) FROM T_ESZKOZKATEGORIA_OSSZES 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_OSSZES WHERE ELOZOTANEVIREKORDID = t.C_TEREMID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID),
		(SELECT TOP 1 ID FROM T_TEREM_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
		) AS C_TEREMID
	  ,IIF((SELECT COUNT(1) FROM T_ESZKOZTIPUS_OSSZES 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_OSSZES t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId AND TOROLT='F'
		AND 0 = (SELECT COUNT(1) FROM T_ESZKOZ_OSSZES 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_OSSZES 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_OSSZES 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_OSSZES WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_JELLEGE) = 0, 1074, aktiv.C_JELLEGE)
	,kovetkezo.C_KATEGORIA = IIF((SELECT COUNT(1) FROM T_ESZKOZKATEGORIA_OSSZES 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_OSSZES WHERE ELOZOTANEVIREKORDID = aktiv.C_TEREMID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID),
		(SELECT TOP 1 ID FROM T_TEREM_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID)
		)
	,kovetkezo.C_TIPUS = IIF((SELECT COUNT(1) FROM T_ESZKOZTIPUS_OSSZES 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_OSSZES kovetkezo
	INNER JOIN T_ESZKOZ_OSSZES aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @eszkozId AND aktiv.TOROLT='F'
	WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @eszkozId AND kovetkezo.TOROLT='F'
END

END
GO
