251 lines
10 KiB
Transact-SQL
251 lines
10 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[uspGetAdminDashboardAdminisztracio]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspGetAdminDashboardAdminisztracio]
|
|
@pTanevId int
|
|
,@pNaFeladatellatasihelyTipus int = 1156
|
|
,@pNaEvfolyamTipusa int = 1296
|
|
,@pNaCsoportTipusa int = 1031
|
|
,@pNaNemTipusa int = 1565
|
|
,@pNaAlkalmazottMunkakor int = 548
|
|
,@pNaAlkalmazottMunkaviszony int = 643
|
|
,@pNaBesorolasiFokozat int = 3040
|
|
,@pNaTargyKategoria int = 1197
|
|
,@pNincsAnyanyelv int = 493
|
|
,@pNincsAllampolgarsag int = 216
|
|
,@pTanarAlkalmazottMunkakor int = 8384
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @TanevElsoNapja datetime = (SELECT ISNULL(C_KEZDONAP, CAST(GETDATE() AS DATE)) FROM T_TANEV WHERE ID = @pTanevId AND TOROLT = 'F')
|
|
DECLARE @OsztalyCsoportBelepesDatum DATETIME = GETDATE()
|
|
|
|
CREATE TABLE #AlkalmazottMunkaugyiAdattal (
|
|
Id INT
|
|
,BesorolasiFokozat INT NULL
|
|
,MunkakorTipusa INT NULL
|
|
,MunkaviszonyTipusa INT NULL
|
|
)
|
|
|
|
INSERT INTO #AlkalmazottMunkaugyiAdattal (Id, BesorolasiFokozat, MunkakorTipusa, MunkaviszonyTipusa)
|
|
SELECT
|
|
adat.ID
|
|
,m.C_BESOROLASIFOKOZAT
|
|
,m.C_MUNKAKORTIPUSA
|
|
,m.C_MUNKAVISZONYTIPUSA
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = @pTanevId AND m.TOROLT = 'F'
|
|
AND m.C_TARTOSHELYETTESITES = 'F' AND ISNULL(m.C_ALKALMAZASKEZDETE, GETDATE()) <= GETDATE()
|
|
AND ISNULL(m.C_ALKALMAZASMEGSZUNESE, GETDATE()) >= GETDATE()
|
|
INNER JOIN T_MUNKAKORTIPUS_OSSZES mkt ON mkt.ID = m.C_MUNKAKORTIPUSA AND mkt.C_ALTANEVID = m.C_TANEVID AND mkt.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = @pTanarAlkalmazottMunkakor
|
|
AND adat.TOROLT = 'F'
|
|
|
|
CREATE TABLE #Tanulo (
|
|
Id INT
|
|
,Neme INT NULL
|
|
,Allampolgarsaga INT NULL
|
|
,Anyanyelve INT NULL
|
|
)
|
|
|
|
INSERT INTO #Tanulo (Id, Neme, Allampolgarsaga, Anyanyelve)
|
|
SELECT
|
|
adat.ID
|
|
,adat.C_NEME
|
|
,adat.C_ALLAMPOLGARSAGA
|
|
,adat.C_ANYANYELVE
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
|
|
IF @OsztalyCsoportBelepesDatum < @TanevElsoNapja BEGIN
|
|
SET @OsztalyCsoportBelepesDatum = @TanevElsoNapja;
|
|
END
|
|
|
|
SELECT
|
|
ia.C_NEV AS IntezmenyNev
|
|
,i.C_AZONOSITO AS IntezmenyAzonosito
|
|
,i.C_ALTERNATIVAZONOSITO AS IntezmenyAlternativAzonosito
|
|
,tv.C_NEV AS TanevNev
|
|
,(SELECT TOP 1 ISNULL(C_DATE, '20201231') FROM T_LICENCE_OSSZES) AS LicenceDatum
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELADATELLATASIHELY_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND adat.C_OKTATASINEVELESIFELADATTIPUS = @pNaFeladatellatasihelyTipus
|
|
) AS NincsFeladatellatasiHelyTipus
|
|
,(SELECT COUNT(1)
|
|
FROM T_MUKODESIHELY_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND NOT EXISTS (SELECT 1 FROM T_FELADATELLATASIHELY_OSSZES fh WHERE fh.C_MUKODESIHELYID = adat.ID AND fh.C_TANEVID = @pTanevId AND fh.TOROLT = 'F')
|
|
) AS NincsFeladatellatasiHelyMukodesiHely
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALY_OSSZES adat
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
WHERE tcs.C_OSZTALYCSOPORTID = adat.ID
|
|
AND tcs.TOROLT = 'F'
|
|
AND (tcs.C_BELEPESDATUM <= @OsztalyCsoportBelepesDatum
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @OsztalyCsoportBelepesDatum))
|
|
AND tcs.C_TANEVID = @pTanevId
|
|
)
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_ALTANEVID = @pTanevId
|
|
) AS UresOsztaly
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALYCSOPORT_OSSZES adat
|
|
INNER JOIN T_CSOPORT_OSSZES csoport ON adat.ID = csoport.ID AND csoport.TOROLT = 'F'
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
WHERE tcs.C_OSZTALYCSOPORTID = adat.ID
|
|
AND tcs.TOROLT = 'F'
|
|
AND (tcs.C_BELEPESDATUM <= @OsztalyCsoportBelepesDatum
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @OsztalyCsoportBelepesDatum))
|
|
AND tcs.C_TANEVID = @pTanevId
|
|
)
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_TANEVID = @pTanevId
|
|
) AS UresCsoport
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALYCSOPORT_OSSZES adat
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = adat.ID AND o.C_ALTANEVID = @pTanevId AND o.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND (adat.C_EVFOLYAMTIPUSA = @pNaEvfolyamTipusa or adat.C_EVFOLYAMTIPUSA IS NULL)
|
|
) NincsEvfolyamOsztaly
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALYCSOPORT_OSSZES adat
|
|
INNER JOIN T_CSOPORT_OSSZES csoport ON csoport.ID = adat.ID AND csoport.C_ALTANEVID = @pTanevId AND csoport.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND csoport.C_OSZTALYBONTASID IS NULL AND (adat.C_EVFOLYAMTIPUSA = @pNaEvfolyamTipusa OR adat.C_EVFOLYAMTIPUSA IS NULL)
|
|
) AS NincsEvfolyamCsoport
|
|
,(SELECT COUNT(1)
|
|
FROM T_CSOPORT_OSSZES adat
|
|
WHERE adat.C_ALTANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_TIPUSA = @pNaCsoportTipusa
|
|
) AS NincsTipusCsoport
|
|
,(SELECT COUNT(1)
|
|
FROM T_OSZTALY_OSSZES adat
|
|
WHERE adat.C_ALTANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_OSZTALYFONOKID IS NULL
|
|
) NincsOsztalyOsztalyfonok
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES adat
|
|
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = @pTanevId AND a.TOROLT = 'F'
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F'
|
|
AND (adat.C_NEME = @pNaNemTipusa OR adat.C_NEME IS NULL)
|
|
AND adat.C_NYOMTATASINEV NOT LIKE '[[]HO%'
|
|
AND adat.C_NYOMTATASINEV NOT LIKE '[[]BTA%'
|
|
) AS NincsNemAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM #Tanulo t
|
|
WHERE t.Neme = @pNaNemTipusa OR t.Neme IS NULL
|
|
) AS NincsNemTanulo
|
|
,(SELECT COUNT(1)
|
|
FROM #AlkalmazottMunkaugyiAdattal am
|
|
WHERE am.MunkakorTipusa = @pNaAlkalmazottMunkakor
|
|
) AS NincsMunkakorAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM #AlkalmazottMunkaugyiAdattal am
|
|
WHERE am.MunkaviszonyTipusa = @pNaAlkalmazottMunkaviszony
|
|
) AS NincsMunkaviszonyTipusAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM #AlkalmazottMunkaugyiAdattal am
|
|
WHERE am.BesorolasiFokozat = @pNaBesorolasiFokozat
|
|
) AS NincsBesorolasiFokozatAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM #Tanulo t
|
|
WHERE t.Anyanyelve = @pNincsAnyanyelv OR t.Anyanyelve IS NULL
|
|
) AS NincsAnyanyelvTanulo
|
|
,(SELECT COUNT(1)
|
|
FROM #Tanulo t
|
|
WHERE t.Allampolgarsaga = @pNincsAllampolgarsag
|
|
) AS NincsAllampolgarsagaTanulo
|
|
,(SELECT COUNT(1)
|
|
FROM T_CSENGETESIREND_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_AKTIV = 'T'
|
|
) AS NincsAktivCsengetesiRend /* AktivCsengetesiRendekSzáma */
|
|
,(SELECT COUNT(1)
|
|
FROM T_TANTARGY_OSSZES adat
|
|
WHERE adat.C_TANEVID = @pTanevId
|
|
AND adat.TOROLT = 'F'
|
|
AND adat.C_TARGYKATEGORIA = @pNaTargyKategoria
|
|
) AS NincsKategoriaTantargy
|
|
,(SELECT COUNT(1)
|
|
FROM #AlkalmazottMunkaugyiAdattal am
|
|
WHERE am.MunkakorTipusa NOT IN
|
|
(6914, 6361, 6432, 6433, 6461, 553, 6414,
|
|
6812, 597, 6392, 6375, 6457, 6352, 6393,
|
|
6394, 6709, 584, 561, 589, 3026, 563, 585,
|
|
559, 564, 6421, 565, 566, 568, 594, 6404,
|
|
569, 571, 586, 590, 570, 572)
|
|
) AS NSzFHRosszMunkakor
|
|
,(SELECT COUNT(1)
|
|
FROM #AlkalmazottMunkaugyiAdattal am
|
|
LEFT JOIN T_EMAIL_OSSZES ON T_EMAIL_OSSZES.C_FELHASZNALOID = am.ID AND T_EMAIL_OSSZES.TOROLT = 'F' AND T_EMAIL_OSSZES.C_ALAPERTELMEZETT = 'T' AND T_EMAIL_OSSZES.C_TANEVID = @pTanevId
|
|
WHERE T_EMAIL_OSSZES.ID IS NULL
|
|
) AS NincsEmailAlkalmazott
|
|
,(SELECT COUNT(1)
|
|
FROM T_ALKALMAZOTT_OSSZES a
|
|
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = a.ID
|
|
AND ma.C_TANEVID = @pTanevId
|
|
AND ma.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = a.ID
|
|
WHERE a.C_SZTSZKOD IS NULL
|
|
AND a.C_ALTANEVID = @pTanevId
|
|
AND a.TOROLT = 'F'
|
|
AND ma.C_BETOLTETLENALLASHELY = 'F'
|
|
AND ma.C_MUNKAKORTIPUSA NOT IN ( 6709, 6710 )
|
|
AND f.C_NYOMTATASINEV NOT LIKE '[[]%'
|
|
) AS NincsAlkalmazottSZTSZ
|
|
,(SELECT COUNT(1)
|
|
FROM T_EMAIL_OSSZES e
|
|
WHERE e.C_TANEVID = @pTanevId
|
|
AND e.TOROLT = 'F'
|
|
AND e.C_ISHIBASANMEGADVA = 'T'
|
|
) AS VanHibasEmailCim
|
|
,(SELECT COUNT(1)
|
|
FROM T_FELHASZNALO f
|
|
WHERE f.C_TANEVID = @pTanevId
|
|
AND f.TOROLT = 'F'
|
|
AND f.C_ISCOVIDFERTOZOTT = 'T'
|
|
) AS VanCovidFertozott
|
|
,(SELECT COUNT(1)
|
|
FROM T_GONDVISELO g
|
|
WHERE g.C_TANEVID = @pTanevId
|
|
AND g.TOROLT = 'F'
|
|
AND g.C_ISCOVIDBEJELENTO = 'T'
|
|
) AS VanCovidBejelentett
|
|
,(SELECT COUNT(1)
|
|
FROM (
|
|
SELECT DISTINCT
|
|
f.ID AS TanuloId
|
|
,COUNT(1) OVER (PARTITION BY f.ID) AS CNT
|
|
FROM T_TANULO_OSSZES t
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID AND f.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = t.ID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
|
ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
|
WHERE t.TOROLT = 'F'
|
|
AND ocs.C_FELADATKATEGORIAID = 7553
|
|
AND tcs.C_BELEPESDATUM <= GETDATE()
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE() )
|
|
) x
|
|
WHERE x.CNT > 1
|
|
) AS VanKettosOsztalybesorolas
|
|
|
|
FROM T_TANEV_OSSZES tv
|
|
INNER JOIN T_INTEZMENY_OSSZES i ON i.ID = tv.C_INTEZMENYID AND i.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = tv.C_INTEZMENYID AND ia.C_TANEVID = @pTanevId AND ia.TOROLT = 'F'
|
|
WHERE tv.TOROLT = 'F'
|
|
AND tv.ID = @pTanevId
|
|
|
|
END
|
|
GO
|