-- =================================================================================================== -- KIRSTAT - Felhasználó - Termek -- =================================================================================================== -- 5. MUNKALAP FELSŐ - A02T13 - OSZTÁLYTERMEK/ÓVODAI CSOPORTSZOBÁK/FÉRŐHELYEK NYITÓÁLLOMÁNYA DROP PROCEDURE IF EXISTS uspKIRstat_FelhasznaloTerem GO CREATE PROCEDURE uspKIRstat_FelhasznaloTerem @pFeladatellatasiHelyId int ,@pTanevId int ,@pIsKirstat bit = 1 AS BEGIN SET NOCOUNT ON; DECLARE @statDatum datetime SET @statDatum = (SELECT LEFT(C_NEV, 4) FROM T_TANEV WHERE ID = @pTanevId) + IIF(@pIsKirstat = 1, '1001', '1008') SELECT tm.ID AS TeremId ,tm.C_NEV AS TeremNev ,CASE WHEN tm.C_JELLEG IN (181, 182) THEN 'Osztályterem/csoportszoba' WHEN tm.C_JELLEG = 2927 THEN 'Iskolapszichológusi szoba' ELSE d.C_NAME END AS TeremTipus ,ISNULL(tm.C_KAPACITAS, 0) AS Kapacitas FROM T_TEREM tm INNER JOIN T_DICTIONARYITEMBASE d ON tm.C_JELLEG = d.ID AND d.C_TANEVID = tm.C_TANEVID CROSS APPLY ( SELECT TOP(1) C_FELADATELLATASIHELYID, A, B FROM ( SELECT C_FELADATELLATASIHELYID, COUNT(DISTINCT oo.ID) AS A, COUNT(1) AS B FROM T_ORARENDIORA oo INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = oo.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID AND tcs.C_BELEPESDATUM <= @statDatum AND (tcs.C_KILEPESDATUM > @statDatum OR tcs.C_KILEPESDATUM IS NULL) AND tcs.TOROLT = 'F' WHERE tm.ID = oo.C_TEREMID AND oo.C_ORAERVENYESSEGKEZDETE <= @statDatum AND oo.C_ORAERVENYESSEGVEGE > @statDatum AND oo.TOROLT = 'F' GROUP BY C_FELADATELLATASIHELYID ) x ORDER BY A DESC, B DESC ) oo WHERE d.ID IN (181, 182, 184, 188, 190, 191, 2926, 2927, 2956) AND tm.TOROLT = 'F' AND d.C_TANEVID = @pTanevId AND oo.C_FELADATELLATASIHELYID = @pFeladatellatasiHelyId END GO