130 lines
5.8 KiB
Transact-SQL
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
|