﻿-- Összes szervezet (és parent szervezet) followup-ja
declare @szerv cursor
declare @IntezmenyId int
declare @TanevId int
declare @KovTanevId int
declare @SzervezetId int

set @szerv = cursor static for
  select sz.ID, sz.C_INTEZMENYID, sz.C_TANEVID, kov.ID
  from T_SZERVEZET sz
  inner join T_TANEV t on sz.C_TANEVID = t.ID
  inner join T_TANEV kov on kov.C_INTEZMENYID = t.C_INTEZMENYID and kov.C_SORSZAM = t.C_SORSZAM + 2 and kov.TOROLT = 'F' and kov.C_KOVETKEZO = 'T'
  inner join T_INTEZMENY i on i.ID = sz.C_INTEZMENYID
  where i.TOROLT = 'F'
  and i.C_ISARCHIV = 'F'
  and t.TOROLT = 'F'
  and (t.C_AKTIV = 'T' or t.C_NEV = '2021/2022')

open @szerv
fetch next from @szerv into @SzervezetId, @IntezmenyId, @TanevId, @KovTanevId
while(@@fetch_status = 0)
  begin

  exec dbo.uspFollowUpSzervezet @IntezmenyId, @TanevId, @KovTanevId, @SzervezetId

  fetch next from @szerv into @SzervezetId, @IntezmenyId, @TanevId, @KovTanevId

  end
close @szerv
go


-- Hibásan léptetett munkaügyiadatok javítása
update akt
set akt.C_SZERVEZETID = sz.ID,
    akt.SERIAL += 1,
    akt.LASTCHANGED = getdate(),
    akt.MODIFIER = 0
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
from T_MUNKAUGYIADATOK akt
inner join T_MUNKAUGYIADATOK elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
where akt.TOROLT = 'F'
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
go


-- Hibásan léptetett csoportok javítása
update akt
set akt.C_SZERVEZETID = sz.ID,
    akt.SERIAL += 1,
    akt.LASTCHANGED = getdate(),
    akt.MODIFIER = 0
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
from T_CSOPORT akt
inner join T_CSOPORT elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
where akt.TOROLT = 'F'
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
go


-- Hibásan léptetett tantárgyak javítása
update akt
set akt.C_SZERVEZETID = sz.ID,
    akt.SERIAL += 1,
    akt.LASTCHANGED = getdate(),
    akt.MODIFIER = 0
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
from T_TANTARGY akt
inner join T_TANTARGY elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
where akt.TOROLT = 'F'
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
go


-- Hibásan léptetett termek javítása
update akt
set akt.C_SZERVEZETID = sz.ID,
    akt.SERIAL += 1,
    akt.LASTCHANGED = getdate(),
    akt.MODIFIER = 0
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
from T_TEREM akt
inner join T_TEREM elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
where akt.TOROLT = 'F'
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)
go


-- Hibásan léptetett szakmunka szerződések javítása
update akt
set akt.C_SZERVEZETID = sz.ID,
    akt.SERIAL += 1,
    akt.LASTCHANGED = getdate(),
    akt.MODIFIER = 0
--select akt.ID, akt.ELOZOTANEVIREKORDID, akt.C_SZERVEZETID, sz.ID
from T_SZAKMUNKASZERZODES akt
inner join T_SZAKMUNKASZERZODES elo on elo.ID = akt.ELOZOTANEVIREKORDID and elo.TOROLT = 'F'
left join T_SZERVEZET sz on sz.ELOZOTANEVIREKORDID = elo.C_SZERVEZETID and sz.TOROLT = 'F'
where akt.TOROLT = 'F'
and coalesce(akt.C_SZERVEZETID, sz.ID, 0) <> coalesce(sz.ID, akt.C_SZERVEZETID, 0)