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;