﻿--Az alábbi módosítások szükségesek a 2020/2021-es tanév Tanév rendjében:

--Kerüljön be 2020.11.01-re egy Munkaszüneti nap
--Kerüljön be 2020.12.26-ra egy Munkaszüneti nap
--Kerüljön be 2021.05.01-re egy Munkaszünet nap
--Kerüljön be 2021.04.30-ra egy "Utolsó tanítási nap a végzős évfolyamokon középfokú iskolákban" elem
--Kerüljön be 2021.04.04-re egy Munkaszüneti nap (ez kimaradt Heni leírásából is)

--Az alábbi dátumokon az Ünnepnap típus legyen lecserélve Munkaszüneti napra

--2020.12.25
--2021.01.01
--2021.04.02
--2021.04.05
--2021.05.24



UPDATE tr SET 
   C_NAPTIPUSA = 1386
  ,LASTCHANGED = GETDATE()
  ,MODIFIER = 0
  ,SERIAL += 1
FROM T_TANEVRENDJE tr
  INNER JOIN T_TANEV tv ON tv.ID = tr.C_TANEVID AND tv.C_NEV = '2020/2021'
WHERE tr.C_DATUM IN (
    '20201225','20210101','20210402','20210405', '20210524')
  AND tr.TOROLT = 'F'
  AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
GO

/* Töröljük az esetlegesen általuk felvett tanév rendje eseményeket, azokra a napokra, de csak a mindenkire vonatkozókat*/
UPDATE tr SET 
   TOROLT = 'T'
  ,LASTCHANGED = GETDATE()
  ,MODIFIER = 0
  ,SERIAL += 1
FROM T_TANEVRENDJE tr
  INNER JOIN T_TANEV tv ON tv.ID = tr.C_TANEVID AND tv.C_NEV = '2020/2021'
WHERE tr.C_DATUM IN (
    '20201101','20201226','20210501','20210430', '20210404')
  AND tr.TOROLT = 'F'
  AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'

SET DATEFIRST 1;

DECLARE 
   @intezmenyId int
  ,@tanevId int

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

OPEN TanevKurzor
FETCH NEXT FROM TanevKurzor
INTO @intezmenyId, @tanevId

WHILE @@FETCH_STATUS = 0 BEGIN

	IF NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE WHERE C_DATUM = '20201101' AND C_TANEVID = @tanevId AND CREATOR = 0 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T') BEGIN
	  INSERT  dbo.T_TANEVRENDJE (
		  C_AKTIV, C_DATUM, C_HETIREND, C_HETNAPJA, C_MEGJEGYZES, C_NAPTIPUSA, C_ORARENDINAP, C_OSSZESCSOPORTRAVONATKOZIK, C_CSENGETESIRENDID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, LASTCHANGED, CREATED, MODIFIER, CREATOR) 
    VALUES ('T', '20201101', 1554, dbo.fnGetHetNapja('20201101'), N'', 1386, 'F', 'T', NULL, @intezmenyId, @tanevId, 'F', 0, GETDATE(), GETDATE(), NULL, 0)
	END
	IF NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE WHERE C_DATUM = '20201226' AND C_TANEVID = @tanevId AND CREATOR = 0  AND C_OSSZESCSOPORTRAVONATKOZIK = 'T') BEGIN
	  INSERT  dbo.T_TANEVRENDJE (
		  C_AKTIV, C_DATUM, C_HETIREND, C_HETNAPJA, C_MEGJEGYZES, C_NAPTIPUSA, C_ORARENDINAP, C_OSSZESCSOPORTRAVONATKOZIK, C_CSENGETESIRENDID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, LASTCHANGED, CREATED, MODIFIER, CREATOR) 
    VALUES ('T', '20201226', 1554, dbo.fnGetHetNapja('20201226'), N'', 1386, 'F', 'T', NULL, @intezmenyId, @tanevId, 'F', 0, GETDATE(), GETDATE(), NULL, 0)
	END
	IF NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE WHERE C_DATUM = '20210501' AND C_TANEVID = @tanevId AND CREATOR = 0  AND C_OSSZESCSOPORTRAVONATKOZIK = 'T') BEGIN
	  INSERT  dbo.T_TANEVRENDJE (
		  C_AKTIV, C_DATUM, C_HETIREND, C_HETNAPJA, C_MEGJEGYZES, C_NAPTIPUSA, C_ORARENDINAP, C_OSSZESCSOPORTRAVONATKOZIK, C_CSENGETESIRENDID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, LASTCHANGED, CREATED, MODIFIER, CREATOR) 
    VALUES ('T', '20210501', 1554, dbo.fnGetHetNapja('20210501'), N'', 1386, 'F', 'T', NULL, @intezmenyId, @tanevId, 'F', 0, GETDATE(), GETDATE(), NULL, 0)
	END
	IF NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE WHERE C_DATUM = '20210404' AND C_TANEVID = @tanevId AND CREATOR = 0  AND C_OSSZESCSOPORTRAVONATKOZIK = 'T') BEGIN
	  INSERT  dbo.T_TANEVRENDJE (
		  C_AKTIV, C_DATUM, C_HETIREND, C_HETNAPJA, C_MEGJEGYZES, C_NAPTIPUSA, C_ORARENDINAP, C_OSSZESCSOPORTRAVONATKOZIK, C_CSENGETESIRENDID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, LASTCHANGED, CREATED, MODIFIER, CREATOR) 
    VALUES ('T', '20210404', 1554, dbo.fnGetHetNapja('20210404'), N'', 1386, 'F', 'T', NULL, @intezmenyId, @tanevId, 'F', 0, GETDATE(), GETDATE(), NULL, 0)
	END
	IF NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE WHERE C_DATUM = '20210430' AND C_TANEVID = @tanevId AND CREATOR = 0  AND C_OSSZESCSOPORTRAVONATKOZIK = 'T') BEGIN
	  INSERT  dbo.T_TANEVRENDJE (
		  C_AKTIV, C_DATUM, C_HETIREND, C_HETNAPJA, C_MEGJEGYZES, C_NAPTIPUSA, C_ORARENDINAP, C_OSSZESCSOPORTRAVONATKOZIK, C_CSENGETESIRENDID, C_INTEZMENYID, C_TANEVID, TOROLT, SERIAL, LASTCHANGED, CREATED, MODIFIER, CREATOR) 
    VALUES ('T', '20210430', 1554, dbo.fnGetHetNapja('20210430'), N'', 1402, 'T', 'T', NULL, @intezmenyId, @tanevId, 'F', 0, GETDATE(), GETDATE(), NULL, 0)
	END
  FETCH NEXT FROM TanevKurzor
  INTO @intezmenyId, @tanevId
END


CLOSE TanevKurzor
DEALLOCATE TanevKurzor
GO

UPDATE tr SET C_HETIREND = nh.C_HETIREND
FROM T_TANEVRENDJE tr
  INNER JOIN T_NAPTARIHET nh ON tr.C_DATUM between nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = tr.C_TANEVID
WHERE nh.TOROLT = 'F'
  AND tr.C_HETIREND <> nh.C_HETIREND
  AND tr.C_EGYEDINAP = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
  AND tr.C_DATUM IN (
     '20201101','20201226','20210501','20210430', '20210404'
    ,'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')

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
