118 lines
4.1 KiB
Transact-SQL
118 lines
4.1 KiB
Transact-SQL
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
|