DROP PROCEDURE IF EXISTS uspSzirStatInfra GO CREATE PROCEDURE uspSzirStatInfra @pTanevId int ,@pIntezmenyid int AS BEGIN SELECT fhely.ID AS FeladatellatasiHelyId ,ia.C_OMKOD AS IntezmenyOmAzonosito ,ia.C_NEV AS IntezmenyNev ,ia.C_VAROS AS IntezenyTelepules ,ia.C_IRANYITOSZAM AS IntezmenyIrszam ,RTRIM(CONCAT(ia.C_KOZTERULETNEV, ' ', ia.C_KOZTERULETJELLEGENEV,' ', ia.C_HAZSZAM, ' ', ia.C_EMELET, ' ', ia.C_AJTO)) AS IntezmenyCim ,ISNULL(NULLIF(ia.C_EMAILCIM, ''), '-') AS IntezmenyEmailcim ,CONCAT(ia.C_OMKOD, '/', fhely.C_FELADATELLATASIHELYKOD) AS FelhelyAzonosito ,mhely.C_NEV AS FelhelyNev ,mhely.C_VAROS AS FelhelyTelepules ,mhely.C_IRANYITOSZAM AS FelhelyIrszam ,RTRIM(CONCAT(mhely.C_KOZTERULETNEV, ' ', mhely.C_KOZTERULETJELLEGENEV,' ', mhely.C_HAZSZAM, ' ', mhely.C_EMELET, ' ', mhely.C_AJTO)) AS FelhelyCim ,ISNULL(NULLIF(mhely.C_EMAILCIM, ''), '-') AS FelhelyEmailcim ,fhelytip.C_NAME AS FelhelyTipus ,ISNULL(OvodaiCsoportszoba, 0) AS OvodaiCsoportszoba ,ISNULL(OvodaiCsoportszobaFerohely, 0) AS OvodaiCsoportszobaFerohely ,ISNULL(IskolaiOsztalyterem, 0) AS IskolaiOsztalyterem ,ISNULL(IskolaiOsztalyteremFerohely, 0) AS IskolaiOsztalyteremFerohely ,ISNULL(IskolaiSzakterem, 0) AS IskolaiSzakterem ,ISNULL(IskolaiSzakteremFerohely, 0) AS IskolaiSzakteremFerohely ,ISNULL(IskolaiTanulocsoportSzoba, 0) AS IskolaiTanulocsoportSzoba ,ISNULL(IskolaiTanulocsoportSzobaFerohely, 0) AS IskolaiTanulocsoportSzobaFerohely ,ISNULL(Tornaterem, 0) AS Tornaterem ,ISNULL(Tornaszoba, 0) AS Tornaszoba ,ISNULL(Uszomedence, 0) AS Uszomedence ,ISNULL(SzakmaiGyakorloterem, 0) AS SzakmaiGyakorloterem ,ISNULL(SzakmaiLaboratorium, 0) AS SzakmaiLaboratorium ,ISNULL(DemonstraciosTerem, 0) AS DemonstraciosTerem ,ISNULL(Tangazdasag, 0) AS Tangazdasag ,ISNULL(Taniroda, 0) AS Taniroda ,ISNULL(Tanudvar, 0) AS Tanudvar ,ISNULL(Tanbolt, 0) AS Tanbolt ,ISNULL(Tankonyha, 0) AS Tankonyha ,ISNULL(KollegiumiHaloszoba, 0) AS KollegiumiHaloszoba ,ISNULL(KollegiumiHaloszobaFerohely, 0) AS KollegiumiHaloszobaFerohely ,szirfelhely.C_NOTEBOOKOKSZAMA AS Notebook ,szirfelhely.C_ASZTALIGEPEKSZAMA AS AsztaliGep ,szirfelhely.C_OKOSTELEFONOKSZAMA AS Okostelefon ,szirfelhely.C_TABLETEKSZAMA AS Tablet ,ISNULL(internet.InteraktivTabla, 0) AS InteraktivTabla ,IIF(ISNULL(internet.FelhelyInternetkapcsolat, 0) = 0, 'Nem', 'Igen') AS FelhelyInternetkapcsolat ,ISNULL(internet.OsztalyteremInternetkapcsolat, 0) AS OsztalyteremInternetkapcsolat ,ISNULL(internet.SzakteremInternetkapcsolat, 0) AS SzakteremInternetkapcsolat ,ISNULL(internet.SzamitogepInternetkapcsolatTanulo, 0) AS SzamitogepInternetkapcsolatTanulo ,ISNULL(internet.SzamitogepInternetkapcsolatPedagogus, 0) AS SzamitogepInternetkapcsolatPedagogus ,ISNULL(internet.OsztalyteremWifi, 0) AS OsztalyteremWifi FROM T_INTEZMENY i INNER JOIN T_INTEZMENYADATOK ia ON ia.C_INTEZMENYID = i.ID AND ia.TOROLT = 'F' INNER JOIN T_FELADATELLATASIHELY fhely ON fhely.C_TANEVID = ia.C_TANEVID AND fhely.TOROLT = 'F' INNER JOIN T_MUKODESIHELY mhely ON mhely.ID = fhely.C_MUKODESIHELYID AND mhely.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE fhelytip ON fhelytip.ID = fhely.C_OKTATASINEVELESIFELADATTIPUS AND fhelytip.C_TANEVID = fhely.C_TANEVID AND fhelytip.C_INTEZMENYID = fhely.C_INTEZMENYID AND fhelytip.TOROLT = 'F' LEFT JOIN ( SELECT pvt.C_FELADATELLATASIHELYID, ISNULL([182], 0) AS OvodaiCsoportszoba ,ISNULL([181], 0) AS IskolaiOsztalyterem ,ISNULL([184], 0) AS IskolaiSzakterem ,ISNULL([185], 0) AS IskolaiTanulocsoportSzoba ,ISNULL([191], 0) AS Tornaterem ,ISNULL([190], 0) AS Tornaszoba ,ISNULL([193], 0) AS Uszomedence ,ISNULL([194], 0) AS SzakmaiGyakorloterem ,ISNULL([195], 0) AS SzakmaiLaboratorium ,ISNULL([196], 0) AS DemonstraciosTerem ,ISNULL([198], 0) AS Tangazdasag ,ISNULL([199], 0) AS Taniroda ,ISNULL([200], 0) AS Tanudvar ,ISNULL([201], 0) AS Tanbolt ,ISNULL([202], 0) AS Tankonyha ,ISNULL([188], 0) AS KollegiumiHaloszoba FROM ( SELECT x.C_FELADATELLATASIHELYID, x.C_JELLEG, COUNT(*) CNT FROM ( SELECT ocs.C_FELADATELLATASIHELYID, oo.C_TEREMID, trm.C_JELLEG, COUNT(*) AS CNT, ROW_NUMBER() OVER (PARTITION BY oo.C_TEREMID ORDER BY (COUNT(*)) desc) AS RN FROM T_OSZTALYCSOPORT ocs INNER JOIN T_ORARENDIORA oo ON oo.C_OSZTALYCSOPORTID = ocs.ID AND oo.TOROLT = 'F' INNER JOIN T_ORAREND orr ON orr.C_ORARENDIORAID = oo.ID INNER JOIN T_TEREM trm ON trm.ID = oo.C_TEREMID AND trm.TOROLT = 'F' WHERE trm.C_JELLEG IN (182, 181, 184, 185, 191, 190, 193, 194, 195, 196, 198, 199, 200, 201, 202, 188) AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = @pTanevId GROUP BY ocs.C_FELADATELLATASIHELYID, oo.C_TEREMID, trm.C_JELLEG--, trm.C_KAPACITAS ) x WHERE RN = 1 GROUP BY x.C_FELADATELLATASIHELYID, x.C_JELLEG ) tbl PIVOT ( MAX(CNT) FOR C_JELLEG IN ([182], [181], [184], [185], [191], [190], [193], [194], [195], [196], [198], [199], [200], [201], [202], [188]) ) AS pvt ) szamossag ON szamossag.C_FELADATELLATASIHELYID = fhely.ID LEFT JOIN ( SELECT pvt.C_FELADATELLATASIHELYID, ISNULL([182], 0) AS OvodaiCsoportszobaFerohely ,ISNULL([181], 0) AS IskolaiOsztalyteremFerohely ,ISNULL([184], 0) AS IskolaiSzakteremFerohely ,ISNULL([185], 0) AS IskolaiTanulocsoportSzobaFerohely ,ISNULL([188], 0) AS KollegiumiHaloszobaFerohely FROM ( SELECT x.C_FELADATELLATASIHELYID, x.C_JELLEG, SUM(C_KAPACITAS) AS C_KAPACITAS FROM ( SELECT ocs.C_FELADATELLATASIHELYID, oo.C_TEREMID, trm.C_JELLEG, ROW_NUMBER() OVER (PARTITION BY oo.C_TEREMID ORDER BY (COUNT(*)) desc) AS RN FROM T_OSZTALYCSOPORT ocs INNER JOIN T_ORARENDIORA oo ON oo.C_OSZTALYCSOPORTID = ocs.ID AND oo.TOROLT = 'F' INNER JOIN T_ORAREND orr ON orr.C_ORARENDIORAID = oo.ID INNER JOIN T_TEREM trm ON trm.ID = oo.C_TEREMID AND trm.TOROLT = 'F' WHERE trm.C_JELLEG IN (182, 181, 184, 185, 188) AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = @pTanevId GROUP BY ocs.C_FELADATELLATASIHELYID, oo.C_TEREMID, trm.C_JELLEG ) x INNER JOIN T_TEREM trm ON trm.ID = x.C_TEREMID AND trm.TOROLT = 'F' WHERE RN = 1 GROUP BY x.C_FELADATELLATASIHELYID, x.C_JELLEG ) tbl PIVOT ( MAX(C_KAPACITAS) FOR C_JELLEG IN ([182], [181], [184], [185], [188]) ) AS pvt ) ferohely ON ferohely.C_FELADATELLATASIHELYID = fhely.ID LEFT JOIN T_SZIRSTATFELADATELLATASIHELY szirfelhely ON szirfelhely.C_FELADATELLATASIHELYID = fhely.ID AND szirfelhely.TOROLT = 'F' LEFT JOIN ( SELECT x.C_FELADATELLATASIHELYID--, trm.C_JELLEG ,SUM(IIF(trm.C_ISINTERAKTTABLAVALMUNKAALLOM = 'T', 1, 0)) AS InteraktivTabla ,SUM(IIF(trm.C_ISINTERNETKAPCSOLATELERHETO = 'T' OR trm.C_WIFILEFEDETT = 'T', 1, 0)) AS FelhelyInternetkapcsolat ,SUM(IIF(trm.C_ISINTERNETKAPCSOLATELERHETO = 'T' AND trm.C_JELLEG = 181, 1, 0)) AS OsztalyteremInternetkapcsolat ,SUM(IIF(trm.C_ISINTERNETKAPCSOLATELERHETO = 'T' AND trm.C_JELLEG = 184, 1, 0)) AS SzakteremInternetkapcsolat ,SUM(trm.C_TANULOKSZAMARAHOZZAFERHINTER) AS SzamitogepInternetkapcsolatTanulo ,SUM(trm.C_PEDAGOGUSHOZZAFERHINTERNETES) AS SzamitogepInternetkapcsolatPedagogus ,SUM(IIF(trm.C_WIFILEFEDETT = 'T' AND trm.C_JELLEG = 181, 1, 0)) AS OsztalyteremWifi FROM ( SELECT ocs.C_FELADATELLATASIHELYID, oo.C_TEREMID, trm.C_JELLEG, ROW_NUMBER() OVER (PARTITION BY oo.C_TEREMID ORDER BY (COUNT(*)) desc) AS RN, COUNT(*) CNT FROM T_OSZTALYCSOPORT ocs INNER JOIN T_ORARENDIORA oo ON oo.C_OSZTALYCSOPORTID = ocs.ID AND oo.TOROLT = 'F' INNER JOIN T_ORAREND orr ON orr.C_ORARENDIORAID = oo.ID INNER JOIN T_TEREM trm ON trm.ID = oo.C_TEREMID AND trm.TOROLT = 'F' WHERE ocs.C_TANEVID = @pTanevId AND ocs.TOROLT = 'F' GROUP BY ocs.C_FELADATELLATASIHELYID, oo.C_TEREMID, trm.C_JELLEG ) x INNER JOIN T_TEREM trm ON trm.ID = x.C_TEREMID AND trm.TOROLT = 'F' WHERE RN = 1 GROUP BY x.C_FELADATELLATASIHELYID ) internet ON internet.C_FELADATELLATASIHELYID = fhely.ID WHERE i.ID = @pIntezmenyId AND ia.C_TANEVID = @pTanevId AND fhely.C_TANEVID = @pTanevId AND i.TOROLT = 'F' END GO