DROP PROCEDURE IF EXISTS uspGetAdminDashboardStatisztika GO CREATE PROCEDURE uspGetAdminDashboardStatisztika @pTanevId int ,@pDatum datetime ,@pTanarAlkalmazottMunkakor int = 8384 AS BEGIN SET NOCOUNT ON; SELECT ia.C_NEV AS IntezmenyNev ,i.C_AZONOSITO AS IntezmenyAzonosito ,i.C_ALTERNATIVAZONOSITO AS IntezmenyAlternativAzonosito ,tv.C_NEV AS TanevNev ,(SELECT C_NEV FROM T_TANEV_OSSZES adat WHERE adat.C_INTEZMENYID = i.ID AND adat.TOROLT = 'F' AND adat.C_AKTIV = 'T' ) AS AktivTanevNeve ,(SELECT COUNT(1) FROM T_ALKALMAZOTT_OSSZES alkalmazott INNER JOIN T_MUNKAUGYIADATOK munkaugyiadat ON munkaugyiadat.C_ALKALMAZOTTID = alkalmazott.ID AND ISNULL(munkaugyiadat.C_ALKALMAZASKEZDETE, GETDATE()) <= GETDATE() AND ISNULL(munkaugyiadat.C_ALKALMAZASMEGSZUNESE, GETDATE()) >= GETDATE() AND munkaugyiadat.C_TANEVID = alkalmazott.C_ALTANEVID AND munkaugyiadat.TOROLT = 'F' INNER JOIN T_MUNKAKORTIPUS_OSSZES mkt ON mkt.ID = munkaugyiadat.C_MUNKAKORTIPUSA AND mkt.C_ALTANEVID = munkaugyiadat.C_TANEVID AND mkt.TOROLT = 'F' WHERE alkalmazott.TOROLT = 'F' AND alkalmazott.C_ALTANEVID = tv.ID AND mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = @pTanarAlkalmazottMunkakor ) AS AlkalmazottakSzama ,(SELECT COUNT(1) FROM T_TANULO_OSSZES t LEFT JOIN ( SELECT t.ID TanuloId ,tcs.C_OSZTALYCSOPORTID OsztalyId FROM T_TANULO_OSSZES t INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = t.ID AND tcs.TOROLT='F' AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum) INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT='F' WHERE t.C_ALTANEVID = tv.ID ) AS tanugyiAdatok ON tanugyiAdatok.TanuloId = t.ID INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = tanugyiAdatok.TanuloId AND tcs.C_OSZTALYCSOPORTID = tanugyiAdatok.OsztalyId AND tcs.TOROLT='F' AND tcs.C_BELEPESDATUM <= CAST(GETDATE() AS DATE) AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > CAST(GETDATE() AS DATE)) WHERE t.TOROLT = 'F' AND t.C_ALTANEVID = tv.ID ) AS AktivTanulokSzama ,(SELECT COUNT(1) FROM T_TANULO_OSSZES t LEFT JOIN ( SELECT t.ID TanuloId FROM T_TANULO_OSSZES t INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = t.ID AND tcs.TOROLT='F' AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum) INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT='F' WHERE t.C_ALTANEVID = tv.ID ) AS tanugyiAdatok ON tanugyiAdatok.TanuloId = t.ID WHERE t.TOROLT = 'F' AND t.C_ALTANEVID = tv.ID ) AS TanulokSzama ,(SELECT COUNT(1) FROM T_TEREM_OSSZES adat WHERE adat.C_TANEVID = tv.ID AND adat.TOROLT = 'F' ) AS TermekSzama ,(SELECT COUNT(1) FROM T_ESZKOZ_OSSZES adat WHERE adat.C_TANEVID = tv.ID AND adat.TOROLT = 'F' ) AS EszkozokSzama ,(SELECT SUM(adat.C_ORASZAM) FROM T_FOGLALKOZAS_OSSZES adat WHERE adat.C_TANEVID = tv.ID AND adat.TOROLT = 'F' ) AS TtfOrakSzama ,(SELECT COUNT(1) FROM T_OSZTALY_OSSZES adat WHERE adat.C_ALTANEVID = tv.ID AND adat.TOROLT = 'F' ) AS OsztalyokSzama ,(SELECT COUNT(1) FROM T_CSOPORT_OSSZES adat WHERE adat.C_ALTANEVID = tv.ID AND adat.TOROLT = 'F' ) AS CsoportokSzama FROM T_TANEV_OSSZES tv INNER JOIN T_INTEZMENY i ON i.ID = tv.C_INTEZMENYID 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