kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20200830173033_DB_2724/DB_2724.sql
2024-03-13 00:33:46 +01:00

130 lines
5.8 KiB
Transact-SQL

--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