﻿--TANÉV RENDJE JAVÍTÁS
UPDATE tr SET C_HETIREND = 1554
FROM T_TANEVRENDJE tr
WHERE tr.C_HETIREND <> 1554
AND tr.C_EGYEDINAP = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
AND tr.C_DATUM IN 
('20200901','20201023','20201026','20201027','20201028','20201029','20201030','20201221'
,'20201222','20201223','20201228','20201229','20201230','20201231','20201224','20201225'
,'20210101','20210122','20210315','20210401','20210406','20210402','20210405','20210524'
,'20210615','20201101','20201226','20210404','20210430','20210501'
)

DECLARE crsr CURSOR LOCAL FOR
SELECT i.ID, tv.ID 
FROM T_INTEZMENY i
  INNER JOIN T_TANEV tv ON i.ID = tv.C_INTEZMENYID AND tv.C_NEV = '2020/2021'
WHERE i.TOROLT = 'F' AND tv.TOROLT = 'F'

DECLARE @intezmenyid int, @tanevid int

OPEN crsr
FETCH NEXT FROM crsr INTO @intezmenyid, @tanevid

WHILE @@FETCH_STATUS = 0 BEGIN
  EXEC dbo.sp_GenerateNaptariNapok @intezmenyid, @tanevid
  EXEC dbo.uspGenerateOrarend @intezmenyid, @tanevid

FETCH NEXT FROM crsr INTO @intezmenyid, @tanevid
END

CLOSE crsr
DEALLOCATE crsr
GO



-- DKT_DIC Töltése köv tanévre is.
DECLARE @Data TABLE (
   Tabla nvarchar(200)
  ,Id int
  ,Nev nvarchar(1000)
  ,AliasNev nvarchar(1000)
)

DECLARE @sql nvarchar(max)
DECLARE @Tabla nvarchar(200), @Id int, @Nev nvarchar(1000), @AliasNev nvarchar(1000)

INSERT INTO @Data (Tabla, Id, Nev, AliasNev) VALUES
   ('T_DKT_DIC_AVATARTIPUS', 0, 'Alap', 'Alap')
  ,('T_DKT_DIC_AVATARTIPUS', 1, 'Saját kép', 'SajatKep')
  ,('T_DKT_DIC_CSAKTANARIRHATUZENOFALRATIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_CSAKTANARIRHATUZENOFALRATIPUS', 1, 'Igen', 'Igen')
  ,('T_DKT_DIC_FELADATERTEKELESTIPUS', 0, 'Osztályzat', 'Osztalyzat')
  ,('T_DKT_DIC_FELADATERTEKELESTIPUS', 1, 'Szöveges értékelés', 'SzovegesErtekeles')
  ,('T_DKT_DIC_FELADATERTEKELESTIPUS', 2, 'Százalékos értékelés', 'SzazalekosErtekeles')
  ,('T_DKT_DIC_FELADATERTEKELESTIPUS', 3, 'Csak elfogadás jelölés', 'CsakElfogadasJeloles')
  ,('T_DKT_DIC_FELADATERTEKELESTIPUS', 4, 'Nincs értékelés', 'NincsErtekeles')
  ,('T_DKT_DIC_FELADATERTEKELESTIPUS', 5, 'Pontszám', 'Pontszam')
  ,('T_DKT_DIC_FELADATTIPUS', 0, 'Házi feladat', 'HaziFeladat')
  ,('T_DKT_DIC_FELADATTIPUS', 1, 'Órai feladat', 'OraiFeladat')
  ,('T_DKT_DIC_HFBEADANDOTIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_HFBEADANDOTIPUS', 1, 'Igen', 'Igen')  
  ,('T_DKT_DIC_HFCSATOLASENGEDELYEZESTIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_HFCSATOLASENGEDELYEZESTIPUS', 1, 'Igen', 'Igen') 
  ,('T_DKT_DIC_HFELOREBEIRTFELADATMEGJELENITESE', 0, 'Azonnal látható', 'AzonnalLathato')
  ,('T_DKT_DIC_HFELOREBEIRTFELADATMEGJELENITESE', 1, 'A tanóra napjától látható', 'ATanoraNapjatolLathato')
  ,('T_DKT_DIC_HFELOREBEIRTFELADATMEGJELENITESE', 2, 'A naplózás után látható', 'ANaplozasUtanLathato')  
  ,('T_DKT_DIC_HFUZENOFALENGEDELYEZESTIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_HFUZENOFALENGEDELYEZESTIPUS', 1, 'Igen', 'Igen')  
  ,('T_DKT_DIC_OFBEADANDOTIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_OFBEADANDOTIPUS', 1, 'Igen', 'Igen')
  ,('T_DKT_DIC_OFCSATOLASENGEDELYEZESTIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_OFCSATOLASENGEDELYEZESTIPUS', 1, 'Igen', 'Igen')
  ,('T_DKT_DIC_OFEGYEDIERTEKELESTIPUS', 0, 'Pontszám', 'Pontszam')
  ,('T_DKT_DIC_OFEGYEDIERTEKELESTIPUS', 1, 'Osztályzat', 'Osztalyzat')
  ,('T_DKT_DIC_OFEGYEDIERTEKELESTIPUS', 2, 'Szöveges értékelés', 'SzovegesErtekeles')
  ,('T_DKT_DIC_OFEGYEDIERTEKELESTIPUS', 3, 'Százalékos értékelés', 'SzazalekosErtekeles')
  ,('T_DKT_DIC_OFEGYEDIERTEKELESTIPUS', 4, 'Csak elfogadás jelölés', 'CsakElfogadasJeloles')
  ,('T_DKT_DIC_OFEGYEDIERTEKELESTIPUS', 5, 'Nincs értékelés', 'NincsErtekeles')
  ,('T_DKT_DIC_OFELOREBEIRTFELADATMEGJELENITESE', 0, 'Azonnal látható', 'AzonnalLathato')
  ,('T_DKT_DIC_OFELOREBEIRTFELADATMEGJELENITESE', 1, 'A tanóra napjától látható', 'ATanoraNapjatolLathato')
  ,('T_DKT_DIC_OFELOREBEIRTFELADATMEGJELENITESE', 2, 'A naplózás után látható', 'ANaplozasUtanLathato')
  ,('T_DKT_DIC_OFUZENOFALENGEDELYEZESTIPUS', 0, 'Nem', 'Nem')
  ,('T_DKT_DIC_OFUZENOFALENGEDELYEZESTIPUS', 1, 'Igen', 'Igen')

DECLARE DicCursor CURSOR LOCAL FOR
SELECT Tabla, Id, Nev, AliasNev 
FROM @Data

OPEN DicCursor
FETCH NEXT FROM DicCursor INTO @Tabla, @Id, @Nev, @AliasNev

WHILE @@FETCH_STATUS = 0 BEGIN
  
  SET @sql = N'

    SET IDENTITY_INSERT ' + @Tabla + N' ON;
      INSERT INTO ' + @Tabla + N' (ID, C_NEV, C_ALIASNEV, C_INTEZMENYID, C_TANEVID, CREATED, LASTCHANGED, CREATOR)
      SELECT @Id, @Nev, @AliasNev, i.ID, tv.ID, GETDATE(), GETDATE(), 0
      FROM T_TANEV tv
      INNER JOIN T_INTEZMENY i ON i.ID = tv.C_INTEZMENYID
      WHERE tv.TOROLT = ''F'' AND i.TOROLT = ''F'' 
        AND NOT EXISTS (SELECT 1 FROM ' + @Tabla + N' x WHERE x.ID = @Id AND x.C_TANEVID = tv.ID)
    SET IDENTITY_INSERT ' + @Tabla + N' OFF;


    UPDATE x SET 
      C_NEV = @Nev,
      C_ALIASNEV = @AliasNev
    FROM ' + @Tabla + N' x
    WHERE x.ID = @Id
      AND C_ALIASNEV <> @AliasNev;

  '
  
  EXEC sp_executesql @sql, N'
     @Id int
    ,@Nev nvarchar(1000)
    ,@AliasNev nvarchar(1000)'
    ,@Id = @Id
    ,@Nev = @Nev
    ,@AliasNev = @AliasNev

  FETCH NEXT FROM DicCursor INTO @Tabla, @Id, @Nev, @AliasNev
END

CLOSE DicCursor
DEALLOCATE DicCursor
GO


-- Mondatbanktipus előzőtanévirekordid javítás
UPDATE mbt set
  ELOZOTANEVIREKORDID = mbt.ID,
  ELOZOTANEVIREKORDIDA = mbt.ID
FROM T_ERTMONDATBANKTIPUS mbt
INNER JOIN T_TANEV tv ON tv.ID = mbt.C_ALTANEVID AND tv.C_NEV = '2020/2021'
WHERE mbt.ELOZOTANEVIREKORDID IS NULL

UPDATE mbt set
  ELOZOTANEVIREKORDID = mbt.ID
FROM T_DICTIONARYITEMBASE mbt
INNER JOIN T_TANEV tv ON tv.ID = mbt.C_TANEVID AND tv.C_NEV = '2020/2021'
WHERE C_TYPE = 'ERTMONDATBANKTIPUS'
  AND mbt.ELOZOTANEVIREKORDID IS NULL
GO

