478 lines
No EOL
19 KiB
Transact-SQL
478 lines
No EOL
19 KiB
Transact-SQL
-- =============================================
|
|
-- Description: Az sp visszaadja az adatbázisban található oktatás-szakmai és infomratikai hibákat
|
|
-- =============================================
|
|
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
|
|
CREATE TABLE #ProblemTable (
|
|
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_FenntartoNem999'
|
|
,COUNT(1)
|
|
,i.ID
|
|
,0
|
|
FROM T_INTEZMENY i
|
|
WHERE i.TOROLT = 'T' AND i.C_FENNTARTOAZONOSITO <> 999
|
|
GROUP BY i.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_Fenntarto999'
|
|
,COUNT(1)
|
|
,i.ID
|
|
,0
|
|
FROM T_INTEZMENY i
|
|
WHERE i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO = 999
|
|
GROUP BY i.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)
|
|
,i.ID
|
|
,0
|
|
FROM T_INTEZMENY i
|
|
WHERE i.TOROLT = 'F' AND i.C_AZONOSITO LIKE '%[_]old'
|
|
GROUP BY i.ID
|
|
|
|
-- Intézménynek nincs aktív tanéve
|
|
INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
|
|
SELECT
|
|
'Error'
|
|
,'Intezmeny_Tanev_NincsAktiv',COUNT(1)
|
|
,i.ID
|
|
,0
|
|
FROM T_INTEZMENY i
|
|
WHERE NOT EXISTS (SELECT 1 FROM T_TANEV WHERE C_INTEZMENYID = i.ID AND C_AKTIV = 'T' AND TOROLT = 'F') AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
GROUP BY i.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)
|
|
,i.ID
|
|
,0
|
|
FROM T_INTEZMENY i
|
|
WHERE 1 < (SELECT COUNT(1) FROM T_TANEV WHERE C_INTEZMENYID = i.ID AND C_AKTIV = 'T' AND TOROLT = 'F') AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
GROUP BY i.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)
|
|
,i.ID
|
|
,0
|
|
FROM T_INTEZMENY i
|
|
WHERE NOT EXISTS (SELECT COUNT(1) FROM T_TANEV WHERE C_INTEZMENYID = i.ID AND C_AKTIV = 'T' AND TOROLT = 'F' AND C_NEV = @AktivTanevNev) AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
GROUP BY i.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)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND fh.C_INTEZMENYID <> a.C_ALINTEZMENYID AND a.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnfh ON tnfh.ID = fh.C_TANEVID AND tnfh.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tna ON tna.ID=a.C_ALTANEVID AND tna.TOROLT='F'
|
|
WHERE fh.TOROLT='F' AND (tnfh.C_AKTIV='T' OR tna.C_AKTIV='T')
|
|
GROUP BY fh.C_INTEZMENYID, fh.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)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND fh.C_TANEVID <> a.C_ALTANEVID
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnfh ON tnfh.ID = fh.C_TANEVID AND tnfh.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tna ON tna.ID=a.C_ALTANEVID AND tna.TOROLT='F'
|
|
WHERE fh.TOROLT='F' AND (tnfh.C_AKTIV='T' OR tna.C_AKTIV='T')
|
|
GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID
|
|
|
|
-- Felhasználó és Alkalmazott Törölt inkonzisztencia (Felhasználó)
|
|
INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
|
|
SELECT
|
|
'Error'
|
|
,'Felhasznalo_Alkalmazott_ToroltFelhasznaloVagyAlkalmazott'
|
|
,COUNT(1)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND fh.TOROLT<>a.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE NOT EXISTS(SELECT 1 FROM T_TANULO WHERE ID=fh.ID AND TOROLT='F' AND fh.TOROLT='F')
|
|
GROUP BY fh.C_INTEZMENYID, fh.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)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_TANULO t ON t.ID = fh.ID AND fh.C_INTEZMENYID <> t.C_ALINTEZMENYID
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND t.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE fh.TOROLT='F'
|
|
GROUP BY fh.C_INTEZMENYID, fh.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)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_TANULO t ON t.ID = fh.ID AND fh.C_TANEVID <> t.C_ALTANEVID AND t.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnfh ON tnfh.ID = fh.C_TANEVID AND tnfh.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tnt ON tnt.ID = t.C_ALTANEVID AND tnt.TOROLT = 'F'
|
|
WHERE fh.TOROLT='F' AND (tnt.C_AKTIV='T' OR tnfh.C_AKTIV='T')
|
|
GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID
|
|
|
|
-- Felhasználó és Tanuló Törölt inkonzisztencia (Felhasználó)
|
|
INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
|
|
SELECT
|
|
'Error'
|
|
,'Felhasznalo_Tanulo_ToroltFelhasznaloVagyTanulo'
|
|
,COUNT(1)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_TANULO t ON t.ID = fh.ID AND t.TOROLT='F' AND fh.TOROLT <> t.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
GROUP BY fh.C_INTEZMENYID, fh.C_TANEVID
|
|
|
|
-- Felhasználó egyszerre Alkalmazott és Tanuló is
|
|
INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
|
|
SELECT
|
|
'Error'
|
|
,'Felhasznalo_Alkalmazott_TanuloIs'
|
|
,COUNT(1)
|
|
,fh.C_INTEZMENYID
|
|
,fh.C_TANEVID
|
|
FROM T_FELHASZNALO fh
|
|
INNER JOIN T_INTEZMENY i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = fh.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE EXISTS (SELECT 1 FROM T_ALKALMAZOTT WHERE ID = fh.ID AND TOROLT = 'F')
|
|
AND EXISTS (SELECT 1 FROM T_TANULO WHERE ID = fh.ID AND TOROLT = 'F')
|
|
AND fh.TOROLT = 'F'
|
|
GROUP BY fh.C_INTEZMENYID, fh.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)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND ocs.C_INTEZMENYID <> o.C_ALINTEZMENYID AND o.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE ocs.TOROLT='F'
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND ocs.C_TANEVID <> o.C_ALTANEVID AND o.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnocs ON tnocs.ID = ocs.C_TANEVID AND tnocs.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tno ON tno.ID = o.C_ALTANEVID AND tno.TOROLT = 'F'
|
|
WHERE ocs.TOROLT='F' AND (tno.C_AKTIV='T' OR tnocs.C_AKTIV='T')
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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_ToroltOsztalycsoportVagyOsztaly'
|
|
,COUNT(1)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND ocs.TOROLT <> o.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND ocs.C_INTEZMENYID <> cs.C_ALINTEZMENYID AND cs.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE ocs.TOROLT='F'
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND ocs.C_TANEVID <> cs.C_ALTANEVID AND cs.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnocs ON tnocs.ID = ocs.C_TANEVID AND tnocs.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tncs ON tncs.ID = cs.C_ALTANEVID AND tncs.TOROLT = 'F'
|
|
WHERE ocs.TOROLT='F' AND (tncs.C_AKTIV='T' OR tnocs.C_AKTIV='T')
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.C_TANEVID
|
|
|
|
-- Osztálycsoport és Csoport Törölt inkonzisztencia (Osztálycsoport)
|
|
INSERT INTO #ProblemTable (ProblemaTipus, Tipus, Mennyiseg, Intezmeny, Tanev)
|
|
SELECT
|
|
'Error'
|
|
,'Osztalycsoport_Csoport_ToroltOsztalycsoportVagyCsoport'
|
|
,COUNT(1)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_CSOPORT cs ON ocs.ID = cs.ID AND ocs.TOROLT <> cs.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE EXISTS (SELECT 1 FROM T_OSZTALY WHERE ID = ocs.ID AND TOROLT = 'F')
|
|
AND EXISTS (SELECT 1 FROM T_CSOPORT WHERE ID = ocs.ID AND TOROLT = 'F')
|
|
AND ocs.TOROLT = 'F'
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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)
|
|
,ocs.C_INTEZMENYID
|
|
,ocs.C_TANEVID
|
|
FROM T_OSZTALYCSOPORT ocs
|
|
INNER JOIN T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = ocs.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALY WHERE ID = ocs.ID AND TOROLT = 'F')
|
|
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT WHERE ID = ocs.ID AND TOROLT = 'F')
|
|
AND ocs.TOROLT = 'F'
|
|
GROUP BY ocs.C_INTEZMENYID, ocs.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_FELHASZNALO fh ON fh.ID = f.C_TANARID AND fh.C_INTEZMENYID <> f.C_INTEZMENYID AND fh.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_FELHASZNALO fh ON fh.ID = f.C_TANARID AND f.C_TANEVID <> fh.C_TANEVID AND fh.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnf ON tnf.ID = f.C_TANEVID AND tnf.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tna ON tna.ID = f.C_TANEVID AND tna.TOROLT = 'F'
|
|
WHERE f.TOROLT='F' AND (tna.C_AKTIV='T' OR tnf.C_AKTIV='T')
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_FELHASZNALO fh ON fh.ID = f.C_TANARID AND fh.TOROLT <> f.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE NOT EXISTS (SELECT 1 FROM T_ALKALMAZOTT WHERE ID = f.C_TANARID AND TOROLT='F') AND f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_TANTARGY tgy ON tgy.ID = f.C_TANTARGYID AND tgy.TOROLT='F' AND tgy.C_INTEZMENYID<>f.C_INTEZMENYID
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_TANTARGY tgy ON tgy.ID = f.C_TANTARGYID AND f.C_TANEVID <> tgy.C_TANEVID AND tgy.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnf ON tnf.ID = f.C_TANEVID AND tnf.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tntgy ON tntgy.ID = tgy.C_TANEVID AND tntgy.TOROLT = 'F'
|
|
WHERE f.TOROLT='F' AND (tnf.C_AKTIV='T' OR tntgy.C_AKTIV='T')
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_TANTARGY tgy ON tgy.ID = f.C_TANTARGYID AND tgy.TOROLT<>f.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND f.C_INTEZMENYID <> ocs.C_INTEZMENYID AND ocs.TOROLT='F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND ocs.TOROLT='F' AND f.C_TANEVID <> ocs.C_TANEVID
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tnf ON tnf.ID = f.C_TANEVID AND tnf.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tnocs ON tnocs.ID = ocs.C_TANEVID AND tnocs.TOROLT = 'F'
|
|
WHERE f.TOROLT='F' AND (tnocs.C_AKTIV='T' OR tnf.C_AKTIV='T')
|
|
GROUP BY f.C_INTEZMENYID, f.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)
|
|
,f.C_INTEZMENYID
|
|
,f.C_TANEVID
|
|
FROM T_FOGLALKOZAS f
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND f.TOROLT <> ocs.TOROLT
|
|
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID AND i.TOROLT = 'F' AND i.C_FENNTARTOAZONOSITO<900
|
|
INNER JOIN T_TANEV tn ON tn.ID = f.C_TANEVID AND tn.TOROLT = 'F' AND tn.C_AKTIV='T'
|
|
WHERE f.TOROLT='F'
|
|
GROUP BY f.C_INTEZMENYID, f.C_TANEVID
|
|
|
|
-- Megjelenítés
|
|
SELECT * FROM #ProblemTable Order By ProblemaTipus ASC, Mennyiseg DESC
|
|
|
|
END
|
|
GO |