97 lines
3.7 KiB
Transact-SQL
97 lines
3.7 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetAktivTanevValtasaModel
|
|
GO
|
|
CREATE PROCEDURE uspGetAktivTanevValtasaModel
|
|
@pTanevId INT
|
|
,@pIntezmenyId INT
|
|
,@pKovTanevId INT
|
|
,@pSzakgyakKezdoDatum DATETIME
|
|
,@pSzakgyakVegDatum DATETIME
|
|
,@pOsszefuggoSzakGyakTipus INT
|
|
,@pOktNevKatTipus INT
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT (
|
|
SELECT COUNT(1)
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
|
AND ocs.TOROLT = 'F'
|
|
AND ocs.C_FELADATKATEGORIAID = @pOktNevKatTipus
|
|
INNER JOIN T_OSZTALY_OSSZES osztaly ON tcs.C_OSZTALYCSOPORTID = osztaly.ID
|
|
AND tcs.C_TANEVID = osztaly.C_ALTANEVID AND osztaly.TOROLT ='F'
|
|
WHERE tcs.C_KILEPESDATUM IS NULL
|
|
AND tcs.TOROLT = 'F'
|
|
AND tcs.C_TANEVID = @pTanevId
|
|
) KiNemSoroltTanulokOsztaly
|
|
,(
|
|
SELECT COUNT(1)
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_CSOPORT_OSSZES csoport ON tcs.C_OSZTALYCSOPORTID = csoport.ID
|
|
AND tcs.C_TANEVID = csoport.C_ALTANEVID AND csoport.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON csoport.ID = ocs.ID
|
|
AND ocs.TOROLT = 'F'
|
|
AND ocs.C_FELADATKATEGORIAID = @pOktNevKatTipus
|
|
WHERE tcs.C_KILEPESDATUM IS NULL
|
|
AND tcs.TOROLT = 'F'
|
|
AND tcs.C_TANEVID = @pTanevId
|
|
) KiNemSoroltTanulokCsoport
|
|
,(
|
|
SELECT COUNT(1)
|
|
FROM T_NEBULO_OSSZES nebulo
|
|
WHERE nebulo.TOROLT = 'F'
|
|
AND nebulo.C_FELVETELSTATUSZA = 5401
|
|
AND 0 = (
|
|
SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES f
|
|
WHERE f.C_OKTATASIAZONOSITO = nebulo.C_OKTATASIAZONOSITOSZAMA
|
|
AND f.C_TANEVID <> nebulo.C_TANEVID AND f.TOROLT = 'F'
|
|
)
|
|
AND nebulo.C_TANEVID = @pTanevId
|
|
) BeNemSoroltNebulok
|
|
,(
|
|
SELECT COUNT(1)
|
|
FROM T_ALKALMAZOTT_OSSZES a
|
|
INNER JOIN T_TANEV_OSSZES t ON t.ID = @pKovTanevId
|
|
AND t.C_KOVETKEZO = 'T' AND t.TOROLT = 'F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = a.ID AND m.TOROLT = 'F'
|
|
LEFT JOIN T_ORARENDIORA_OSSZES oo ON oo.C_TANARID = a.ID
|
|
AND oo.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = a.ID
|
|
AND f.TOROLT = 'F'
|
|
WHERE a.C_ALTANEVID = @pKovTanevId
|
|
AND C_ALKALMAZASMEGSZUNESE <= DATEADD(DAY, - 1, t.C_KEZDONAP)
|
|
AND oo.ID IS NULL
|
|
AND f.ID IS NULL
|
|
AND a.TOROLT = 'F'
|
|
) VanTorlendoAlkalmazott
|
|
,(
|
|
SELECT COUNT(1)
|
|
FROM T_FELHASZNALO_OSSZES tanulo
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tanulo.ID = tcs.C_TANULOID
|
|
AND tcs.TOROLT = 'F'
|
|
AND tcs.C_BELEPESDATUM < @pSzakgyakVegDatum
|
|
AND (
|
|
tcs.C_KILEPESDATUM > @pSzakgyakKezdoDatum
|
|
OR tcs.C_KILEPESDATUM IS NULL
|
|
)
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID
|
|
AND cs.C_TIPUSA = @pOsszefuggoSzakGyakTipus
|
|
AND cs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON cs.ID = ocs.ID
|
|
AND ocs.TOROLT = 'F'
|
|
AND ocs.C_FELADATKATEGORIAID = @pOktNevKatTipus
|
|
LEFT JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES szakgyak ON szakgyak.C_TANULOID = tanulo.ID
|
|
AND szakgyak.TOROLT = 'F'
|
|
WHERE tanulo.TOROLT = 'F'
|
|
AND szakgyak.ID IS NULL
|
|
) NemErtekeltOsszefuggoSzakmaiGyakorlatosTanulok
|
|
FROM T_INTEZMENYADATOK_OSSZES intezmenyAdatok
|
|
INNER JOIN T_INTEZMENY_OSSZES intezmeny ON intezmeny.ID = intezmenyAdatok.C_INTEZMENYID AND intezmeny.TOROLT = 'F'
|
|
WHERE intezmenyAdatok.TOROLT = 'F'
|
|
AND intezmenyAdatok.C_TANEVID = @pTanevId
|
|
AND intezmenyAdatok.C_INTEZMENYID = @pIntezmenyId
|
|
END
|
|
GO
|
|
|
|
|