DROP PROCEDURE IF EXISTS sp_FollowUpEszkoz
GO

CREATE PROCEDURE sp_FollowUpEszkoz
  @intezmenyId int,
  @aktTanevId int,
  @kovetkezoTanevId int,
  @eszkozId int
AS
BEGIN
DECLARE
	 @kovEszkozId int = (SELECT TOP 1 ID FROM T_ESZKOZ_OSSZES WHERE ELOZOTANEVIREKORDID = @eszkozId)
	,@eszkozNev nvarchar(200)= (SELECT C_NEV FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId)
	,@aktTipusId int = (SELECT TOP 1 C_TIPUS FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId)

	IF (SELECT TOROLT FROM T_ESZKOZ_OSSZES WHERE ID = @eszkozId) = 'T' OR (SELECT TOROLT FROM T_ESZKOZ_OSSZES WHERE ID = @kovEszkozId) = 'T' 
	BEGIN
		RETURN
	END

	IF (@aktTipusId > 100000)
	BEGIN
		SET @aktTipusId = (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE ELOZOTANEVIREKORDID = @aktTipusId AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId)
	END


IF (@kovEszkozId IS NULL AND NOT EXISTS(SELECT 1 FROM T_ESZKOZ_OSSZES WHERE C_NEV=@eszkozNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F')) 
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
	,C_PROJEKT
	,SERIAL
	,LASTCHANGED
	,CREATED
	,MODIFIER
	,CREATOR
	,ELOZOTANEVIREKORDID
    ) SELECT 
       C_BERELT AS C_BERELT
	  ,C_BESZERZESDATUM AS C_BESZERZESDATUM
      ,C_BESZERZESIAR AS C_BESZERZESIAR
	  ,t.C_CELJA AS C_CELJA
	  ,C_DARABSZAM AS C_DARABSZAM
	  ,(SELECT ID FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID = t.C_FELELOSID AND TOROLT = 'F') 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
	  ,t.C_JELLEGE AS C_JELLEGE
	  ,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
	  ,t.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
	  ,te.ID
	  ,@aktTipusId AS C_TIPUS
	  ,C_VONALKOD AS C_VONALKOD
	  ,C_PROJEKT
      ,0 AS SERIAL
      ,t.LASTCHANGED AS LASTCHANGED
      ,t.LASTCHANGED AS CREATED
      ,t.MODIFIER AS MODIFIER
      ,t.MODIFIER AS CREATOR
	  ,t.ID AS ELOZOTANEVIREKORDID
    FROM T_ESZKOZ_OSSZES t 
		INNER JOIN T_TEREM_OSSZES te ON te.ELOZOTANEVIREKORDID=t.C_TEREMID AND te.TOROLT='F'
	WHERE t.ID=@EszkozId
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 = 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 TOROLT = 'F')
	,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 = aktiv.C_JELLEGE
	,kovetkezo.C_KATEGORIA = 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_PROJEKT = aktiv.C_PROJEKT
	,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 = t.ID
	,kovetkezo.C_TIPUS = @aktTipusId
	,kovetkezo.C_VONALKOD = aktiv.C_VONALKOD
	,kovetkezo.SERIAL += 1
	,kovetkezo.MODIFIER = aktiv.MODIFIER
	,kovetkezo.LASTCHANGED = aktiv.LASTCHANGED
	FROM T_ESZKOZ_OSSZES kovetkezo
		INNER JOIN T_ESZKOZ_OSSZES aktiv ON  aktiv.ID = @eszkozId AND aktiv.ID=kovetkezo.ELOZOTANEVIREKORDID
		INNER JOIN T_TEREM_OSSZES t ON t.ELOZOTANEVIREKORDID=aktiv.C_TEREMID AND t.TOROLT='F'
	
END

END
GO
