﻿
--1. lépés: a hibás tanévû záradékokkal együtt létrejött következõ tanévû záradékok törlése
update z1
set TOROLT = 'T', MODIFIER = 0, LASTCHANGED = GETDATE(), SERIAL += 1
--select *
from       T_ZARADEK       z1
inner join T_TANULOCSOPORT tcs1 on tcs1.ID = z1.C_TANULOCSOPORTID and tcs1.TOROLT = 'F'
inner join T_TANULO        t1   on t1.ID   = tcs1.C_TANULOID      and t1.TOROLT   = 'F'
--következõ tanévID-s, de idei tanévIS-s tanulócsoporthoz tartozó Záradékok kapcsolása
inner join (select z2.ID as ZarID, z2.C_TANEVID as ZarTanevID, z2.C_SZOVEG as ZarSzoveg, z2.CREATED as ZarCr, tcs2.ID TcsID, tcs2.C_TANEVID as TcsTanevID, t2.ID as TanuloID
            from       T_ZARADEK       z2
			inner join T_TANEV         te2  on te2.ID  = z2.C_TANEVID         and te2.TOROLT  = 'F'  and te2.C_KOVETKEZO = 'T'
            inner join T_TANULOCSOPORT tcs2 on tcs2.ID = z2.C_TANULOCSOPORTID and tcs2.TOROLT = 'F'
            inner join T_TANULO        t2   on t2.ID   = tcs2.C_TANULOID      and t2.TOROLT   = 'F'
            where z2.TOROLT = 'F' and tcs2.C_TANEVID <> z2.C_TANEVID
			) x on  t1.ELOZOTANEVIREKORDID = x.TanuloID
			    and z1.C_SZOVEG = x.ZarSzoveg
			    and z1.Created between DATEADD(s, -3, x.ZarCr) and DATEADD(s, +3, x.ZarCr)

--2. lépés: a hibás tanévû záradékok tanévének javítása, ha NINCS a létrehozás után új záradék a tanulónak
update z2 
set C_TANEVID = tcs2.C_TANEVID, MODIFIER = 0, LASTCHANGED = GETDATE(), SERIAL += 1
--select z2.ID as ZarID, z2.C_TANEVID as ZarTanevID, z2.C_SZOVEG as ZarSzoveg, z2.CREATED as ZarCr, tcs2.ID TcsID, tcs2.C_TANEVID as TcsTanevID--, t2.ID as TanuloID
from       T_ZARADEK       z2
inner join T_TANEV         te2  on te2.ID  = z2.C_TANEVID         and te2.TOROLT  = 'F'  and te2.C_KOVETKEZO = 'T'
inner join T_TANULOCSOPORT tcs2 on tcs2.ID = z2.C_TANULOCSOPORTID and tcs2.TOROLT = 'F'
--inner join T_TANULO        t2   on t2.ID   = tcs2.C_TANULOID      and t2.TOROLT   = 'F'
where z2.TOROLT = 'F' and tcs2.C_TANEVID <> z2.C_TANEVID
and not exists (select 1
                from T_ZARADEK z3
				where z3.C_TANULOCSOPORTID = z2.C_TANULOCSOPORTID and z3.CREATED > z2.CREATED
			   ) 

--3. lépés: a hibás tanévû záradékokból megmaradak törlése
update z2 
set TOROLT = 'T', MODIFIER = 0, LASTCHANGED = GETDATE(), SERIAL += 1
--select z2.ID as ZarID, z2.C_TANEVID as ZarTanevID, z2.C_SZOVEG as ZarSzoveg, z2.CREATED as ZarCr, tcs2.ID TcsID, tcs2.C_TANEVID as TcsTanevID--, t2.ID as TanuloID
from       T_ZARADEK       z2
inner join T_TANEV         te2  on te2.ID  = z2.C_TANEVID         and te2.TOROLT  = 'F'  and te2.C_KOVETKEZO = 'T'
inner join T_TANULOCSOPORT tcs2 on tcs2.ID = z2.C_TANULOCSOPORTID and tcs2.TOROLT = 'F'
--inner join T_TANULO        t2   on t2.ID   = tcs2.C_TANULOID      and t2.TOROLT   = 'F'
where z2.TOROLT = 'F' and tcs2.C_TANEVID <> z2.C_TANEVID

