This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,52 @@
-- =============================================
-- Author: Bata-Kovács Gábor
-- Create date: 2017.06.03.
-- Description: Az Intézmény adatainak frissítése a következõ tanévre
-- =============================================
IF OBJECT_ID('sp_FollowUpIntezmenyAdatok') IS NOT NULL BEGIN
DROP PROCEDURE sp_FollowUpIntezmenyAdatok
END;
GO
CREATE PROCEDURE sp_FollowUpIntezmenyAdatok
@intezmenyId int,
@aktTanevId int,
@kovetkezoTanevId int
AS
BEGIN
DECLARE @aktivIntezmenyAdatokId int = NULL
SET @aktivIntezmenyAdatokId = (
SELECT TOP 1 ID FROM T_INTEZMENYADATOK WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @aktTanevId
)
UPDATE kovetkezo SET
kovetkezo.C_ADMINEMAILCIM = aktiv.C_ADMINEMAILCIM
,kovetkezo.C_AJTO = aktiv.C_AJTO
,kovetkezo.C_CIMERID = aktiv.C_CIMERID
,kovetkezo.C_DOKUMENTUMFEJLEC = aktiv.C_DOKUMENTUMFEJLEC
,kovetkezo.C_DOKUMENTUMFEJLECHTML = aktiv.C_DOKUMENTUMFEJLECHTML
,kovetkezo.C_DOKUMENTUMLABLEC = aktiv.C_DOKUMENTUMLABLEC
,kovetkezo.C_DOKUMENTUMLABLECHTML = aktiv.C_DOKUMENTUMLABLECHTML
,kovetkezo.C_EMAILCIM = aktiv.C_EMAILCIM
,kovetkezo.C_EMELET = aktiv.C_EMELET
,kovetkezo.C_ENGEDELYEZETTALLASHELYEK = aktiv.C_ENGEDELYEZETTALLASHELYEK
,kovetkezo.C_HAZSZAM = aktiv.C_HAZSZAM
,kovetkezo.C_IGAZGATONEVE = aktiv.C_IGAZGATONEVE
,kovetkezo.C_INTEZMENYHONLAPJA = aktiv.C_INTEZMENYHONLAPJA
,kovetkezo.C_IRANYITOSZAM = aktiv.C_IRANYITOSZAM
,kovetkezo.C_KOZTERULETJELLEG = IIF((SELECT COUNT(1) FROM T_KOZTERULETJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_KOZTERULETJELLEG) = 0,911,aktiv.C_KOZTERULETJELLEG)
,kovetkezo.C_KOZTERULETNEV = aktiv.C_KOZTERULETNEV
,kovetkezo.C_NEV = aktiv.C_NEV
,kovetkezo.C_OMKOD = aktiv.C_OMKOD
,kovetkezo.C_ROVIDNEV = aktiv.C_ROVIDNEV
,kovetkezo.C_TELEFONSZAM = aktiv.C_TELEFONSZAM
,kovetkezo.C_VAROS = aktiv.C_VAROS
FROM T_INTEZMENYADATOK kovetkezo
INNER JOIN T_INTEZMENYADATOK aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @aktivIntezmenyAdatokId
WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @aktivIntezmenyAdatokId
END
GO

View file

@ -0,0 +1,121 @@
-- =============================================
-- Author: Bata-Kovács Gábor
-- Create date: 2017.06.03.
-- Description: A Mûködési Hely adatainak frissítése a következõ tanévre
-- =============================================
IF OBJECT_ID('sp_FollowUpMukodesiHely') IS NOT NULL BEGIN
DROP PROCEDURE sp_FollowUpMukodesiHely
END;
GO
CREATE PROCEDURE sp_FollowUpMukodesiHely
@intezmenyId int,
@aktTanevId int,
@kovetkezoTanevId int,
@mukodesiHelyId int
AS
BEGIN
DECLARE @kovetkezoMukodesiHelyId int = NULL
IF (@mukodesiHelyId <> 0)
BEGIN
SET @kovetkezoMukodesiHelyId = (
SELECT TOP 1 ID FROM T_MUKODESIHELY WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId AND ELOZOTANEVIREKORDID = @mukodesiHelyId
)
END
IF (@mukodesiHelyId = 0)
BEGIN
INSERT INTO T_MUKODESIHELY (
C_AJTO
,C_EMAILCIM
,C_EMELET
,C_FAX
,C_HAZSZAM
,C_INTEZMENYADATOKID
,C_INTEZMENYID
,C_IRANYITOSZAM
,C_KOZTERULETJELLEG
,C_KOZTERULETNEV
,C_MUKODESIHELYAZONOSITO
,C_MUKODESIHELYTIPUSA
,C_NEV
,C_SZEKHELY
,C_TAGINTEZMENY
,C_TAGINTEZMENYIKOD
,C_TANEVID
,C_TELEFONSZAM
,C_VAROS
,C_VEZETONEVE
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,NNID
,ELOZOTANEVIREKORDID
)
SELECT
C_AJTO AS C_AJTO
,C_EMAILCIM AS C_EMAILCIM
,C_EMELET AS C_EMELET
,C_FAX AS C_FAX
,C_HAZSZAM AS C_HAZSZAM
,(SELECT ID FROM T_INTEZMENYADATOK WHERE ELOZOTANEVIREKORDID = t.C_INTEZMENYADATOKID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) AS C_INTEZMENYADATOKID
,C_INTEZMENYID AS C_INTEZMENYID
,C_IRANYITOSZAM AS C_IRANYITOSZAM
,IIF((SELECT COUNT(1) FROM T_KOZTERULETJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_KOZTERULETJELLEG) = 0,911,t.C_KOZTERULETJELLEG) AS C_KOZTERULETJELLEG
,C_KOZTERULETNEV AS C_KOZTERULETNEV
,C_MUKODESIHELYAZONOSITO AS C_MUKODESIHELYAZONOSITO
,IIF((SELECT COUNT(1) FROM T_MUKODESIHELYTIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_MUKODESIHELYTIPUSA) = 0,5432,t.C_MUKODESIHELYTIPUSA) AS C_MUKODESIHELYTIPUSA
,C_NEV AS C_NEV
,C_SZEKHELY AS C_SZEKHELY
,C_TAGINTEZMENY AS C_TAGINTEZMENY
,C_TAGINTEZMENYIKOD AS C_TAGINTEZMENYIKOD
,@kovetkezoTanevId AS C_TANEVID
,C_TELEFONSZAM AS C_TELEFONSZAM
,C_VAROS AS C_VAROS
,C_VEZETONEVE AS C_VEZETONEVE
,TOROLT AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,MODIFIER AS MODIFIER
,MODIFIER AS CREATOR
,NULL AS NNID
,ID AS ELOZOTANEVIREKORDID
FROM T_MUKODESIHELY t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId
AND 0 = (SELECT COUNT(1) FROM T_MUKODESIHELY WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID)
END
ELSE
BEGIN
UPDATE kovetkezo SET
kovetkezo.C_AJTO = aktiv.C_AJTO
,kovetkezo.C_EMAILCIM = aktiv.C_EMAILCIM
,kovetkezo.C_EMELET = aktiv.C_EMELET
,kovetkezo.C_FAX = aktiv.C_FAX
,kovetkezo.C_HAZSZAM = aktiv.C_HAZSZAM
,kovetkezo.C_IRANYITOSZAM = aktiv.C_IRANYITOSZAM
,kovetkezo.C_KOZTERULETJELLEG = IIF((SELECT COUNT(1) FROM T_KOZTERULETJELLEG WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_KOZTERULETJELLEG) = 0,911,aktiv.C_KOZTERULETJELLEG)
,kovetkezo.C_KOZTERULETNEV = aktiv.C_KOZTERULETNEV
,kovetkezo.C_MUKODESIHELYAZONOSITO = aktiv.C_MUKODESIHELYAZONOSITO
,kovetkezo.C_MUKODESIHELYTIPUSA = IIF((SELECT COUNT(1) FROM T_MUKODESIHELYTIPUS WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_MUKODESIHELYTIPUSA) = 0,5432,aktiv.C_MUKODESIHELYTIPUSA)
,kovetkezo.C_NEV = aktiv.C_NEV
,kovetkezo.C_SZEKHELY = aktiv.C_SZEKHELY
,kovetkezo.C_TAGINTEZMENY = aktiv.C_TAGINTEZMENY
,kovetkezo.C_TAGINTEZMENYIKOD = aktiv.C_TAGINTEZMENYIKOD
,kovetkezo.C_TELEFONSZAM = aktiv.C_TELEFONSZAM
,kovetkezo.C_VAROS = aktiv.C_VAROS
,kovetkezo.C_VEZETONEVE = aktiv.C_VEZETONEVE
,kovetkezo.TOROLT = aktiv.TOROLT
FROM T_MUKODESIHELY kovetkezo
INNER JOIN T_MUKODESIHELY aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @mukodesiHelyId
WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @mukodesiHelyId
END
END
GO

View file

@ -0,0 +1,96 @@
IF OBJECT_ID('stage.sp_MrgMukodesihely') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgMukodesihely
END
GO
CREATE PROCEDURE stage.sp_MrgMukodesihely
AS
BEGIN
MERGE stage.T_MUKODESIHELY_STAGE AS trg
USING (
SELECT
m.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,m.ID AS C_MUKODESIHELYID
,m.C_NEV
,m.C_EMAILCIM
,m.C_FAX
,m.C_IRANYITOSZAM
,m.C_TELEFONSZAM
,m.C_VAROS
,m.C_VEZETONEVE
,m.C_TAGINTEZMENY
,m.C_TAGINTEZMENYIKOD
,m.C_SZEKHELY
FROM dbo.T_MUKODESIHELY m
INNER JOIN dbo.T_TANEV t ON t.ID = m.C_TANEVID
WHERE m.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_MUKODESIHELYID = src.C_MUKODESIHELYID)
WHEN MATCHED AND
(trg.C_NEV <> src.C_NEV OR (trg.C_NEV IS NULL AND src.C_NEV IS NOT NULL) OR (trg.C_NEV IS NOT NULL AND src.C_NEV IS NULL))
OR (trg.C_EMAILCIM <> src.C_EMAILCIM OR (trg.C_EMAILCIM IS NULL AND src.C_EMAILCIM IS NOT NULL) OR (trg.C_EMAILCIM IS NOT NULL AND src.C_EMAILCIM IS NULL))
OR (trg.C_FAX <> src.C_FAX OR (trg.C_FAX IS NULL AND src.C_FAX IS NOT NULL) OR (trg.C_FAX IS NOT NULL AND src.C_FAX IS NULL))
OR (trg.C_IRANYITOSZAM <> src.C_IRANYITOSZAM OR (trg.C_IRANYITOSZAM IS NULL AND src.C_IRANYITOSZAM IS NOT NULL) OR (trg.C_IRANYITOSZAM IS NOT NULL AND src.C_IRANYITOSZAM IS NULL))
OR (trg.C_TELEFONSZAM <> src.C_TELEFONSZAM OR (trg.C_TELEFONSZAM IS NULL AND src.C_TELEFONSZAM IS NOT NULL) OR (trg.C_TELEFONSZAM IS NOT NULL AND src.C_TELEFONSZAM IS NULL))
OR (trg.C_VAROS <> src.C_VAROS OR (trg.C_VAROS IS NULL AND src.C_VAROS IS NOT NULL) OR (trg.C_VAROS IS NOT NULL AND src.C_VAROS IS NULL))
OR (trg.C_VEZETONEVE <> src.C_VEZETONEVE OR (trg.C_VEZETONEVE IS NULL AND src.C_VEZETONEVE IS NOT NULL) OR (trg.C_VEZETONEVE IS NOT NULL AND src.C_VEZETONEVE IS NULL))
OR (trg.C_TAGINTEZMENY <> src.C_TAGINTEZMENY OR (trg.C_TAGINTEZMENY IS NULL AND src.C_TAGINTEZMENY IS NOT NULL) OR (trg.C_TAGINTEZMENY IS NOT NULL AND src.C_TAGINTEZMENY IS NULL))
OR (trg.C_TAGINTEZMENYIKOD <> src.C_TAGINTEZMENYIKOD OR (trg.C_TAGINTEZMENYIKOD IS NULL AND src.C_TAGINTEZMENYIKOD IS NOT NULL) OR (trg.C_TAGINTEZMENYIKOD IS NOT NULL AND src.C_TAGINTEZMENYIKOD IS NULL))
OR (trg.C_SZEKHELY <> src.C_SZEKHELY OR (trg.C_SZEKHELY IS NULL AND src.C_SZEKHELY IS NOT NULL) OR (trg.C_SZEKHELY IS NOT NULL AND src.C_SZEKHELY IS NULL))
THEN
UPDATE SET
trg.C_NEV = src.C_NEV
,trg.C_EMAILCIM = src.C_EMAILCIM
,trg.C_FAX = src.C_FAX
,trg.C_IRANYITOSZAM = src.C_IRANYITOSZAM
,trg.C_TELEFONSZAM = src.C_TELEFONSZAM
,trg.C_VAROS = src.C_VAROS
,trg.C_VEZETONEVE = src.C_VEZETONEVE
,trg.C_TAGINTEZMENY = src.C_TAGINTEZMENY
,trg.C_TAGINTEZMENYIKOD = src.C_TAGINTEZMENYIKOD
,trg.C_SZEKHELY = src.C_SZEKHELY
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_MUKODESIHELYID
,C_NEV
,C_EMAILCIM
,C_FAX
,C_IRANYITOSZAM
,C_TELEFONSZAM
,C_VAROS
,C_VEZETONEVE
,C_TAGINTEZMENY
,C_TAGINTEZMENYIKOD
,C_SZEKHELY
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_MUKODESIHELYID
,src.C_NEV
,src.C_EMAILCIM
,src.C_FAX
,src.C_IRANYITOSZAM
,src.C_TELEFONSZAM
,src.C_VAROS
,src.C_VEZETONEVE
,src.C_TAGINTEZMENY
,src.C_TAGINTEZMENYIKOD
,src.C_SZEKHELY
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,332 @@
GO
/****** Object: StoredProcedure [dbo].[sp_SetRendszerErtesitesek] Script Date: 2016.06.09. 14:34:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.sp_SetRendszerErtesitesek') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_SetRendszerErtesitesek]
END
GO
-- =============================================
-- Author: DT
-- Create date: 2016-03-21
-- Description: Rendszer értesítések tábla frissítése
-- =============================================
CREATE PROCEDURE [dbo].[sp_SetRendszerErtesitesek]
AS
BEGIN
SET NOCOUNT ON;
/*Globál UPDATE*/
UPDATE T_RENDSZERERTESITESEK
SET C_FRISSITESIDEJE = GETDATE()
,LASTCHANGED = GETDATE()
,C_KELLFRISSITES = 'F'
WHERE TOROLT = 'F'
/*Az elektronikus naplóban nincs beállítva a visszamenőleges beírás korlátozása!*/
/*
A rendszerben ...
tanuló nincs osztályba sorolva!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANULOKOSZTALYBASOROLASA =
( SELECT COUNT(1)
FROM T_TANULO t
LEFT JOIN T_TANULOCSOPORT TCS ON ( TCS.C_TANULOID = t.ID
AND TCS.TOROLT = 'F'
AND TCS.C_BELEPESDATUM < GETDATE()
AND (TCS.C_KILEPESDATUM is null OR TCS.C_KILEPESDATUM >= GETDATE())
AND T_RENDSZERERTESITESEK.C_INTEZMENYID = TCS.C_INTEZMENYID
AND T_RENDSZERERTESITESEK.C_TANEVID = TCS.C_TANEVID
)
WHERE T.TOROLT = 'F' AND TCS.ID IS NULL
AND T_RENDSZERERTESITESEK.C_INTEZMENYID = T.C_ALINTEZMENYID
AND T_RENDSZERERTESITESEK.C_TANEVID = T.C_ALTANEVID
)
WHERE TOROLT = 'F'
/*
Az órarendben ... órában tanulóütközés van,
azonos órában a tanulónak több tanóra IS rögzítve van!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_ORARENDTANULOUTKOZESEK =
( SELECT count(1)
FROM (
SELECT sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, sub.C_TANULOID, COUNT(1) AS cnt
FROM (
SELECT o.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, tcs.C_TANULOID--, COUNT(1)
FROM T_ORARENDIORA o
INNER JOIN T_FOGLALKOZAS F ON F.ID = o.C_FOGLALKOZASID AND F.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.ID = F.C_OSZTALYCSOPORTID AND OCS.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT TCS ON TCS.C_OSZTALYCSOPORTID = OCS.ID AND TCS.TOROLT = 'F'
WHERE o.TOROLT = 'F'
AND F.C_FOGLALKOZASTIPUSA IN (1339, 1368)
AND o.C_ORAERVENYESSEGKEZDETE < GETDATE()
AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
AND tcs.C_BELEPESDATUM < GETDATE()
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
UNION ALL
SELECT n.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, tcs.C_TANULOID
FROM T_TANITASIORA o
INNER JOIN T_FOGLALKOZAS F ON F.ID = o.C_FOGLALKOZASID AND F.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.ID = F.C_OSZTALYCSOPORTID AND OCS.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT TCS ON TCS.C_OSZTALYCSOPORTID = OCS.ID AND TCS.TOROLT = 'F'
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
WHERE o.TOROLT = 'F'
AND F.C_FOGLALKOZASTIPUSA IN (1339, 1368)
AND tcs.C_BELEPESDATUM < GETDATE()
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
AND o.C_ORARENDIORAID IS NULL
AND o.C_DATUM > getdate() - 1
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
) sub
GROUP BY sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, sub.C_TANULOID
HAVING COUNT(1) > 1
) A )
WHERE TOROLT = 'F'
/*
Az intézménynek hiányosan vannak kitöltve az adatai!
Ennek következményeként a dokumentumokban az intézmény adatai nem jelennek meg!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_INTEZMENYHIANYOSADATOK = IIF(
(SELECT count(1)
FROM T_INTEZMENYADATOK i
WHERE i.TOROLT = 'F'
AND (C_NEV IS NULL
OR C_OMKOD IS NULL
OR C_IRANYITOSZAM IS NULL
OR C_VAROS IS NULL
OR C_KOZTERULETNEV IS NULL
OR C_KOZTERULETJELLEG IS NULL
OR C_HAZSZAM IS NULL
OR C_IGAZGATONEVE IS NULL)
AND I.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND I.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
) > 0, 'T', 'F' )
WHERE TOROLT = 'F'
/*
A rendszerben ...
tanulónak nem megfelelő formátumú az oktatási azonosítója.
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANULOHIANYOSOKTATASIAZONOSI = (
SELECT count(1)
FROM T_TANULO t
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
WHERE t.TOROLT = 'F'
AND (f.C_OKTATASIAZONOSITO NOT LIKE '7%'
OR f.C_OKTATASIAZONOSITO LIKE '%[^0-9]%'
OR LEN(f.C_OKTATASIAZONOSITO) <> 11)
AND T.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND T.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE TOROLT = 'F'
/*
A rendszerben ...
tanárnak nem megfelelő formátumú az oktatási azonosítója.
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANAROKHIANYOSOKTATASIAZONOS = (
SELECT count(1)
FROM T_ALKALMAZOTT a
INNER JOIN T_FELHASZNALO f ON f.ID = a.ID AND f.TOROLT = 'F'
WHERE a.TOROLT = 'F'
AND (f.C_OKTATASIAZONOSITO not like '7%'
or f.C_OKTATASIAZONOSITO LIKE '%[^0-9]%'
or LEN(f.C_OKTATASIAZONOSITO) <> 11)
AND A.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND A.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE TOROLT = 'F'
/*
A tantárgyfelosztásban ...
tanár nem szerepel!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANTARGYFELOSZTASTANARNINCSE = (
SELECT COUNT(1)
FROM T_ALKALMAZOTT a
LEFT JOIN T_FOGLALKOZASOK_TANAROK TANARTARGYAK ON (TANARTARGYAK.C_TANAROKID = A.ID)
LEFT JOIN T_FOGLALKOZAS F ON ( TANARTARGYAK.C_FOGLALKOZASOKID = F.ID AND F.TOROLT = 'F'
AND F.C_INTEZMENYID = A.C_ALINTEZMENYID
AND F.C_TANEVID = A.C_ALTANEVID
)
WHERE a.TOROLT = 'F' AND f.ID IS NULL
AND A.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND A.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE TOROLT = 'F'
/*
A tantárgyak közül ...
tantárgy nem szerepel a tantárgyfelosztásban!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANTARGYFELOSZTASTANTARGYNIN = (
SELECT count(1)
FROM T_TANTARGY tt
LEFT JOIN T_FOGLALKOZAS f ON ( f.C_TANTARGYID = tt.ID AND f.TOROLT = 'F'
AND F.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND F.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE f.ID IS NULL AND TT.TOROLT = 'F'
AND TT.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND TT.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE TOROLT = 'F'
/*
Az osztályok ill. tanórai célú csoportok közül ...
nem szerepel a tantárgyfelosztásban!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANTARGYFELOSZTASOSZTALYOKNI = (
SELECT count(1)
FROM T_OSZTALYCSOPORT ocs
LEFT JOIN T_FOGLALKOZAS f ON ( f.C_OSZTALYCSOPORTID = ocs.ID AND f.TOROLT = 'F'
AND F.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND F.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE ocs.TOROLT = 'F' AND f.ID IS NULL
AND ( EXISTS ( SELECT 1 FROM T_OSZTALY WHERE T_OSZTALY.ID = OCS.ID ) -- OSZTÁLY
OR
EXISTS ( SELECT 1 FROM T_CSOPORT WHERE T_CSOPORT.C_TIPUSA = 1034 AND T_CSOPORT.ID = OCS.ID) -- CSOPORT
)
AND ocs.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND ocs.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
)
WHERE TOROLT = 'F'
/*
Az órarendben ... órában teremütközés van,
azonos teremben több óra IS szerepel!
*/
UPDATE T_RENDSZERERTESITESEK
SET C_ORARENDTEREMUTKOZES = ( SELECT COUNT(1)
FROM (
SELECT sub.C_HETIREND, sub.C_HETNAPJA, sub.C_TEREMID, sub.C_CSENGETESIRENDORAID, COUNT(1) cnt
FROM (
SELECT DISTINCT o.C_HETIREND, o.C_HETNAPJA, o.C_TEREMID, o.C_CSENGETESIRENDORAID, o.C_FOGLALKOZASID
FROM T_ORARENDIORA o
INNER JOIN T_TEREM t ON t.ID = o.C_TEREMID AND t.TOROLT = 'F'
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
WHERE o.C_ORAERVENYESSEGKEZDETE < GETDATE() AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
AND t.C_TOBBORATLEHETTARTANI = 'F'
AND o.TOROLT = 'F'
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
UNION
SELECT DISTINCT n.C_HETIREND , n.C_HETNAPJA, o.C_TEREMID, o.C_CSENGETESIRENDORAID, o.C_FOGLALKOZASID
FROM T_TANITASIORA o
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
INNER JOIN T_TEREM t ON t.ID = o.C_TEREMID AND t.TOROLT = 'F'
WHERE o.C_ORARENDIORAID IS NULL
AND n.C_NAPDATUMA > GETDATE() - 1
AND t.C_TOBBORATLEHETTARTANI = 'F'
AND o.TOROLT = 'F'
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
) sub
GROUP BY sub.C_HETIREND, sub.C_HETNAPJA, sub.C_TEREMID, sub.C_CSENGETESIRENDORAID
HAVING COUNT(1) > 1
) tbl )
WHERE TOROLT = 'F'
/*
Az órarendben ... órában tanárütközés szerepel,
azonos órában a pedagógushoz több tanóra IS tartozik.
*/
UPDATE T_RENDSZERERTESITESEK
SET C_ORARENDTANARUTKOZES = ( SELECT count(1)
FROM (
SELECT sub.C_TANAROKID, sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, COUNT(1) cnt
FROM (
SELECT ft.C_TANAROKID, o.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, o.C_TEREMID
FROM T_ORARENDIORA o
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
WHERE o.TOROLT = 'F'
AND o.C_ORAERVENYESSEGKEZDETE < GETDATE()
AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
UNION
SELECT ISNULL(o.C_HELYETTESITOTANARID, ft.C_TANAROKID) AS C_TANAROKID, n.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, o.C_TEREMID
FROM T_TANITASIORA o
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
WHERE o.TOROLT = 'F'
AND o.C_ORARENDIORAID IS NULL
AND o.C_DATUM > getdate() - 1
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
) sub
GROUP BY sub.C_TANAROKID, sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID
HAVING COUNT(1) > 1
) tbl )
WHERE TOROLT = 'F'
/*
Azon tanulók száma, akik osztályba vannak sorolva, de nincs tantervük
*/
UPDATE T_RENDSZERERTESITESEK
SET C_TANTERVNELKULITANULOK = (
SELECT count(1)
FROM (
select distinct T_TANULO.ID
from T_TANULOCSOPORT
inner join T_TANULO on (T_TANULO.ID = T_TANULOCSOPORT.C_TANULOID and T_TANULO.TOROLT = 'F')
where T_TANULO.C_TANTERVID is null
and T_TANULOCSOPORT.TOROLT = 'F'
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM > GETDATE())
AND T_TANULOCSOPORT.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND T_TANULOCSOPORT.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
) tbl )
WHERE TOROLT = 'F'
/*
Nincs beállítva aktív csengetési rend
*/
UPDATE T_RENDSZERERTESITESEK
SET C_AKTIVCSENGETESIREND = ( SELECT IIF(EXISTS(SELECT 1
FROM T_CSENGETESIREND
WHERE C_AKTIV = 'T'
AND T_CSENGETESIREND.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
AND T_CSENGETESIREND.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID),
'F', 'T') )
WHERE TOROLT = 'F'
END