DROP PROCEDURE IF EXISTS [dbo].[sp_GetAdminDashboardAdminisztracio] GO CREATE PROCEDURE [dbo].[sp_GetAdminDashboardAdminisztracio] @pTanevId int ,@pNaFeladatellatasihelyTipus int = 1156 ,@pNaEvfolyamTipusa int = 1296 ,@pNaCsoportTipusa int = 1031 ,@pNaNemTipusa int = 1384 ,@pNaAlkalmazottMunkakor int = 548 ,@pNaAlkalmazottMunkaviszony int = 643 ,@pNaBesorolasiFokozat int = 3040 ,@pNaTargyKategoria int = 1197 ,@pNincsAnyanyelv int = 493 ,@pNincsAllampolgarsag int = 216 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements. 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 #AKTIV_ALKALMAZOTT (ID int,INDEX IX1 CLUSTERED(ID)); INSERT INTO #AKTIV_ALKALMAZOTT (ID) SELECT f.ID FROM T_FELHASZNALO f inner join T_MUNKAUGYIADATOK munkaugyiadat ON munkaugyiadat.C_ALKALMAZOTTID = f.ID AND munkaugyiadat.C_TARTOSHELYETTESITES = 'F' AND ISNULL(munkaugyiadat.C_ALKALMAZASKEZDETE,getdate()) <= getdate() AND ISNULL(munkaugyiadat.C_ALKALMAZASMEGSZUNESE,getdate()) >= getdate() AND munkaugyiadat.TOROLT = 'F' WHERE f.C_TANEVID = @pTanevId 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) ) 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_CSOPORT_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 UresCsoport ,(SELECT COUNT(1) FROM T_OSZTALYCSOPORT_OSSZES adat INNER JOIN T_OSZTALY_OSSZES o ON o.ID = adat.ID 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 = adat.C_TANEVID 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 #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID INNER JOIN T_MUNKAUGYIADATOK_OSSZES ON T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = adat.ID WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_NEME = @pNaNemTipusa AND adat.C_NYOMTATASINEV NOT LIKE '[[]HO%' AND adat.C_NYOMTATASINEV NOT LIKE '[[]BTA%' AND T_MUNKAUGYIADATOK_OSSZES.C_MUNKAKORTIPUSA NOT IN (569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568) ) AS NincsNemAlkalmazott ,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_NEME = @pNaNemTipusa ) AS NincsNemTanulo ,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F' WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND m.C_MUNKAKORTIPUSA = @pNaAlkalmazottMunkakor ) AS NincsMunkakorAlkalmazott ,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F' WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND m.C_MUNKAVISZONYTIPUSA = @pNaAlkalmazottMunkaviszony AND m.C_MUNKAKORTIPUSA NOT IN (569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568) ) AS NincsMunkaviszonyTipusAlkalmazott ,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F' WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND m.C_MUNKAKORTIPUSA NOT IN (569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568) AND m.C_BESOROLASIFOKOZAT =@pNaBesorolasiFokozat ) AS NincsBesorolasiFokozatAlkalmazott ,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND (adat.C_ANYANYELVE = @pNincsAnyanyelv OR adat.C_ANYANYELVE IS NULL) ) AS NincsAnyanyelvTanulo ,(SELECT COUNT(1) FROM T_FELHASZNALO_OSSZES adat INNER JOIN T_TANULO_OSSZES a ON a.ID = adat.ID AND a.C_ALTANEVID = adat.C_TANEVID WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND adat.C_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 T_FELHASZNALO_OSSZES adat INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = adat.ID AND m.C_TANEVID = adat.C_TANEVID AND m.TOROLT = 'F' WHERE adat.C_TANEVID = @pTanevId AND adat.TOROLT = 'F' AND m.C_MUNKAKORTIPUSA NOT IN (569,572,6404,571,586,570,590,566,561,563,559,584,3026,589,565,585,7356,6421,594,564,579,568) ) AS NSzFHRosszMunkakor ,(SELECT COUNT(1) FROM #AKTIV_ALKALMAZOTT aa LEFT JOIN T_EMAIL_OSSZES ON T_EMAIL_OSSZES.C_FELHASZNALOID = aa.ID AND T_EMAIL_OSSZES.TOROLT = 'F' AND T_EMAIL_OSSZES.C_ALAPERTELMEZETT = 'T' WHERE T_EMAIL_OSSZES.ID IS NULL ) AS NincsEmailAlkalmazott 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 = tv.ID AND ia.TOROLT = 'F' WHERE tv.TOROLT = 'F' AND tv.ID = @pTanevId END GO