﻿DROP PROCEDURE IF EXISTS sp_AktivTanevValtasa
GO

CREATE PROCEDURE dbo.sp_AktivTanevValtasa
	 @pIntezmenyId int
	,@pAktTanevId int
	,@pKovTanevId	int
	,@pFelhasznaloId int
AS
BEGIN
	SET NOCOUNT ON;
  DECLARE 
     @rendszerbeallitasDate nvarchar(10)
    ,@kovTanevOsz nvarchar(10)
    ,@kovTanevTavasz nvarchar(10)
    ,@aktTanevVege datetime 
    ,@tanevElsoNapja datetime
    ,@valtasDatuma datetime
  
  SET @valtasDatuma = GETDATE()
  SELECT @tanevElsoNapja = C_KEZDONAP 
  FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId
  

  UPDATE T_TANEV_OSSZES 
  SET 
     C_AKTIVALVA = @valtasDatuma 
    ,MODIFIER = @pFelhasznaloId
  WHERE ID = @pKovTanevId
    
  INSERT INTO T_FELHASZNALOBELEPES_OSSZES (
     C_KOTELEZOVALTOZTATNI
    ,C_MEGHIUSULTBELEPESEK
    ,C_UTOLSOBELEPES
    ,C_JELSZO
    ,C_JELSZOVALTOZTATASIDEJE
    ,C_SO
    ,C_BEJELENTKEZESINEV
    ,C_NEPTUNNAPLOJELSZO
    ,C_FELHASZNALOID
    ,C_GONDVISELOID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,C_GUID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,NNID
  ) SELECT 
     'T' AS C_KOTELEZOVALTOZTATNI  
    ,0 AS C_MEGHIUSULTBELEPESEK  
    ,NULL AS C_UTOLSOBELEPES  
    ,C_JELSZO AS C_JELSZO      
    ,NULL AS C_JELSZOVALTOZTATASIDEJE 
    ,C_SO AS C_SO  
    ,C_BEJELENTKEZESINEV AS C_BEJELENTKEZESINEV    
    ,C_NEPTUNNAPLOJELSZO AS C_NEPTUNNAPLOJELSZO  
    ,tmp.NewUserId  AS C_FELHASZNALOID      
    ,NULL AS C_GONDVISELOID       
    ,@pIntezmenyId AS C_INTEZMENYID         
    ,@pKovTanevId AS C_TANEVID  
    ,f.C_GUID AS C_GUID
    ,TOROLT AS TOROLT             
    ,0 AS SERIAL  
    ,GETDATE() AS LASTCHANGED     
    ,GETDATE() AS CREATED         
    ,@pFelhasznaloId AS MODIFIER             
    ,@pFelhasznaloId AS CREATOR              
    ,NULL AS NNID                  
  FROM T_FELHASZNALOBELEPES_OSSZES f
  INNER JOIN (
    SELECT 
       a.ID AS OldUserId
      ,b.ID AS NewUserId
    FROM T_FELHASZNALO_OSSZES a
    INNER JOIN T_FELHASZNALO_OSSZES b ON b.C_SZULETESINEV = a.C_SZULETESINEV
      AND b.C_ANYJANEVE = a.C_ANYJANEVE
      AND b.C_SZULETESIDATUM = a.C_SZULETESIDATUM
      AND b.C_SZULETESIHELY = a.C_SZULETESIHELY
      AND b.ELOZOTANEVIREKORDID=a.ID
    INNER JOIN T_ALKALMAZOTT_OSSZES alk ON alk.ID = a.ID AND alk.C_ALTANEVID=a.C_TANEVID
    INNER JOIN T_ALKALMAZOTT_OSSZES alk0 ON alk0.ID = b.ID AND alk0.C_ALTANEVID=b.C_TANEVID
    WHERE a.C_TANEVID = @pAktTanevId
      AND b.C_TANEVID = @pKovTanevId
      AND a.TOROLT = 'F'
      AND b.TOROLT = 'F'
  	  AND 0 = (SELECT COUNT(1) FROM T_FELHASZNALOBELEPES_OSSZES f2 WHERE f2.C_FELHASZNALOID = b.ID AND f2.TOROLT = 'F')
  ) tmp ON tmp.OldUserId = f.C_FELHASZNALOID AND f.TOROLT='F'

  INSERT INTO T_FELHASZNALO_SZEREPKOR (C_FELHASZNALOID, C_SZEREPKORID)
  SELECT DISTINCT
     newF.ID
    ,newSz.ID
  FROM T_FELHASZNALO_OSSZES newF
    INNER JOIN (
      SELECT
         f.C_SZULETESINEV
        ,f.C_ANYJANEVE
        ,f.C_SZULETESIDATUM
        ,f.C_SZULETESIHELY
        ,sz.C_SZEREPKORTIPUS
      FROM T_FELHASZNALO_OSSZES f
        INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = f.ID
        INNER JOIN T_FELHASZNALO_SZEREPKOR fsz ON fsz.C_FELHASZNALOID = f.ID
        INNER JOIN T_SZEREPKOR_OSSZES sz ON sz.ID = fsz.C_SZEREPKORID
      WHERE f.C_UTONEV <> 'Adminisztrátor' AND f.C_UTONEV <> 'Fenntartó'
        AND f.C_TANEVID = @pAktTanevId
        AND f.C_INTEZMENYID = @pIntezmenyId
        AND f.TOROLT = 'F') oldF ON newF.C_SZULETESINEV = oldF.C_SZULETESINEV
          AND newF.C_ANYJANEVE = oldF.C_ANYJANEVE
          AND newF.C_SZULETESIDATUM = oldF.C_SZULETESIDATUM
          AND newF.C_SZULETESIHELY = oldF.C_SZULETESIHELY
    INNER JOIN T_SZEREPKOR_OSSZES newSz ON newSz.C_SZEREPKORTIPUS = oldF.C_SZEREPKORTIPUS
      AND newSz.C_TANEVID = @pKovTanevId
      AND newSz.C_INTEZMENYID = @pIntezmenyId
  WHERE newF.C_INTEZMENYID = @pIntezmenyId
    AND newF.C_TANEVID = @pKovTanevId
    AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALO_SZEREPKOR WHERE C_FELHASZNALOID = newF.ID AND C_SZEREPKORID = newSz.ID)

	--SPEC START
	CREATE TABLE #tmpIds (id int)

	INSERT INTO #tmpIds (id)
	SELECT fh.ID FROM T_FELHASZNALO_OSSZES fh WHERE fh.C_TANEVID=@pAktTanevId AND fh.TOROLT='F' 
	  AND NOT EXISTS(SELECT TOP 1 1 FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID=fh.ID AND a.C_ALTANEVID=fh.C_TANEVID AND a.TOROLT='F')
	  AND NOT EXISTS(SELECT TOP 1 1 FROM T_TANULO_OSSZES t WHERE t.ID=fh.ID AND t.C_ALTANEVID=fh.C_TANEVID AND t.TOROLT='F')
	  AND NOT EXISTS(SELECT 1 FROM T_FELHASZNALO_OSSZES fh2 WHERE fh2.C_TANEVID=@pKovTanevId AND fh2.C_NYOMTATASINEV=fh.C_NYOMTATASINEV AND fh2.TOROLT='F')
	
	INSERT INTO T_FELHASZNALO (
	   C_NEME
	  ,C_SZULETESIDATUM
	  ,C_SZULETESINEV
	  ,C_ANYJANEVE
	  ,C_SZULETESIHELY
	  ,C_TAJSZAM
	  ,C_ALLAMPOLGARSAGA
	  ,C_LEIRAS
	  ,C_KERESESINEV
	  ,C_SZULETESIORSZAG
	  ,C_SZULETESINEVSORREND
	  ,C_ANYJANEVESORREND
	  ,C_ALAPERTELMEZETTLCID
	  ,C_LATASSERULTWEBHASZNALATA
	  ,C_SMSSZAM
	  ,C_SMSSZINKRONIZALT
	  ,C_KELLADSZINKRONIZALAS
	  ,C_SZULETESINEVELVALASZTO
	  ,C_ANYJANEVEELVALASZTO
	  ,C_DMSTARTTIME
	  ,C_NYOMTATASINEV
	  ,C_UTONEV
	  ,C_VEZETEKNEV
	  ,C_ADOSZAM
	  ,C_ELOTAG
	  ,C_ANYANYELVE
	  ,C_IGAZOLVANYSZAM
	  ,C_IGAZOLVANYTIPUSA
	  ,C_NEVSORREND
	  ,C_NYILVANTARTASISZAM
	  ,C_NYILVANTARTASKEZDETE
	  ,C_OKTATASIAZONOSITO
	  ,C_OMKOD
	  ,C_ALAIRAS
	  ,C_PROFILKEP
	  ,C_KRETAKOD
	  ,C_KIRAZONOSITO
	  ,C_ALLAMPOLGARSAGA2
	  ,C_FENNTARTOAZONOSITO
	  ,C_IMPORTALT
	  ,C_INTEZMENYID
	  ,C_TANEVID
	  ,TOROLT
	  ,SERIAL
	  ,LASTCHANGED
	  ,CREATED
	  ,MODIFIER
	  ,CREATOR
	  ,ELOZOTANEVIREKORDID
	  ,NNID
	  ,FTIP
	  ,C_BELUGYALTALAZONOSITOTT
	  ,C_UTOLSOADATFRISSITESIDOPONTJA
	  ,C_EGYEDIAZONOSITO
	) SELECT
	   C_NEME
	  ,C_SZULETESIDATUM
	  ,C_SZULETESINEV
	  ,C_ANYJANEVE
	  ,C_SZULETESIHELY
	  ,C_TAJSZAM
	  ,C_ALLAMPOLGARSAGA
	  ,C_LEIRAS
	  ,C_KERESESINEV
	  ,C_SZULETESIORSZAG
	  ,C_SZULETESINEVSORREND
	  ,C_ANYJANEVESORREND
	  ,C_ALAPERTELMEZETTLCID
	  ,C_LATASSERULTWEBHASZNALATA
	  ,C_SMSSZAM
	  ,C_SMSSZINKRONIZALT
	  ,C_KELLADSZINKRONIZALAS
	  ,C_SZULETESINEVELVALASZTO
	  ,C_ANYJANEVEELVALASZTO
	  ,C_DMSTARTTIME
	  ,C_NYOMTATASINEV
	  ,C_UTONEV
	  ,C_VEZETEKNEV
	  ,C_ADOSZAM
	  ,C_ELOTAG
	  ,C_ANYANYELVE
	  ,C_IGAZOLVANYSZAM
	  ,C_IGAZOLVANYTIPUSA
	  ,C_NEVSORREND
	  ,C_NYILVANTARTASISZAM
	  ,C_NYILVANTARTASKEZDETE
	  ,C_OKTATASIAZONOSITO
	  ,C_OMKOD
	  ,C_ALAIRAS
	  ,C_PROFILKEP
	  ,C_KRETAKOD
	  ,C_KIRAZONOSITO
	  ,C_ALLAMPOLGARSAGA2
	  ,C_FENNTARTOAZONOSITO
	  ,C_IMPORTALT
	  ,C_INTEZMENYID
	  ,@pKovTanevId
	  ,'F'
	  ,0
	  ,GETDATE()
	  ,GETDATE()
	  ,@pFelhasznaloId
	  ,@pFelhasznaloId
	  ,fh.ID
	  ,NULL
	  ,NULL
	  ,C_BELUGYALTALAZONOSITOTT
	  ,C_UTOLSOADATFRISSITESIDOPONTJA
	  ,C_EGYEDIAZONOSITO
	FROM T_FELHASZNALO_OSSZES fh
	WHERE ID IN (SELECT ID FROM #tmpIds)
	
	INSERT INTO T_FELHASZNALOBELEPES(
	   C_KOTELEZOVALTOZTATNI
	  ,C_MEGHIUSULTBELEPESEK
	  ,C_UTOLSOBELEPES
	  ,C_JELSZO
	  ,C_JELSZOVALTOZTATASIDEJE
	  ,C_SO
	  ,C_BEJELENTKEZESINEV
	  ,C_NEPTUNNAPLOJELSZO
	  ,C_GUID
	  ,C_ELFOGADOTTGDPRNYILATKOZAT
	  ,C_GDPRELFOGADASDATUMA
	  ,C_IMPORTALT
	  ,C_FELHASZNALOID
	  ,C_GONDVISELOID
	  ,C_INTEZMENYID
	  ,C_TANEVID
	  ,TOROLT
	  ,SERIAL
	  ,LASTCHANGED
	  ,CREATED
	  ,MODIFIER
	  ,CREATOR
	  ,ELOZOTANEVIREKORDID
	  ,NNID
	) SELECT
	   C_KOTELEZOVALTOZTATNI
	  ,C_MEGHIUSULTBELEPESEK
	  ,C_UTOLSOBELEPES
	  ,C_JELSZO
	  ,C_JELSZOVALTOZTATASIDEJE
	  ,C_SO
	  ,C_BEJELENTKEZESINEV
	  ,C_NEPTUNNAPLOJELSZO
	  ,C_GUID
	  ,C_ELFOGADOTTGDPRNYILATKOZAT
	  ,C_GDPRELFOGADASDATUMA
	  ,fhb.C_IMPORTALT
	  ,fh.ID
	  ,NULL
	  ,fhb.C_INTEZMENYID
	  ,@pKovTanevId
	  ,'F'
	  ,0
	  ,GETDATE()
	  ,GETDATE()
	  ,@pFelhasznaloId
	  ,@pFelhasznaloId
	  ,fhb.ID
	  ,NULL
	FROM T_FELHASZNALOBELEPES_OSSZES fhb
	  INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID=fhb.C_FELHASZNALOID AND fh.TOROLT='F'
	WHERE fhb.C_FELHASZNALOID IN (SELECT ID FROM #tmpIds) AND fhb.TOROLT='F'
	
	INSERT INTO T_FELHASZNALO_SZEREPKOR (
	   C_FELHASZNALOID
	  ,C_SZEREPKORID
	) SELECT 
	   fh.ID
	  ,szUj.ID
	FROM T_FELHASZNALO_SZEREPKOR fhsz
	  INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID=fhsz.C_FELHASZNALOID AND fh.TOROLT='F'
	  INNER JOIN T_SZEREPKOR_OSSZES szUj ON szUj.ELOZOTANEVIREKORDID=fhsz.C_SZEREPKORID
	WHERE fhsz.C_FELHASZNALOID IN (SELECT ID FROM #tmpIds)
	--SPEC END


  UPDATE a SET
     a.C_JELSZO = b.C_JELSZO
    ,a.C_SO = b.C_SO
  FROM T_FELHASZNALOBELEPES_OSSZES a
	  INNER JOIN T_FELHASZNALOBELEPES_OSSZES b ON b.C_BEJELENTKEZESINEV = a.C_BEJELENTKEZESINEV
  WHERE a.C_BEJELENTKEZESINEV = 'admin'
	  AND a.C_TANEVID = @pKovTanevId
	  AND b.C_TANEVID = @pAktTanevId

  UPDATE T_TANEV_OSSZES SET 
     C_AKTIV = 'F'
  WHERE ID = @pAktTanevId
    AND C_INTEZMENYID = @pIntezmenyId
    AND TOROLT = 'F'

  UPDATE T_TANEV_OSSZES SET
     C_AKTIV = 'T'
    ,C_KOVETKEZO = 'F'
  WHERE ID = @pKovTanevId
    AND C_INTEZMENYID = @pIntezmenyId
    AND TOROLT = 'F';

  UPDATE T_MOBILDBINFO_OSSZES SET
		C_VERSION = C_VERSION + 1,
		LASTCHANGED = GETDATE()
	WHERE C_INTEZMENYID = @pIntezmenyId
		AND TOROLT = 'F';
  
  DELETE FROM T_RENDSZERBEALLITAS_OSSZES 
  WHERE C_TANEVID = @pKovTanevId
  
  INSERT INTO T_RENDSZERBEALLITAS_OSSZES (
     C_ALAPERTEK
    ,C_BEALLITASTIPUS
    ,C_ERTEK
    ,C_ERTEKTIPUS
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    ,NNID
  ) SELECT 
     C_ALAPERTEK AS C_ALAPERTEK             -- C_ALAPERTEK - nvarchar(MAX)
    ,C_BEALLITASTIPUS AS C_BEALLITASTIPUS       -- C_BEALLITASTIPUS - int
    ,C_ERTEK AS C_ERTEK                -- C_ERTEK - nvarchar(MAX)
    ,C_ERTEKTIPUS AS C_ERTEKTIPUS           -- C_ERTEKTIPUS - int
    ,C_INTEZMENYID AS C_INTEZMENYID          -- C_INTEZMENYID - int
    ,@pKovTanevId AS C_TANEVID              -- C_TANEVID - int
    ,TOROLT AS TOROLT                 -- TOROLT - char(1)
    ,0 AS SERIAL                 -- SERIAL - int
    ,GETDATE() AS LASTCHANGED            -- LASTCHANGED - datetime
    ,GETDATE() AS CREATED                -- CREATED - datetime
    ,@pFelhasznaloId   AS MODIFIER                -- MODIFIER - int
    ,@pFelhasznaloId   AS CREATOR                 -- CREATOR - int
    ,ID   AS ELOZOTANEVIREKORDID     -- ELOZOTANEVIREKORDID - int
    ,NULL   AS NNID                    -- NNID - int
  FROM T_RENDSZERBEALLITAS_OSSZES
  WHERE C_TANEVID = @pAktTanevId
  
  SELECT @kovTanevOsz = LEFT(C_NEV, 4), @kovTanevTavasz = RIGHT(C_NEV, 4) FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId
  
  -- tanév első napja
  SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_KEZDONAP, 'yyyy-MM-dd') FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId), @kovTanevOsz + N'-09-01')   
  UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév első napja
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)         
  WHERE C_BEALLITASTIPUS = 3076
    AND C_TANEVID = @pKovTanevId
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév első napja
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 1687
    AND C_TANEVID = @pKovTanevId

  UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév első napja
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 3082
    AND C_TANEVID = @pKovTanevId
    
  -- tanév uccsó napja
  SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_UTOLSONAP, 'yyyy-MM-dd') FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId), @kovTanevTavasz + N'-08-31') 
  UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév uccsó napja
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 7107
    AND C_TANEVID = @pKovTanevId
 
  -- utolsó tanítási nap
  SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1395 AND TOROLT = 'F'), @kovTanevTavasz + N'-06-15') 
  UPDATE T_RENDSZERBEALLITAS_OSSZES -- utolsó tanítási nap
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 5439
    AND C_TANEVID = @pKovTanevId
   
  -- utolsó tanítási nap + 1
  SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM + 1, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1395 AND TOROLT = 'F'), @kovTanevTavasz + N'-06-16')
  UPDATE T_RENDSZERBEALLITAS_OSSZES -- utolsó tanítási nap + 1
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 7106
    AND C_TANEVID = @pKovTanevId
  
  -- utolsó tanítási nap végzősöknek
  SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM + 1, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F'), @kovTanevTavasz + N'-05-01')  
  UPDATE T_RENDSZERBEALLITAS_OSSZES  -- utolsó tanítási nap végzősöknek
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 5440
    AND C_TANEVID = @pKovTanevId
    
  -- Első félév vége
  SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM + 1, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1400 AND TOROLT = 'F'), @kovTanevTavasz + N'-01-27')   
  UPDATE T_RENDSZERBEALLITAS_OSSZES
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 5438
    AND C_TANEVID = @pKovTanevId   
  
  -- Május 2
  SET @rendszerbeallitasDate = @kovTanevTavasz + N'-05-02'
  UPDATE T_RENDSZERBEALLITAS_OSSZES
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 1690
    AND C_TANEVID = @pKovTanevId    

  -- Április 2
  SET @rendszerbeallitasDate = @kovTanevTavasz + N'-04-02'
  UPDATE T_RENDSZERBEALLITAS_OSSZES
    SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate) 
  WHERE C_BEALLITASTIPUS = 1691
    AND C_TANEVID = @pKovTanevId

  SELECT @aktTanevVege = C_UTOLSONAP FROM T_TANEV WHERE ID = @pAktTanevId

    /*
  Naptípusok:
  1400 Első félév vége
  1403 I. negyedév vége
  1404 III. negyedév vége
  7600,7601,7602,7603,1402 Utolsó Tanítási nap végzős
  1395 Utolsó tanítási nap
  
  Rendszerbeállítások:
  5438 Félévi jegy dátum
  5439 Év végi jegy dátum
  5440 Év végi jegy dátum végzős
  7362 I Negyedéves jegy dátum
  7363 II Negyedéves jegy dátum
  7364 III Negyedéves jegy dátum
  7365 IIII Negyedéves jegy dátum
  */
  
  DECLARE 
     @feleviJegyDatum date 
    ,@evVegiJegyDatum date
    ,@evVegiJegyDatumVegzos date
    ,@INegyedevJegyDatum date
    ,@IINegyedevJegyDatum date
    ,@IIINegyedevJegyDatum date
    ,@IIIINegyedevJegyDatum date
  
  SELECT 
    @feleviJegyDatum = C_DATUM 
  FROM T_TANEVRENDJE_OSSZES 
  WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1400 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
  
  SELECT 
    @evVegiJegyDatum = C_DATUM 
  FROM T_TANEVRENDJE_OSSZES 
  WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1395 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
  
  SELECT @feleviJegyDatum = ISNULL(@feleviJegyDatum,C_UTOLSOTANITASINAP) 
  FROM T_TANEV WHERE TOROLT='F' AND ID = @pKovTanevId
  SELECT @evVegiJegyDatum = ISNULL(@evVegiJegyDatum,C_UTOLSOTANITASINAP) 
  FROM T_TANEV WHERE TOROLT='F' AND ID = @pKovTanevId
  
  SET @IIIINegyedevJegyDatum = @feleviJegyDatum
  SET @IINegyedevJegyDatum = @feleviJegyDatum
  SELECT 
    @INegyedevJegyDatum = C_DATUM 
  FROM T_TANEVRENDJE_OSSZES 
  WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1403 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
  SELECT 
    @IIINegyedevJegyDatum = C_DATUM 
  FROM T_TANEVRENDJE_OSSZES 
  WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1404 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
  
  SET @INegyedevJegyDatum = ISNULL(@INegyedevJegyDatum,@feleviJegyDatum)
  SET @IIINegyedevJegyDatum = ISNULL(@IIINegyedevJegyDatum,@feleviJegyDatum)
  
  SELECT 
    @evVegiJegyDatumVegzos = MIN(C_DATUM) 
  FROM T_TANEVRENDJE_OSSZES 
  WHERE C_TANEVID = @pKovTanevId 
    AND C_NAPTIPUSA IN(7600,7601,7602,7603,1402) AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
  SET @evVegiJegyDatumVegzos = ISNULL(@evVegiJegyDatumVegzos,@evVegiJegyDatum)
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@feleviJegyDatum,120)) 
  WHERE C_BEALLITASTIPUS = 5438
      AND C_TANEVID = @pKovTanevId    
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@evVegiJegyDatum,120)) 
  WHERE C_BEALLITASTIPUS = 5439
      AND C_TANEVID = @pKovTanevId    
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@evVegiJegyDatumVegzos,120)) 
  WHERE C_BEALLITASTIPUS = 5440
      AND C_TANEVID = @pKovTanevId    
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@INegyedevJegyDatum,120)) 
  WHERE C_BEALLITASTIPUS = 7362
      AND C_TANEVID = @pKovTanevId    
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@IINegyedevJegyDatum,120)) 
  WHERE C_BEALLITASTIPUS = 7363
      AND C_TANEVID = @pKovTanevId    
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@IIINegyedevJegyDatum,120)) 
  WHERE C_BEALLITASTIPUS = 7364
      AND C_TANEVID = @pKovTanevId    
  
  UPDATE T_RENDSZERBEALLITAS_OSSZES
      SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@IIIINegyedevJegyDatum,120)) 
  WHERE C_BEALLITASTIPUS = 7365
      AND C_TANEVID = @pKovTanevId    

  -- Mondatbank átvitele
  INSERT INTO T_ERTEKELESMONDATBANK (
     C_ERTEKELESTIPUSA
    ,C_EVFOLYAMTIPUSA
    ,C_ROVIDNEV
    ,C_SZOVEG
    ,C_TIPUSID
    ,C_IMPORTALT
    ,C_TANTARGYID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    ,NNID
  ) SELECT
     ert.ID AS C_ERTEKELESTIPUSA -- int
    ,evf.ID AS C_EVFOLYAMTIPUSA -- int
    ,mb.C_ROVIDNEV AS C_ROVIDNEV -- nvarchar(3)
    ,mb.C_SZOVEG AS C_SZOVEG -- * nvarchar(max)
    ,emb.ID AS C_TIPUSID -- * int
    ,'F' AS C_IMPORTALT -- * char(1)
    ,tgy.ID AS C_TANTARGYID -- int
    ,mb.C_INTEZMENYID AS C_INTEZMENYID -- * int
    ,@pKovTanevId AS C_TANEVID -- * int
    ,'F' AS TOROLT -- * char(1)
    ,0 AS SERIAL -- * int
    ,GETDATE() AS LASTCHANGED -- * datetime
    ,GETDATE() AS CREATED -- * datetime
    ,@pFelhasznaloId AS MODIFIER -- int
    ,@pFelhasznaloId AS CREATOR -- int
    ,mb.ID AS ELOZOTANEVIREKORDID -- int
    ,NULL AS NNID -- int
  FROM T_ERTEKELESMONDATBANK_OSSZES mb
    LEFT JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID = mb.C_TANTARGYID AND tgy.TOROLT='F'
	  LEFT JOIN T_ERTEKELESTIPUS_OSSZES ert ON ert.ELOZOTANEVIREKORDID = mb.C_ERTEKELESTIPUSA AND ert.C_ALTANEVID=@pKovTanevId AND ert.TOROLT='F'
	  LEFT JOIN T_EVFOLYAMTIPUS_OSSZES evf ON evf.ELOZOTANEVIREKORDID = mb.C_EVFOLYAMTIPUSA AND evf.C_ALTANEVID=@pKovTanevId AND evf.TOROLT='F'
	  LEFT JOIN T_ERTMONDATBANKTIPUS_OSSZES emb ON emb.ELOZOTANEVIREKORDID = mb.C_TIPUSID AND emb.C_ALTANEVID=@pKovTanevId AND emb.TOROLT='F'
  WHERE mb.C_TANEVID = @pAktTanevId
    AND mb.TOROLT = 'F'
    AND NOT EXISTS(
      SELECT 1
      FROM T_ERTEKELESMONDATBANK embNew
      WHERE embNew.TOROLT='F' AND embNew.C_TANEVID = @pKovTanevId 
        AND emb.ELOZOTANEVIREKORDID = mb.ID
    )
  ORDER BY mb.ID

  -- Felmentések átvitele
  INSERT INTO T_TANULOMENTESSEG (
     C_ERTEKELESMENTESITES
    ,C_KEZDETE
    ,C_MENTESSEGOKA
    ,C_ORAMENTESITES
    ,C_VEGE
    ,C_SZOVEGESENERTEKELHETO
    ,C_TANTARGYID
    ,C_TANULOID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,NNID
    ,ELOZOTANEVIREKORDID
  ) SELECT
     tm.C_ERTEKELESMENTESITES AS C_ERTEKELESMENTESITES -- char(1)
    ,tm.C_KEZDETE AS C_KEZDETE -- datetime
    ,tm.C_MENTESSEGOKA AS C_MENTESSEGOKA -- nvarchar(max)
    ,tm.C_ORAMENTESITES AS C_ORAMENTESITES -- char(1)
    ,tm.C_VEGE AS C_VEGE -- datetime
    ,tm.C_SZOVEGESENERTEKELHETO AS C_SZOVEGESENERTEKELHETO -- char(1)
    ,tgy.ID AS C_TANTARGYID -- * int
    ,fh.ID AS C_TANULOID -- * int
    ,tm.C_INTEZMENYID AS C_INTEZMENYID -- * int
    ,@pKovTanevId AS C_TANEVID -- * int
    ,'F' AS TOROLT -- * char(1)
    ,0 AS SERIAL -- * int
    ,GETDATE() AS LASTCHANGED -- * datetime
    ,GETDATE() AS CREATED -- * datetime
    ,@pFelhasznaloId AS MODIFIER -- int
    ,@pFelhasznaloId AS CREATOR -- int
    ,NULL AS NNID -- int
    ,tm.ID AS ELOZOTANEVIREKORDID -- int
  FROM T_TANULOMENTESSEG_OSSZES tm
    INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID = tm.C_TANTARGYID AND tgy.TOROLT='F'
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = tm.C_TANULOID AND fh.TOROLT='F'
  WHERE tm.C_TANEVID = @pAktTanevId
    AND tm.TOROLT = 'F'
    AND (tm.C_VEGE IS NULL OR tm.C_VEGE > @aktTanevVege)
    AND tgy.C_TANEVID = @pKovTanevId
    AND fh.C_TANEVID = @pKovTanevId
    AND NOT EXISTS (
      SELECT 1 
      FROM T_TANULOMENTESSEG_OSSZES tmNew 
      WHERE tmNew.TOROLT='F' AND tmNew.C_TANEVID = @pKovTanevId AND tmNew.C_TANULOID = fh.ID AND tmNew.C_TANTARGYID = tgy.ID
    )

  -- SULYok átvitele
  INSERT INTO T_TANARIATLAGSULY (
     C_SULY
    ,C_ERTEKELESMODID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    ,NNID
  ) SELECT
     C_SULY AS C_SULY -- * int
    ,em.ID AS C_ERTEKELESMODID -- * int
    ,C_INTEZMENYID AS C_INTEZMENYID -- * int
    ,@pKovTanevId AS C_TANEVID -- * int
    ,'F' AS TOROLT -- * char(1)
    ,0 AS SERIAL -- * int
    ,GETDATE() AS LASTCHANGED -- * datetime
    ,GETDATE() AS CREATED -- * datetime
    ,@pFelhasznaloId AS MODIFIER -- int
    ,@pFelhasznaloId AS CREATOR -- int
    ,tas.ID AS ELOZOTANEVIREKORDID -- int
    ,NULL AS NNID -- int
  FROM T_TANARIATLAGSULY_OSSZES tas
    INNER JOIN T_ERTEKELESMOD_OSSZES em ON em.ELOZOTANEVIREKORDID = tas.C_ERTEKELESMODID AND em.TOROLT='F'
  WHERE tas.C_TANEVID = @pAktTanevId
    AND tas.TOROLT = 'F'
    AND em.C_ALTANEVID = @pKovTanevId
    AND NOT EXISTS (
      SELECT 1 
      FROM T_TANARIATLAGSULY_OSSZES tasNew
      WHERE tasNew.TOROLT='F' AND tasNew.C_TANEVID = @pKovTanevId AND tasNew.C_ERTEKELESMODID = em.ID
    )

  -- A nem kötött munkaidőnél a tulajdonos átírása az következő tanéves ID-ra
  UPDATE nkm SET
     nkm.C_TULAJDONOSID = fh.ID
  FROM T_NEMKOTOTTMUNKAIDO_OSSZES nkm
  INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = nkm.C_TULAJDONOSID AND fh.TOROLT='F'
  WHERE nkm.C_TANEVID = @pKovTanevId
    AND nkm.TOROLT = 'F'
    AND fh.C_TANEVID = @pKovTanevId

  INSERT INTO T_ELEARNING_OSSZES (
     C_BEFEJEZETT
    ,C_ELEARNINGAZONOSITO
    ,C_ELEARNINGFELHASZNALONEV
    ,C_SIKERES
    ,C_SZERZODESES
    ,C_TANANYAGKOD
    ,C_FELHASZNALOID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
  ) SELECT
     C_BEFEJEZETT
    ,C_ELEARNINGAZONOSITO
    ,C_ELEARNINGFELHASZNALONEV
    ,C_SIKERES
    ,C_SZERZODESES
    ,C_TANANYAGKOD
    ,fh.ID
    ,el.C_INTEZMENYID
    ,@pKovTanevId
    ,'F'
    ,0
    ,GETDATE()
    ,GETDATE()
    ,@pFelhasznaloId
    ,@pFelhasznaloId
    ,el.ID
  FROM T_ELEARNING_OSSZES el 
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = el.C_FELHASZNALOID AND fh.C_TANEVID=@pKovTanevId AND fh.TOROLT='F'
  WHERE el.C_TANEVID=@pAktTanevId AND el.TOROLT='F' 
    AND NOT EXISTS (SELECT 1 FROM T_ELEARNING_OSSZES WHERE ELOZOTANEVIREKORDID=el.ID AND C_TANEVID=@pKovTanevId)

  INSERT INTO T_ELEARNINGELERHETOSEG_OSSZES(
     C_ELEARNINGAZONOSITO
    ,C_KEZDODATUM
    ,C_SZEREPKORTIPUSID
    ,C_VEGDATUM
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    ,C_ISGONDVISELONELMEGJELENIK
    ,C_ISTANULONALMEGJELENIK
    ,C_ROLEPACKAGE
  ) SELECT
     ele.C_ELEARNINGAZONOSITO
    ,ele.C_KEZDODATUM
    ,ele.C_SZEREPKORTIPUSID
    ,ele.C_VEGDATUM
    ,ele.C_INTEZMENYID
    ,@pKovTanevId
    ,ele.TOROLT
    ,0
    ,GETDATE()
    ,GETDATE()
    ,@pFelhasznaloId
    ,@pFelhasznaloId
    ,ele.ID
    ,ele.C_ISGONDVISELONELMEGJELENIK
    ,ele.C_ISTANULONALMEGJELENIK
    ,ele.C_ROLEPACKAGE
  FROM T_ELEARNINGELERHETOSEG_OSSZES ele
  WHERE ele.C_TANEVID=@pAktTanevId AND ele.TOROLT='F' 
    AND NOT EXISTS(SELECT 1 FROM T_ELEARNINGELERHETOSEG_OSSZES WHERE ELOZOTANEVIREKORDID=ele.ID AND C_TANEVID=@pKovTanevId)
    AND C_VEGDATUM > @tanevElsoNapja

  INSERT INTO T_ELEARNINGFELHASZNALO_OSSZES(
     C_GONDVISELOID
    ,C_ELEARNINGELERHETOSEGID
    ,C_FELHASZNALOID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    )
  SELECT 
     gv.ID
    ,ele.ID
    ,fh.ID
    ,elfh.C_INTEZMENYID
    ,@pKovTanevId
    ,'F'
    ,0
    ,GETDATE()
    ,GETDATE()
    ,@pFelhasznaloId
    ,@pFelhasznaloId
    ,elfh.ID
  FROM T_ELEARNINGFELHASZNALO_OSSZES elfh
    INNER JOIN T_ELEARNINGELERHETOSEG_OSSZES ele ON ele.ELOZOTANEVIREKORDID = elfh.C_ELEARNINGELERHETOSEGID AND ele.TOROLT='F'
    LEFT JOIN T_GONDVISELO_OSSZES gv ON gv.ELOZOTANEVIREKORDID = elfh.C_GONDVISELOID AND gv.TOROLT='F'
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = elfh.C_FELHASZNALOID AND fh.TOROLT='F'
  WHERE elfh.C_TANEVID = @pAktTanevId AND elfh.TOROLT='F'
    AND NOT EXISTS(SELECT 1 FROM T_ELEARNINGFELHASZNALO_OSSZES WHERE TOROLT='F' AND ELOZOTANEVIREKORDID = elfh.ID AND C_TANEVID = @pKovTanevId)

  INSERT INTO T_FELHASZNALOBELEPES (
     C_KOTELEZOVALTOZTATNI
    ,C_MEGHIUSULTBELEPESEK
    ,C_UTOLSOBELEPES
    ,C_JELSZO
    ,C_JELSZOVALTOZTATASIDEJE
    ,C_SO
    ,C_BEJELENTKEZESINEV
    ,C_NEPTUNNAPLOJELSZO
    ,C_GUID
    ,C_ELFOGADOTTGDPRNYILATKOZAT
    ,C_GDPRELFOGADASDATUMA
    ,C_IMPORTALT
    ,C_FELHASZNALOID
    ,C_GONDVISELOID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    ,NNID
  ) SELECT
     fb.C_KOTELEZOVALTOZTATNI AS C_KOTELEZOVALTOZTATNI -- char(1)
    ,fb.C_MEGHIUSULTBELEPESEK AS C_MEGHIUSULTBELEPESEK -- int
    ,fb.C_UTOLSOBELEPES AS C_UTOLSOBELEPES -- datetime
    ,fb.C_JELSZO AS C_JELSZO -- nvarchar(64)
    ,fb.C_JELSZOVALTOZTATASIDEJE AS C_JELSZOVALTOZTATASIDEJE -- datetime
    ,fb.C_SO AS C_SO -- nvarchar(64)
    ,fb.C_BEJELENTKEZESINEV AS C_BEJELENTKEZESINEV -- * nvarchar(255)
    ,fb.C_NEPTUNNAPLOJELSZO AS C_NEPTUNNAPLOJELSZO -- nvarchar(64)
    ,fb.C_GUID AS C_GUID -- * nvarchar(36)
    ,fb.C_ELFOGADOTTGDPRNYILATKOZAT AS C_ELFOGADOTTGDPRNYILATKOZAT -- * char(1)
    ,fb.C_GDPRELFOGADASDATUMA AS C_GDPRELFOGADASDATUMA -- datetime
    ,'F' AS C_IMPORTALT -- * char(1)
    ,fhUj.ID AS C_FELHASZNALOID -- * int
    ,fb.C_GONDVISELOID AS C_GONDVISELOID -- int
    ,@pIntezmenyId AS C_INTEZMENYID -- * int
    ,@pKovTanevId AS C_TANEVID -- * int
    ,'F' AS TOROLT -- * char(1)
    ,0 AS SERIAL -- * int
    ,GETDATE() AS LASTCHANGED -- * datetime
    ,GETDATE() AS CREATED -- * datetime
    ,NULL AS MODIFIER -- int
    ,NULL AS CREATOR -- int
    ,fb.ID AS ELOZOTANEVIREKORDID -- int
    ,NULL AS NNID -- int
  FROM T_FELHASZNALOBELEPES_OSSZES fb
	  INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = fb.C_FELHASZNALOID AND fh.TOROLT = 'F'
	  INNER JOIN T_TANULO_OSSZES t ON t.ID = fh.ID
	  INNER JOIN T_FELHASZNALO_OSSZES fhUj ON fhuj.ELOZOTANEVIREKORDID = fh.ID AND fhuj.TOROLT = 'F'
  WHERE fb.C_TANEVID = @pAktTanevId
	AND fb.C_GONDVISELOID IS NULL
    AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_FELHASZNALOID = fhUj.ID AND x.C_GONDVISELOID IS NULL AND x.TOROLT = 'F')
    AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_BEJELENTKEZESINEV = fb.C_BEJELENTKEZESINEV AND x.C_TANEVID = @pKovTanevId AND x.TOROLT = 'F')
    AND fb.TOROLT = 'F'

  INSERT INTO T_FELHASZNALOBELEPES_OSSZES (
     C_KOTELEZOVALTOZTATNI
    ,C_MEGHIUSULTBELEPESEK
    ,C_UTOLSOBELEPES
    ,C_JELSZO
    ,C_JELSZOVALTOZTATASIDEJE
    ,C_SO
    ,C_BEJELENTKEZESINEV
    ,C_NEPTUNNAPLOJELSZO
    ,C_GUID
    ,C_ELFOGADOTTGDPRNYILATKOZAT
    ,C_GDPRELFOGADASDATUMA
    ,C_IMPORTALT
    ,C_FELHASZNALOID
    ,C_GONDVISELOID
    ,C_INTEZMENYID
    ,C_TANEVID
    ,TOROLT
    ,SERIAL
    ,LASTCHANGED
    ,CREATED
    ,MODIFIER
    ,CREATOR
    ,ELOZOTANEVIREKORDID
    ,NNID
  ) SELECT
      C_KOTELEZOVALTOZTATNI AS C_KOTELEZOVALTOZTATNI -- char(1)
    ,fb.C_MEGHIUSULTBELEPESEK AS C_MEGHIUSULTBELEPESEK -- int
    ,fb.C_UTOLSOBELEPES AS C_UTOLSOBELEPES -- datetime
    ,fb.C_JELSZO AS C_JELSZO -- nvarchar(64)
    ,fb.C_JELSZOVALTOZTATASIDEJE AS C_JELSZOVALTOZTATASIDEJE -- datetime
    ,fb.C_SO AS C_SO -- nvarchar(64)
    ,fb.C_BEJELENTKEZESINEV AS C_BEJELENTKEZESINEV -- * nvarchar(255)
    ,fb.C_NEPTUNNAPLOJELSZO AS C_NEPTUNNAPLOJELSZO -- nvarchar(64)
    ,fb.C_GUID AS C_GUID -- * nvarchar(36)
    ,fb.C_ELFOGADOTTGDPRNYILATKOZAT AS C_ELFOGADOTTGDPRNYILATKOZAT -- * char(1)
    ,fb.C_GDPRELFOGADASDATUMA AS C_GDPRELFOGADASDATUMA -- datetime
    ,'F' AS C_IMPORTALT -- * char(1)
    ,gUj.C_TANULOID AS C_FELHASZNALOID -- * int
    ,gUj.ID AS C_GONDVISELOID -- int
    ,@pIntezmenyId AS C_INTEZMENYID -- * int
    ,@pKovTanevId AS C_TANEVID -- * int
    ,'F' AS TOROLT -- * char(1)
    ,0 AS SERIAL -- * int
    ,GETDATE() AS LASTCHANGED -- * datetime
    ,GETDATE() AS CREATED -- * datetime
    ,NULL AS MODIFIER -- int
    ,NULL AS CREATOR -- int
    ,fb.ID AS ELOZOTANEVIREKORDID -- int
    ,NULL AS NNID -- int
  FROM T_FELHASZNALOBELEPES_OSSZES fb
    INNER JOIN T_GONDVISELO_OSSZES g ON g.ID = fb.C_GONDVISELOID AND g.TOROLT = 'F'
    INNER JOIN T_GONDVISELO_OSSZES gUj ON gUj.ELOZOTANEVIREKORDID = g.ID AND gUj.TOROLT = 'F'
  WHERE fb.C_TANEVID = @pAktTanevId
	AND fb.C_GONDVISELOID IS NOT NULL
    AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_GONDVISELOID = gUj.ID AND x.C_GONDVISELOID IS NOT NULL AND x.TOROLT = 'F')
    AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_BEJELENTKEZESINEV = fb.C_BEJELENTKEZESINEV AND x.C_TANEVID = @pKovTanevId AND x.TOROLT = 'F')
    AND fb.TOROLT = 'F'

  UPDATE T_FELHASZNALOBELEPES_OSSZES
  SET 
     TOROLT = 'T' 
    ,LASTCHANGED = @valtasDatuma
    ,MODIFIER = @pFelhasznaloId
  WHERE TOROLT = 'F'
    AND C_TANEVID = @pAktTanevId
END
GO
