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 = 1565 ,@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 #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() WHERE adat.C_TANEVID = @pTanevId 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_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 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 WHERE a.C_SZTSZKOD IS NULL AND a.C_ALTANEVID = @pTanevId ) AS NincsAlkalmazottSZTSZ 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