124 lines
No EOL
3.5 KiB
Transact-SQL
124 lines
No EOL
3.5 KiB
Transact-SQL
SET NOCOUNT ON;
|
|
DECLARE @Now DATETIME = GETDATE();
|
|
|
|
SELECT
|
|
Te.Id AS C_TANEVID
|
|
,Te.C_Intezmenyid AS C_INTEZMENYID
|
|
INTO
|
|
#T_Affected
|
|
FROM
|
|
T_Naptipus AS Nt
|
|
INNER JOIN T_Tanev AS Te ON (Te.Torolt = 'F' AND Te.Id = Nt.C_Altanevid)
|
|
INNER JOIN T_Tanevrendje AS Tr ON (Te.Torolt = 'F' AND Tr.C_Tanevid = Nt.C_Altanevid)
|
|
WHERE
|
|
Nt.Torolt = 'F'
|
|
AND Nt.Id = 1385
|
|
AND Te.C_Aktiv = 'T'
|
|
AND Te.Created > '2021-01-01';
|
|
|
|
IF EXISTS(SELECT 1 FROM #T_Affected)
|
|
BEGIN
|
|
UPDATE Tr
|
|
SET
|
|
C_Hetnapja = 1409
|
|
,Modifier = NULL
|
|
,Lastchanged = @Now
|
|
,Serial += 1
|
|
FROM
|
|
T_Tanevrendje AS Tr
|
|
INNER JOIN #T_Affected AS aff ON (Tr.C_Tanevid = aff.C_Tanevid AND Tr.C_Intezmenyid = aff.C_Intezmenyid)
|
|
WHERE
|
|
tr.Torolt = 'F'
|
|
AND tr.C_Naptipusa = 1394;
|
|
|
|
UPDATE nt
|
|
SET
|
|
C_Istanorai = 'T'
|
|
,C_Issorszamozando = 'T'
|
|
,C_Istanorankivuli = 'T'
|
|
,C_Islenemkotottmunkaido = 'T'
|
|
,Modifier = NULL
|
|
,Lastchanged = @Now
|
|
,Serial += 1
|
|
FROM
|
|
T_Naptipus AS nt
|
|
INNER JOIN #T_Affected AS aff ON (nt.C_Altanevid = aff.C_Tanevid AND nt.C_Alintezmenyid = aff.C_Intezmenyid)
|
|
WHERE
|
|
nt.Torolt = 'F'
|
|
AND nt.Id IN (
|
|
1385, --Tanítási nap
|
|
1384, --Na
|
|
1389, --Egész napos kirándulás
|
|
1393, --Rövidített órákat tartalmazó tanítási nap
|
|
1394, --Elsõ tanítási nap
|
|
1395, --Utolsó tanítási nap
|
|
1400, --Elsõ félév vége
|
|
1401, --Vizsganap
|
|
1402, --Utolsó tanítási nap a végzõs évfolyamokon
|
|
1403, --I. negyedév vége
|
|
1404, --III. negyedév vége
|
|
1406, --Rendkívüli tanítási nap
|
|
1649, --Nyílt nap
|
|
7600, --Utolsó tanítási nap a végzõs évfolyamokon (rendészeti iskolákban)
|
|
7601, --Utolsó tanítási nap a végzõs évfolyamokon (honvédelmi iskolákban)
|
|
7602, --Utolsó tanítási nap a végzõs évfolyamokon (keresztféléves képzésben)
|
|
7603, --Utolsó tanítási nap a végzõs évfolyamokon (részszakképesítéses oktatásban)
|
|
7604, --Elsõ tanítási nap (keresztféléves képzésben)
|
|
7605 --Elsõ félév vége (keresztféléves képzésben)
|
|
);
|
|
|
|
UPDATE nt
|
|
SET
|
|
C_Istanorai = 'T'
|
|
,C_Istanorankivuli = 'T'
|
|
,C_Islenemkotottmunkaido = 'T'
|
|
,Modifier = NULL
|
|
,Lastchanged = @Now
|
|
,Serial += 1
|
|
FROM
|
|
T_Naptipus AS nt
|
|
INNER JOIN #T_Affected AS aff ON (nt.C_Altanevid = aff.C_Tanevid AND nt.C_Alintezmenyid = aff.C_Intezmenyid)
|
|
WHERE
|
|
nt.Torolt = 'F'
|
|
AND nt.Id = 1405; --Egybefüggõ szakmai gyakorlati nap)
|
|
|
|
UPDATE nt
|
|
SET
|
|
C_Islenemkotottmunkaido = 'T'
|
|
,Modifier = NULL
|
|
,Lastchanged = @Now
|
|
,Serial += 1
|
|
FROM
|
|
T_Naptipus AS nt
|
|
INNER JOIN #T_Affected AS aff ON (nt.C_Altanevid = aff.C_Tanevid AND nt.C_Alintezmenyid = aff.C_Intezmenyid)
|
|
WHERE
|
|
nt.Torolt = 'F'
|
|
AND nt.Id IN (
|
|
1387, --Tanítás nélküli munkanap
|
|
1388, --Szülõi értekezlet (tanítás nélkül)
|
|
1390 --Fogadónap (tanítás nélküli)
|
|
);
|
|
|
|
DECLARE cAffectedIntezmeny
|
|
CURSOR LOCAL FOR
|
|
SELECT
|
|
C_TANEVID,
|
|
C_INTEZMENYID
|
|
FROM #T_Affected;
|
|
|
|
DECLARE @curTanevId INT;
|
|
DECLARE @curIntezmenyId INT;
|
|
|
|
OPEN cAffectedIntezmeny;
|
|
|
|
FETCH NEXT FROM cAffectedIntezmeny INTO @curTanevId, @curIntezmenyId;
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
EXEC dbo.sp_GenerateNaptariNapok @curIntezmenyId, @curTanevId;
|
|
EXEC dbo.uspGenerateOrarend @curIntezmenyId, @curTanevId;
|
|
FETCH NEXT FROM cAffectedIntezmeny INTO @curTanevId, @curIntezmenyId;
|
|
END;
|
|
|
|
CLOSE cAffectedIntezmeny;
|
|
DEALLOCATE cAffectedIntezmeny;
|
|
END; |