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,353 @@
-- =============================================
-- Description: Az sp visszaadja az adatbázisban található oktatás-szakmai és infomratikai hibákat
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.sp_Global_GetDatabaseErrors') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_Global_GetDatabaseErrors]
END
GO
CREATE PROCEDURE [dbo].[sp_Global_GetDatabaseErrors]
@AktivTanevNev NVARCHAR(20) -- Ami jelenleg az aktív tanév kellene, hogy legyen
AS
BEGIN
DECLARE @ProblemTable TABLE (ProblemaTipus NVARCHAR(12), Tipus NVARCHAR(100), Mennyiseg INT, Intezmeny INT, Tanev INT)
-- Intézmény törölt, de a fenntartóazonosítója nem nulla
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Intezmeny_Torolt_FenntartoNemNulla', COUNT(1), main.ID, 0
FROM T_INTEZMENY main
WHERE main.TOROLT = 'T' AND C_FENNTARTOAZONOSITO <> 0
GROUP BY main.ID
-- Intézmény nem törölt, de a fenntartóazonosítója nulla
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Intezmeny_NemTorolt_FenntartoNulla', COUNT(1), main.ID, 0
FROM T_INTEZMENY main
WHERE main.TOROLT = 'F' AND C_FENNTARTOAZONOSITO = 0
GROUP BY main.ID
-- Intézmény nem törölt, de mégis "_old" az azonosítója
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Intezmeny_NemTorolt_Old', COUNT(1), main.ID, 0
FROM T_INTEZMENY main
WHERE main.TOROLT = 'F' AND C_AZONOSITO LIKE '%_old'
GROUP BY main.ID
-- Intézménynek nincs aktív tanéve
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Intezmeny_Tanev_NincsAktiv', COUNT(1), main.ID, 0
FROM T_INTEZMENY main
WHERE 0 = (SELECT COUNT(1) FROM T_TANEV joint WHERE joint.C_INTEZMENYID = main.ID AND joint.C_AKTIV = 'T' AND joint.TOROLT = 'F') AND main.TOROLT = 'F'
GROUP BY main.ID
-- Intézménynek több aktív tanéve van
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Intezmeny_Tanev_TobbAktiv', COUNT(1), main.ID, 0
FROM T_INTEZMENY main
WHERE 1 < (SELECT COUNT(1) FROM T_TANEV joint WHERE joint.C_INTEZMENYID = main.ID AND joint.C_AKTIV = 'T' AND joint.TOROLT = 'F') AND main.TOROLT = 'F'
GROUP BY main.ID
-- Intézménynek nem az sp paramétereként megadott tanév az aktív tanéve
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Information', 'Intezmeny_Tanev_RosszAktiv', COUNT(1), main.ID, 0
FROM T_INTEZMENY main
WHERE 0 = (SELECT COUNT(1) FROM T_TANEV joint WHERE joint.C_INTEZMENYID = main.ID AND joint.C_AKTIV = 'T' AND joint.TOROLT = 'F' AND joint.C_NEV = @AktivTanevNev) AND main.TOROLT = 'F'
GROUP BY main.ID
-- Felhasználó és Alkalmazott Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Alkalmazott_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_ALKALMAZOTT joint ON joint.ID = main.ID
WHERE main.C_INTEZMENYID <> joint.C_ALINTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Alkalmazott Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Alkalmazott_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_ALKALMAZOTT joint ON joint.ID = main.ID
WHERE main.C_TANEVID <> joint.C_ALTANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Alkalmazott Törölt inkonzisztencia (Felhasználó)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Alkalmazott_ToroltFelhasznalo', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_ALKALMAZOTT joint ON joint.ID = main.ID
WHERE main.TOROLT = 'T' AND joint.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Alkalmazott Törölt inkonzisztencia (Alkalmazott)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Alkalmazott_ToroltAlkalmazott', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_ALKALMAZOTT joint ON joint.ID = main.ID
WHERE main.TOROLT = 'F' AND joint.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Tanuló Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Tanulo_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_TANULO joint ON joint.ID = main.ID
WHERE main.C_INTEZMENYID <> joint.C_ALINTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Tanuló Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Tanulo_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_TANULO joint ON joint.ID = main.ID
WHERE main.C_TANEVID <> joint.C_ALTANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Tanuló Törölt inkonzisztencia (Felhasználó)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Tanulo_ToroltFelhasznalo', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_TANULO joint ON joint.ID = main.ID
WHERE main.TOROLT = 'T' AND joint.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó és Tanuló Törölt inkonzisztencia (Tanuló)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Tanulo_ToroltAlkalmazott', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
INNER JOIN T_TANULO joint ON joint.ID = main.ID
WHERE main.TOROLT = 'F' AND joint.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó egyszerre Alkalmazott és Tanuló is
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Felhasznalo_Alkalmazott_TanuloIs', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
WHERE 0 < (SELECT COUNT(1) FROM T_ALKALMAZOTT joint WHERE joint.ID = main.ID AND joint.TOROLT = 'F') AND 0 < (SELECT COUNT(1) FROM T_TANULO joint WHERE joint.ID = main.ID AND joint.TOROLT = 'F') AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Felhasználó egyszerre Alkalmazott és Tanuló is (Összes)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Warning', 'Felhasznalo_Alkalmazott_TanuloIsOsszes', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FELHASZNALO main
WHERE 0 < (SELECT COUNT(1) FROM T_ALKALMAZOTT joint WHERE joint.ID = main.ID) AND 0 < (SELECT COUNT(1) FROM T_TANULO joint WHERE joint.ID = main.ID) AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Osztály Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Osztaly_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_OSZTALY joint ON joint.ID = main.ID
WHERE main.C_INTEZMENYID <> joint.C_ALINTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Osztály Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Osztaly_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_OSZTALY joint ON joint.ID = main.ID
WHERE main.C_TANEVID <> joint.C_ALTANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Osztály Törölt inkonzisztencia (Osztálycsoport)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Osztaly_ToroltOsztalycsoport', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_OSZTALY joint ON joint.ID = main.ID
WHERE main.TOROLT = 'T' AND joint.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Osztály Törölt inkonzisztencia (Osztály)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Osztaly_ToroltOsztaly', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_OSZTALY joint ON joint.ID = main.ID
WHERE main.TOROLT = 'F' AND joint.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Csoport Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Csoport_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_CSOPORT joint ON joint.ID = main.ID
WHERE main.C_INTEZMENYID <> joint.C_ALINTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Csoport Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Csoport_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_CSOPORT joint ON joint.ID = main.ID
WHERE main.C_TANEVID <> joint.C_ALTANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Csoport Törölt inkonzisztencia (Osztálycsoport)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Csoport_ToroltOsztalycsoport', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_CSOPORT joint ON joint.ID = main.ID
WHERE main.TOROLT = 'T' AND joint.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport és Csoport Törölt inkonzisztencia (Csoport)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Csoport_ToroltCsoport', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
INNER JOIN T_CSOPORT joint ON joint.ID = main.ID
WHERE main.TOROLT = 'F' AND joint.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport egyszerre Osztály és Csoport is
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Osztaly_CsoportIs', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
WHERE 0 < (SELECT COUNT(1) FROM T_OSZTALY joint WHERE joint.ID = main.ID AND joint.TOROLT = 'F') AND 0 < (SELECT COUNT(1) FROM T_CSOPORT joint WHERE joint.ID = main.ID AND joint.TOROLT = 'F') AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport egyszerre Osztály és Csoport is (Osszes)
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Warning', 'Osztalycsoport_Osztaly_CsoportIsOsszes', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
WHERE 0 < (SELECT COUNT(1) FROM T_OSZTALY joint WHERE joint.ID = main.ID) AND 0 < (SELECT COUNT(1) FROM T_CSOPORT joint WHERE joint.ID = main.ID) AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Osztálycsoport se nem osztály, se nem csoport
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Osztalycsoport_Osztaly_CsoportSe', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_OSZTALYCSOPORT main
WHERE 0 = (SELECT COUNT(1) FROM T_OSZTALY joint WHERE joint.ID = main.ID AND joint.TOROLT = 'F') AND 0 = (SELECT COUNT(1) FROM T_CSOPORT joint WHERE joint.ID = main.ID AND joint.TOROLT = 'F') AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Alkalmazott Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Alkalmazott_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_FELHASZNALO joint ON joint.ID = main.C_TANARID
WHERE main.C_INTEZMENYID <> joint.C_INTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Alkalmazott Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Alkalmazott_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_FELHASZNALO joint ON joint.ID = main.C_TANARID
WHERE main.C_TANEVID <> joint.C_TANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Alkalmazott Törölt inkonzisztencia
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Alkalmazott_Torolt', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_FELHASZNALO joint ON joint.ID = main.C_TANARID
WHERE joint.TOROLT = 'T' AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Alkalmazott Nem létezik
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Alkalmazott_NemLetezik', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
WHERE 0 = (SELECT COUNT(1) FROM T_FELHASZNALO joint WHERE joint.ID = main.C_TANARID) AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Alkalmazott Nem létezik de a TTF törölt
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Warning', 'Foglalkozas_Alkalmazott_NemLetezik_Torolt', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
WHERE 0 = (SELECT COUNT(1) FROM T_FELHASZNALO joint WHERE joint.ID = main.C_TANARID) AND main.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Alkalmazott ahol a felhasználó nem alkalmazott
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Alkalmazott_NemAlkalmazott', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_FELHASZNALO joint ON joint.ID = main.C_TANARID
WHERE 0 = (SELECT COUNT(1) FROM T_ALKALMAZOTT a WHERE a.ID = joint.ID)
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Tantárgy Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Tantargy_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_TANTARGY joint ON joint.ID = main.C_TANTARGYID
WHERE main.C_INTEZMENYID <> joint.C_INTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Tantárgy Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Tantargy_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_TANTARGY joint ON joint.ID = main.C_TANTARGYID
WHERE main.C_TANEVID <> joint.C_TANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Tantárgy Törölt inkonzisztencia
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Tantargy_Torolt', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_TANTARGY joint ON joint.ID = main.C_TANTARGYID
WHERE joint.TOROLT = 'T' AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Tantárgy Nem létezik
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_Tantargy_NemLetezik', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
WHERE 0 = (SELECT COUNT(1) FROM T_TANTARGY joint WHERE joint.ID = main.C_TANTARGYID) AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Tantárgy Nem létezik de a TTF törölt
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Warning', 'Foglalkozas_Tantargy_NemLetezik_Torolt', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
WHERE 0 = (SELECT COUNT(1) FROM T_TANTARGY joint WHERE joint.ID = main.C_TANTARGYID) AND main.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Osztálycsoport Intézménye nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_OsztalyCsoport_IntezmenyId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_OSZTALYCSOPORT joint ON joint.ID = main.C_OSZTALYCSOPORTID
WHERE main.C_INTEZMENYID <> joint.C_INTEZMENYID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Osztálycsoport Tanéve nem stimmel
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_OsztalyCsoport_TanevId', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_OSZTALYCSOPORT joint ON joint.ID = main.C_OSZTALYCSOPORTID
WHERE main.C_TANEVID <> joint.C_TANEVID
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Osztálycsoport Törölt inkonzisztencia
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_OsztalyCsoport_Torolt', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
INNER JOIN T_OSZTALYCSOPORT joint ON joint.ID = main.C_OSZTALYCSOPORTID
WHERE joint.TOROLT = 'T' AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Osztálycsoport Nem létezik
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Error', 'Foglalkozas_OsztalyCsoport_NemLetezik', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
WHERE 0 = (SELECT COUNT(1) FROM T_OSZTALYCSOPORT joint WHERE joint.ID = main.C_OSZTALYCSOPORTID) AND main.TOROLT = 'F'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Foglalkozás és Osztálycsoport Nem létezik de a TTF törölt
INSERT INTO @ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
SELECT 'Warning', 'Foglalkozas_OsztalyCsoport_NemLetezik_Torolt', COUNT(1), main.C_INTEZMENYID, main.C_TANEVID
FROM T_FOGLALKOZAS main
WHERE 0 = (SELECT COUNT(1) FROM T_OSZTALYCSOPORT joint WHERE joint.ID = main.C_OSZTALYCSOPORTID) AND main.TOROLT = 'T'
GROUP BY main.C_INTEZMENYID, main.C_TANEVID
-- Megjelenítés
SELECT * FROM @ProblemTable Order By ProblemaTipus ASC, Mennyiseg DESC
END
GO