﻿-- ===========================================================================================
-- Tanulók, gondviselők, elérhetőségeik, osztálycsoportok átvitele köv tanévbe
-- Tanulók besorolása ugyan abba a nevű osztályba, amiben akt tanévben járt
-- ===========================================================================================

-- TanévId megtalálása
SELECT * FROM V_INTEZMENYADATOK ia
WHERE ia.C_AZONOSITO = 'klikKlak'; -- Intézmény azonosítója
GO

DECLARE
   @intezmenyId int = 0 -- Ezt add meg! 

DECLARE
   @kovTanevId int
  ,@aktTanevId int 
  ,@kovTanevNev nvarchar(20)

SELECT @aktTanevId = ID FROM T_TANEV tv WHERE tv.C_INTEZMENYID = @intezmenyId AND tv.C_AKTIV = 'T' AND tv.TOROLT = 'F'
SELECT @kovTanevId = ID, @kovTanevNev = tv.C_NEV FROM T_TANEV tv WHERE tv.C_INTEZMENYID = @intezmenyId AND tv.C_KOVETKEZO = 'T' AND tv.C_ISKIVALASZTHATO = 'T' AND tv.TOROLT = 'F'

DECLARE @TanuloIdsKovTanev table (
  Id int PRIMARY KEY 
)

-- Tanulók átvitele az uspCloneTanulo SP-vel
DECLARE @tanuloId INT

DECLARE TanuloCursor CURSOR FAST_FORWARD READ_ONLY FOR 
SELECT dk.ID 
FROM T_TANULO dk 
WHERE dk.TOROLT = 'F' 
  AND dk.C_ALTANEVID = @aktTanevId

OPEN TanuloCursor

FETCH NEXT FROM TanuloCursor 
INTO @tanuloId

WHILE @@FETCH_STATUS = 0 BEGIN
  INSERT INTO @TanuloIdsKovTanev (Id)
  EXEC uspCloneTanulo 
     @tanuloId = @tanuloId
    ,@kovTanevId = @kovTanevId
    ,@intezmenyId = @intezmenyId
    ,@aktTanevId = @aktTanevId
    ,@felhasznaloId = 0

    FETCH NEXT FROM TanuloCursor 
    INTO @tanuloId
END

CLOSE TanuloCursor
DEALLOCATE TanuloCursor


-- Osztályok, csoportok /*ha még nem létezik ugyan olyan néven*/
INSERT INTO T_OSZTALYCSOPORT (
   C_MEGJEGYZES
  ,C_NEV
  ,C_VEGZOSEVFOLYAM
  ,C_EVFOLYAMTIPUSA
  ,C_IMPORTALT
  ,C_TERVEZETTLETSZAM
  ,C_KERESZTFELEVES
  ,C_FELADATKATEGORIAID
  ,C_TEREMID
  ,C_FELADATELLATASIHELYID
  ,C_INTEZMENYID
  ,C_TANEVID
  ,TOROLT
  ,SERIAL
  ,LASTCHANGED
  ,CREATED
  ,MODIFIER
  ,CREATOR
  ,ELOZOTANEVIREKORDID
  ,C_MUVESZETIAGID
  ,C_ZENEMUVESZETIAGTIPUSID
  ,C_KEPZESIFORMA
  ,C_ISGYOGYPEDAGOGIAILOGOPEDIAI
  ,C_ISTECHNIKAI
  ,C_NAPLOSZAM
) SELECT
   ocs.C_MEGJEGYZES AS C_MEGJEGYZES -- nvarchar(500)
  ,ocs.C_NEV AS C_NEV -- * nvarchar(255)
  ,ocs.C_VEGZOSEVFOLYAM AS C_VEGZOSEVFOLYAM -- * char(1)
  ,ocs.C_EVFOLYAMTIPUSA AS C_EVFOLYAMTIPUSA -- int
  ,ocs.C_IMPORTALT AS C_IMPORTALT -- * char(1)
  ,ocs.C_TERVEZETTLETSZAM AS C_TERVEZETTLETSZAM -- int
  ,ocs.C_KERESZTFELEVES AS C_KERESZTFELEVES -- * char(1)
  ,ocs.C_FELADATKATEGORIAID AS C_FELADATKATEGORIAID -- * int
  ,ocs.C_TEREMID AS C_TEREMID -- int
  ,ocs.C_FELADATELLATASIHELYID AS C_FELADATELLATASIHELYID -- * int
  ,ocs.C_INTEZMENYID AS C_INTEZMENYID -- * int
  ,@kovTanevId AS C_TANEVID -- * int
  ,ocs.TOROLT AS TOROLT -- * char(1)
  ,0 AS SERIAL -- * int
  ,ocs.LASTCHANGED AS LASTCHANGED -- * datetime
  ,GETDATE() AS CREATED -- * datetime
  ,ocs.MODIFIER AS MODIFIER -- int
  ,ocs.CREATOR AS CREATOR -- int
  ,ocs.ID AS ELOZOTANEVIREKORDID -- int
  ,ocs.C_MUVESZETIAGID AS C_MUVESZETIAGID -- int
  ,ocs.C_ZENEMUVESZETIAGTIPUSID AS C_ZENEMUVESZETIAGTIPUSID -- int
  ,ocs.C_KEPZESIFORMA AS C_KEPZESIFORMA -- int
  ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS C_ISGYOGYPEDAGOGIAILOGOPEDIAI -- * char(1)
  ,ocs.C_ISTECHNIKAI AS C_ISTECHNIKAI -- * char(1)
  ,ocs.C_NAPLOSZAM AS C_NAPLOSZAM -- nvarchar(50)
FROM T_OSZTALYCSOPORT ocs
WHERE ocs.C_TANEVID = @aktTanevId
  AND ocs.TOROLT = 'F'
  AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT ocs2 WHERE ocs2.C_NEV = ocs.C_NEV AND ocs2.TOROLT = 'F' AND ocs2.C_TANEVID = @kovTanevId)

INSERT INTO T_OSZTALY (
   ID
  ,C_OSZTALYNAPLOLEIRASA
  ,C_OSZTALYNAPLOMEGNYITASA
  ,C_OSZTALYNAPLOZARASA
  ,C_AGAZAT
  ,C_RESZSZAKKEPESITES
  ,C_SZAKKEPESITES
  ,C_SZAKMACSOPORT
  ,C_GIMNAZIUMIEVFOLYAMTIPUSID
  ,C_KETTANNYELVU
  ,C_NEMZETISEGI
  ,C_NYELVIELOKESZITO
  ,C_SPORT
  ,C_AJTEHETTSEGGONDOZOPROGRAM
  ,C_AJPROGRAM
  ,C_VEGYESEVFOLYAMU
  ,C_VEGYESSZAKKEPZESU
  ,C_SPECIALISJELLEMZO
  ,C_VEGYESEVFOLYAMUTANTERV
  ,C_OSZTALYPENZBANKSZAMLASZAMKED
  ,C_OSZTALYPENZBANKSZAMLASZAMA
  ,C_VPOSENGEDELYEZETT
  ,C_OSZTALYFONOKID
  ,C_OFOHELYETTESID
  ,C_TANTERVID
  ,C_SZMKKEPVISELOHELYETTESID
  ,C_SZMKKEPVISELOID
  ,C_ALINTEZMENYID
  ,C_ALTANEVID
  ,TOROLT
  ,SERIAL
  ,LASTCHANGED
  ,CREATED
  ,MODIFIER
  ,CREATOR
  ,ELOZOTANEVIREKORDID
  ,ELOZOTANEVIREKORDIDA
  ,C_ARANYJANOSPROGRAMTIPUSID
  ,C_JOGVISZONYTIPUSID
  ,C_AGAZATUJSZKTTIPUSID
  ,C_SZAKMAIRANYTIPUSID
  ,C_SZAKMATIPUSID
  ,C_SZAKIRANYNKTTIPUSID
  ,C_SZAKKEPESITESNKTTIPUSID
  ,C_TANULMANYITERULETNKTTIPUSID
  ,C_MUFAJTIPUSID
  ,C_TANSZAKTIPUSID
) SELECT
   ocs.ID AS ID -- * int
  ,o.C_OSZTALYNAPLOLEIRASA AS C_OSZTALYNAPLOLEIRASA -- nvarchar(max)
  ,o.C_OSZTALYNAPLOMEGNYITASA AS C_OSZTALYNAPLOMEGNYITASA -- datetime
  ,o.C_OSZTALYNAPLOZARASA AS C_OSZTALYNAPLOZARASA -- datetime
  ,o.C_AGAZAT AS C_AGAZAT -- int
  ,o.C_RESZSZAKKEPESITES AS C_RESZSZAKKEPESITES -- int
  ,o.C_SZAKKEPESITES AS C_SZAKKEPESITES -- int
  ,o.C_SZAKMACSOPORT AS C_SZAKMACSOPORT -- int
  ,o.C_GIMNAZIUMIEVFOLYAMTIPUSID AS C_GIMNAZIUMIEVFOLYAMTIPUSID -- int
  ,o.C_KETTANNYELVU AS C_KETTANNYELVU -- * char(1)
  ,o.C_NEMZETISEGI AS C_NEMZETISEGI -- * char(1)
  ,o.C_NYELVIELOKESZITO AS C_NYELVIELOKESZITO -- * char(1)
  ,o.C_SPORT AS C_SPORT -- * char(1)
  ,o.C_AJTEHETTSEGGONDOZOPROGRAM AS C_AJTEHETTSEGGONDOZOPROGRAM -- * char(1)
  ,o.C_AJPROGRAM AS C_AJPROGRAM -- * char(1)
  ,o.C_VEGYESEVFOLYAMU AS C_VEGYESEVFOLYAMU -- * char(1)
  ,o.C_VEGYESSZAKKEPZESU AS C_VEGYESSZAKKEPZESU -- * char(1)
  ,o.C_SPECIALISJELLEMZO AS C_SPECIALISJELLEMZO -- nvarchar(4000)
  ,o.C_VEGYESEVFOLYAMUTANTERV AS C_VEGYESEVFOLYAMUTANTERV -- nvarchar(1000)
  ,o.C_OSZTALYPENZBANKSZAMLASZAMKED AS C_OSZTALYPENZBANKSZAMLASZAMKED -- nvarchar(1000)
  ,o.C_OSZTALYPENZBANKSZAMLASZAMA AS C_OSZTALYPENZBANKSZAMLASZAMA -- nvarchar(26)
  ,o.C_VPOSENGEDELYEZETT AS C_VPOSENGEDELYEZETT -- * char(1)
  ,o.C_OSZTALYFONOKID AS C_OSZTALYFONOKID -- int
  ,o.C_OFOHELYETTESID AS C_OFOHELYETTESID -- int
  ,o.C_TANTERVID AS C_TANTERVID -- int
  ,o.C_SZMKKEPVISELOHELYETTESID AS C_SZMKKEPVISELOHELYETTESID -- int
  ,o.C_SZMKKEPVISELOID AS C_SZMKKEPVISELOID -- int
  ,o.C_ALINTEZMENYID AS C_ALINTEZMENYID -- * int
  ,@kovTanevId AS C_ALTANEVID -- * int
  ,o.TOROLT AS TOROLT -- * char(1)
  ,0 AS SERIAL -- * int
  ,o.LASTCHANGED AS LASTCHANGED -- * datetime
  ,o.CREATED AS CREATED -- * datetime
  ,o.MODIFIER AS MODIFIER -- int
  ,o.CREATOR AS CREATOR -- int
  ,o.ID AS ELOZOTANEVIREKORDID -- int
  ,o.ID AS ELOZOTANEVIREKORDIDA -- int
  ,o.C_ARANYJANOSPROGRAMTIPUSID AS C_ARANYJANOSPROGRAMTIPUSID -- int
  ,o.C_JOGVISZONYTIPUSID AS C_JOGVISZONYTIPUSID -- int
  ,o.C_AGAZATUJSZKTTIPUSID AS C_AGAZATUJSZKTTIPUSID -- int
  ,o.C_SZAKMAIRANYTIPUSID AS C_SZAKMAIRANYTIPUSID -- int
  ,o.C_SZAKMATIPUSID AS C_SZAKMATIPUSID -- int
  ,o.C_SZAKIRANYNKTTIPUSID AS C_SZAKIRANYNKTTIPUSID -- int
  ,o.C_SZAKKEPESITESNKTTIPUSID AS C_SZAKKEPESITESNKTTIPUSID -- int
  ,o.C_TANULMANYITERULETNKTTIPUSID AS C_TANULMANYITERULETNKTTIPUSID -- int
  ,o.C_MUFAJTIPUSID AS C_MUFAJTIPUSID -- int
  ,o.C_TANSZAKTIPUSID AS C_TANSZAKTIPUSID -- int
FROM T_OSZTALY o
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ELOZOTANEVIREKORDID = o.ID
WHERE o.C_ALTANEVID = @aktTanevId
  AND o.TOROLT = 'F'
  AND NOT EXISTS (SELECT 1 FROM T_OSZTALY o2 WHERE o2.ID = ocs.ID AND o2.TOROLT = 'F' AND o2.C_ALTANEVID = @kovTanevId)


INSERT INTO T_CSOPORT (
   ID
  ,C_TIPUSA
  ,C_CSOPORTNAPLOLEIRAS
  ,C_CSOPORTNAPLOMEGNYITASA
  ,C_CSOPORTNAPLOZARASA
  ,C_CSOPORTVEZETOID
  ,C_OSZTALYBONTASID
  ,C_ALINTEZMENYID
  ,C_ALTANEVID
  ,TOROLT
  ,SERIAL
  ,LASTCHANGED
  ,CREATED
  ,MODIFIER
  ,CREATOR
  ,ELOZOTANEVIREKORDIDA
  ,ELOZOTANEVIREKORDID
  ,C_ISAUTOEGYENICSOPORT
) SELECT
   ocs.ID AS ID -- * int
  ,cs.C_TIPUSA AS C_TIPUSA -- int
  ,cs.C_CSOPORTNAPLOLEIRAS AS C_CSOPORTNAPLOLEIRAS -- nvarchar(max)
  ,cs.C_CSOPORTNAPLOMEGNYITASA AS C_CSOPORTNAPLOMEGNYITASA -- datetime
  ,cs.C_CSOPORTNAPLOZARASA AS C_CSOPORTNAPLOZARASA -- datetime
  ,cs.C_CSOPORTVEZETOID AS C_CSOPORTVEZETOID -- int
  ,cs.C_OSZTALYBONTASID AS C_OSZTALYBONTASID -- int
  ,cs.C_ALINTEZMENYID AS C_ALINTEZMENYID -- * int
  ,@kovTanevId AS C_ALTANEVID -- * int
  ,cs.TOROLT AS TOROLT -- * char(1)
  ,0 AS SERIAL -- * int
  ,cs.LASTCHANGED AS LASTCHANGED -- * datetime
  ,cs.CREATED AS CREATED -- * datetime
  ,cs.MODIFIER AS MODIFIER -- int
  ,cs.CREATOR AS CREATOR -- int
  ,cs.ID AS ELOZOTANEVIREKORDIDA -- int
  ,cs.ID AS ELOZOTANEVIREKORDID -- int
  ,cs.C_ISAUTOEGYENICSOPORT AS C_ISAUTOEGYENICSOPORT -- * char(1)
FROM T_CSOPORT cs
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ELOZOTANEVIREKORDID = cs.ID
WHERE cs.C_ALTANEVID = @aktTanevId
  AND cs.TOROLT = 'F'
  AND NOT EXISTS (SELECT 1 FROM T_CSOPORT cs2 WHERE cs2.ID = ocs.ID AND cs2.TOROLT = 'F' AND cs2.C_ALTANEVID = @kovTanevId)

UPDATE ocsKov SET
  ocsKov.ELOZOTANEVIREKORDID = ocsAkt.ID
FROM T_OSZTALYCSOPORT ocsKov
INNER JOIN T_OSZTALYCSOPORT ocsAkt ON ocsAkt.C_NEV = ocsKov.C_NEV
WHERE ocsKov.C_TANEVID = @kovTanevId
  AND ocsAkt.C_TANEVID = @aktTanevId
  AND ocsKov.TOROLT = 'F'
  AND ocsAkt.TOROLT = 'F'
  AND ocsKov.ELOZOTANEVIREKORDID IS NULL


UPDATE o
  SET o.ELOZOTANEVIREKORDID = ocs.ELOZOTANEVIREKORDID
FROM T_OSZTALY o
  INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = o.ID
WHERE o.ELOZOTANEVIREKORDID IS NULL
  AND o.C_ALTANEVID = @kovTanevId
  AND o.TOROLT = 'F'

UPDATE cs
  SET cs.ELOZOTANEVIREKORDID = ocs.ELOZOTANEVIREKORDID
FROM T_CSOPORT cs
  INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = cs.ID
WHERE cs.ELOZOTANEVIREKORDID IS NULL
  AND cs.C_ALTANEVID = @kovTanevId
  AND cs.TOROLT = 'F'


-- tanulócspoport, akiknek még nincs besorolása a köv tanévbe az adott osztálycsoportba, de akt tanévben volt.
INSERT INTO T_TANULOCSOPORT (
   C_BEJEGYZESIDOPONTJA
  ,C_BELEPESDATUM
  ,C_KILEPESDATUM
  ,C_BEFOGADOINTEZMENY
  ,C_MEGJEGYZES
  ,C_KILEPESROGZITESDATUM
  ,C_IMPORTALT
  ,C_INTEZMENYID
  ,C_TANEVID
  ,C_OSZTALYCSOPORTID
  ,C_TANULOID
  ,TOROLT
  ,SERIAL
  ,LASTCHANGED
  ,CREATED
  ,MODIFIER
  ,CREATOR
  ,ELOZOTANEVIREKORDID
  ,C_JOGVISZONYTIPUSID
) SELECT
   GETDATE() AS C_BEJEGYZESIDOPONTJA -- * datetime
  ,LEFT(@kovTanevNev, 4) + '0901' AS C_BELEPESDATUM -- datetime
  ,NULL AS C_KILEPESDATUM -- datetime
  ,tcs.C_BEFOGADOINTEZMENY AS C_BEFOGADOINTEZMENY -- nvarchar(255)
  ,tcs.C_MEGJEGYZES AS C_MEGJEGYZES -- nvarchar(255)
  ,tcs.C_KILEPESROGZITESDATUM AS C_KILEPESROGZITESDATUM -- datetime
  ,tcs.C_IMPORTALT AS C_IMPORTALT -- * char(1)
  ,tcs.C_INTEZMENYID AS C_INTEZMENYID -- * int
  ,@kovTanevId AS C_TANEVID -- * int
  ,ocs.ID AS C_OSZTALYCSOPORTID -- * int
  ,dk.ID AS C_TANULOID -- * int
  ,tcs.TOROLT AS TOROLT -- * char(1)
  ,0 AS SERIAL -- * int
  ,tcs.LASTCHANGED AS LASTCHANGED -- * datetime
  ,GETDATE() AS CREATED -- * datetime
  ,tcs.MODIFIER AS MODIFIER -- int
  ,0 AS CREATOR -- int
  ,tcs.ID AS ELOZOTANEVIREKORDID -- int
  ,tcs.C_JOGVISZONYTIPUSID AS C_JOGVISZONYTIPUSID -- int
FROM T_TANULOCSOPORT tcs
  INNER JOIN T_TANULO dk ON dk.ELOZOTANEVIREKORDID = tcs.C_TANULOID
  INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ELOZOTANEVIREKORDID = tcs.C_OSZTALYCSOPORTID
WHERE tcs.TOROLT = 'F'
  AND tcs.C_TANEVID = @aktTanevId
  AND tcs.C_BELEPESDATUM <= GETDATE() 
  AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
  AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT tcs2 WHERE tcs2.C_TANULOID = dk.ID AND tcs2.C_OSZTALYCSOPORTID = ocs.ID AND tcs2.TOROLT = 'F' AND tcs2.C_TANEVID = @kovTanevId)


-- Tanügyi adatok, ahol kell
INSERT INTO T_TANULOTANUGYIADATOK (
   C_BEIRASINAPLOSORSZAM
  ,C_BEJARO
  ,C_DIAKSPORTKOROS
  ,C_EGYEBORSZAGOSDONTO
  ,C_EGYUTTMUKODESES
  ,C_ELOZOINTEZMENY
  ,C_EVISMETLO
  ,C_ISKOLAIKERETEKKOZOTT
  ,C_JOGVISZONYATSZUNETELTETO
  ,C_JOGVISZONYVARHATOBEFEJEZESE
  ,C_MAGANTANULO
  ,C_MAGANTANULOSAGANAKOKAID
  ,C_MAGANTANULOSAGKEZDETE
  ,C_NYILVANTARTASKEZDETE
  ,C_OSZTV
  ,C_POLGARISZERZODESES
  ,C_SZAKMAIGYAKORLATON
  ,C_SZETVAGAZAT
  ,C_SZINTVIZSGA
  ,C_SZKTV
  ,C_TANDIJATFIZETO
  ,C_TANKOTELEZETT
  ,C_TANKOTELEZETTSEGVEGE
  ,C_TANULOEVFOLYAMTIPUSID
  ,C_TANULOSZERZODESES
  ,C_TECHNIKUSIEVFOLYAM
  ,C_TERITESIDIJATFIZETO
  ,C_VENDEG
  ,C_NAPLOSORSZAM
  ,C_TORZSLAPSZAM
  ,C_TANTERVID
  ,C_FELVETELTANEVEID
  ,C_TANULOCSOPORTID
  ,C_INTEZMENYID
  ,C_TANEVID
  ,TOROLT
  ,SERIAL
  ,LASTCHANGED
  ,CREATED
  ,MODIFIER
  ,CREATOR
  ,ELOZOTANEVIREKORDID
  ,C_HOZOTTIGAZOLATLANHIANYZAS
  ,C_HOZOTTIGAZOLATLANKESESPERCBE
  ,C_HOZOTTIGAZOLTHIANYZAS
  ,C_HOZOTTIGAZOLTKESESPERCBEN
  ,C_ISESL16EVESUTANBELEPETT
  ,C_BIZONYITVANYSZAMA
  ,C_TANTERVIJELLEMZOID
  ,C_ISDUALISKEPZESBEN
  ,C_ISMASODIKTOBBSZAKMA
  ,C_AGAZATUJSZKTTIPUSID
  ,C_SZAKMATIPUSID
  ,C_SZAKMAIRANYTIPUSID
  ,C_AGAZATIALAPVIZSGAEREDMENYE
  ,C_DUALISKEPZOHELYADOSZAMA
  ,C_DUALISKEPZOHELYNEVE
  ,C_ISOKLEVELESTECHNIKUSKIMENET
  ,C_ISSZAKKEPZESIMUNKASZERZODESS
  ,C_ISBESZAMITASOS
) SELECT
   tta.C_BEIRASINAPLOSORSZAM AS C_BEIRASINAPLOSORSZAM -- nvarchar(50)
  ,tta.C_BEJARO AS C_BEJARO -- * char(1)
  ,tta.C_DIAKSPORTKOROS AS C_DIAKSPORTKOROS -- * char(1)
  ,tta.C_EGYEBORSZAGOSDONTO AS C_EGYEBORSZAGOSDONTO -- * char(1)
  ,tta.C_EGYUTTMUKODESES AS C_EGYUTTMUKODESES -- * char(1)
  ,tta.C_ELOZOINTEZMENY AS C_ELOZOINTEZMENY -- nvarchar(255)
  ,tta.C_EVISMETLO AS C_EVISMETLO -- * char(1)
  ,tta.C_ISKOLAIKERETEKKOZOTT AS C_ISKOLAIKERETEKKOZOTT -- * char(1)
  ,tta.C_JOGVISZONYATSZUNETELTETO AS C_JOGVISZONYATSZUNETELTETO -- * char(1)
  ,tta.C_JOGVISZONYVARHATOBEFEJEZESE AS C_JOGVISZONYVARHATOBEFEJEZESE -- datetime
  ,tta.C_MAGANTANULO AS C_MAGANTANULO -- * char(1)
  ,tta.C_MAGANTANULOSAGANAKOKAID AS C_MAGANTANULOSAGANAKOKAID -- int
  ,tta.C_MAGANTANULOSAGKEZDETE AS C_MAGANTANULOSAGKEZDETE -- datetime
  ,tta.C_NYILVANTARTASKEZDETE AS C_NYILVANTARTASKEZDETE -- * datetime
  ,tta.C_OSZTV AS C_OSZTV -- * char(1)
  ,tta.C_POLGARISZERZODESES AS C_POLGARISZERZODESES -- * char(1)
  ,tta.C_SZAKMAIGYAKORLATON AS C_SZAKMAIGYAKORLATON -- * char(1)
  ,tta.C_SZETVAGAZAT AS C_SZETVAGAZAT -- * char(1)
  ,tta.C_SZINTVIZSGA AS C_SZINTVIZSGA -- numeric
  ,tta.C_SZKTV AS C_SZKTV -- * char(1)
  ,tta.C_TANDIJATFIZETO AS C_TANDIJATFIZETO -- * char(1)
  ,tta.C_TANKOTELEZETT AS C_TANKOTELEZETT -- * char(1)
  ,tta.C_TANKOTELEZETTSEGVEGE AS C_TANKOTELEZETTSEGVEGE -- datetime
  ,tta.C_TANULOEVFOLYAMTIPUSID AS C_TANULOEVFOLYAMTIPUSID -- int
  ,tta.C_TANULOSZERZODESES AS C_TANULOSZERZODESES -- * char(1)
  ,tta.C_TECHNIKUSIEVFOLYAM AS C_TECHNIKUSIEVFOLYAM -- * char(1)
  ,tta.C_TERITESIDIJATFIZETO AS C_TERITESIDIJATFIZETO -- * char(1)
  ,tta.C_VENDEG AS C_VENDEG -- * char(1)
  ,tta.C_NAPLOSORSZAM AS C_NAPLOSORSZAM -- int
  ,tta.C_TORZSLAPSZAM AS C_TORZSLAPSZAM -- nvarchar(500)
  ,COALESCE(trv.ID, trvDef.ID, (SELECT TOP 1 ID FROM T_TANTERV t WHERE tcs.C_TANEVID = @kovTanevId)) AS C_TANTERVID -- * int
  ,tta.C_FELVETELTANEVEID AS C_FELVETELTANEVEID -- * int
  ,tcs.ID AS C_TANULOCSOPORTID -- * int
  ,tta.C_INTEZMENYID AS C_INTEZMENYID -- * int
  ,@kovTanevId AS C_TANEVID -- * int
  ,tta.TOROLT AS TOROLT -- * char(1)
  ,0 AS SERIAL -- * int
  ,GETDATE() AS LASTCHANGED -- * datetime
  ,GETDATE() AS CREATED -- * datetime
  ,0 AS MODIFIER -- int
  ,0 AS CREATOR -- int
  ,tta.ID AS ELOZOTANEVIREKORDID -- int
  ,tta.C_HOZOTTIGAZOLATLANHIANYZAS AS C_HOZOTTIGAZOLATLANHIANYZAS -- * int
  ,tta.C_HOZOTTIGAZOLATLANKESESPERCBE AS C_HOZOTTIGAZOLATLANKESESPERCBE -- * int
  ,tta.C_HOZOTTIGAZOLTHIANYZAS AS C_HOZOTTIGAZOLTHIANYZAS -- * int
  ,tta.C_HOZOTTIGAZOLTKESESPERCBEN AS C_HOZOTTIGAZOLTKESESPERCBEN -- * int
  ,tta.C_ISESL16EVESUTANBELEPETT AS C_ISESL16EVESUTANBELEPETT -- * char(1)
  ,tta.C_BIZONYITVANYSZAMA AS C_BIZONYITVANYSZAMA -- nvarchar(50)
  ,tta.C_TANTERVIJELLEMZOID AS C_TANTERVIJELLEMZOID -- int
  ,tta.C_ISDUALISKEPZESBEN AS C_ISDUALISKEPZESBEN -- * char(1)
  ,tta.C_ISMASODIKTOBBSZAKMA AS C_ISMASODIKTOBBSZAKMA -- * char(1)
  ,tta.C_AGAZATUJSZKTTIPUSID AS C_AGAZATUJSZKTTIPUSID -- int
  ,tta.C_SZAKMATIPUSID AS C_SZAKMATIPUSID -- int
  ,tta.C_SZAKMAIRANYTIPUSID AS C_SZAKMAIRANYTIPUSID -- int
  ,tta.C_AGAZATIALAPVIZSGAEREDMENYE AS C_AGAZATIALAPVIZSGAEREDMENYE -- numeric
  ,tta.C_DUALISKEPZOHELYADOSZAMA AS C_DUALISKEPZOHELYADOSZAMA -- nvarchar(20)
  ,tta.C_DUALISKEPZOHELYNEVE AS C_DUALISKEPZOHELYNEVE -- nvarchar(255)
  ,tta.C_ISOKLEVELESTECHNIKUSKIMENET AS C_ISOKLEVELESTECHNIKUSKIMENET -- * char(1)
  ,tta.C_ISSZAKKEPZESIMUNKASZERZODESS AS C_ISSZAKKEPZESIMUNKASZERZODESS -- * char(1)
  ,tta.C_ISBESZAMITASOS AS C_ISBESZAMITASOS -- * char(1)
FROM T_TANULOTANUGYIADATOK tta
  INNER JOIN T_TANULOCSOPORT tcs ON tcs.ELOZOTANEVIREKORDID = tta.C_TANULOCSOPORTID
  LEFT JOIN T_TANTERV trv ON trv.ELOZOTANEVIREKORDID = tta.C_TANTERVID
  LEFT JOIN T_TANTERV trvDef ON trvDef.C_TANEVID = tcs.C_TANEVID AND trvDef.C_VEDETT = 'T'
WHERE tta.C_TANEVID = @aktTanevId
  AND tta.TOROLT = 'F'
  AND NOT EXISTS (SELECT 1 FROM T_TANULOTANUGYIADATOK tta2 WHERE tta2.C_TANULOCSOPORTID = tcs.ID AND tta2.C_TANEVID = @kovTanevId AND tta2.TOROLT = 'F')


UPDATE T_TANULOCSOPORT SET 
   C_KILEPESDATUM = LEFT(@kovTanevNev, 4) + '0831'
  ,C_KILEPESROGZITESDATUM = GETDATE()
  ,MODIFIER = 0
  ,LASTCHANGED = GETDATE()
WHERE C_TANEVID = @aktTanevId AND C_KILEPESDATUM IS NULL
  AND TOROLT = 'F'
GO



