SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('sp_GetElfogadottTantargyfelosztasok') IS NOT NULL BEGIN DROP PROCEDURE sp_GetElfogadottTantargyfelosztasok END GO CREATE PROCEDURE sp_GetElfogadottTantargyfelosztasok @tanevId INT, @intezmenyId INT, @isElfogadott BIT AS BEGIN SET NOCOUNT ON; --Fejléc SELECT intezmenyAdatok.C_NEV IntezmenyNeve ,tanev.C_NEV Tanev ,intezmenyAdatok.C_ENGEDELYEZETTALLASHELYEK EngedelyezettAllashelyek ,ISNULL('Hatályos: ' + FORMAT(intezmenyAdatSzolgaltatas.C_ELFOGADOTTTTFDATUMA, 'yyyy.MM.dd.') +' napjától','') ElfogadasDatuma FROM T_INTEZMENYADATOK_OSSZES intezmenyAdatok INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = intezmenyAdatok.C_TANEVID INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_INTEZMENYID = intezmenyAdatok.C_INTEZMENYID AND intezmenyAdatSzolgaltatas.C_TANEVID = tanev.ID WHERE intezmenyAdatok.C_TANEVID = @tanevId IF @isElfogadott = 0 BEGIN --Pedagógusok SELECT foglalkozasokTanarok.C_TANAROKID PedagogusId ,felhasznalo.C_NYOMTATASINEV PedagogusNev ,munkakor.C_NAME Munkakor ,kepesites.C_NAME Kepesites ,munkaugyiAdatok.C_KOTELEZOORASZAM KotelezoOraszam ,munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYORASZAM MunkaidoKedvezmenyOraszam ,munkaidoKedvezmenyOka.C_NAME MunkaidoKedvezmenyOka ,SUM(foglalkozas.C_ORASZAM) HetiOraszam ,ISNULL(munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYORASZAM, 0) + SUM(foglalkozas.C_ORASZAM) LekotottOraszam FROM T_FOGLALKOZASOK_TANAROK foglalkozasokTanarok INNER JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyiAdatok ON munkaugyiAdatok.C_ALKALMAZOTTID = foglalkozasokTanarok.C_TANAROKID INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozasokTanarok.C_TANAROKID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkakor ON munkakor.ID = munkaugyiAdatok.C_MUNKAKORTIPUSA AND munkaugyiAdatok.C_TANEVID = munkakor.C_TANEVID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kepesites ON kepesites.ID = munkaugyiAdatok.C_BESOROLASIFOKOZAT AND munkaugyiAdatok.C_TANEVID = kepesites.C_TANEVID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkaidoKedvezmenyOka ON munkaidoKedvezmenyOka.ID = munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYOKA AND munkaugyiAdatok.C_TANEVID = munkaidoKedvezmenyOka.C_TANEVID INNER JOIN T_FOGLALKOZAS_OSSZES foglalkozas ON foglalkozas.ID = foglalkozasokTanarok.C_FOGLALKOZASOKID AND foglalkozas.TOROLT = 'F' INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F' WHERE foglalkozas.C_TANEVID = @tanevId AND munkaugyiAdatok.TOROLT = 'F' GROUP BY C_TANAROKID, C_NYOMTATASINEV, munkakor.C_NAME, kepesites.C_NAME, C_KOTELEZOORASZAM, C_MUNKAIDOKEDVEZMENYORASZAM, munkaidoKedvezmenyOka.C_NAME ORDER BY felhasznalo.C_NYOMTATASINEV --Osztályok / csoportok SELECT ocs.C_NEV OsztalyCsoport ,SUM(C_ORASZAM) Osszesoraszam FROM T_FOGLALKOZAS_OSSZES foglalkozas INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = foglalkozas.C_OSZTALYCSOPORTID INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F' WHERE foglalkozas.TOROLT = 'F' AND foglalkozas.C_TANEVID = @tanevId GROUP BY ocs.C_NEV --Tantárgyfelosztás SELECT felhasznalo.C_NYOMTATASINEV PedagogusNeve ,osztalyCsoport.C_NEV OsztalyCsoport ,tantargy.C_NEV Tantargy ,foglalkozas.C_ORASZAM Oraszam FROM T_FOGLALKOZAS_OSSZES foglalkozas INNER JOIN T_FOGLALKOZASOK_TANAROK foglalkozasokTanarok ON foglalkozas.ID = foglalkozasokTanarok.C_FOGLALKOZASOKID INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozasokTanarok.C_TANAROKID INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = foglalkozas.C_TANTARGYID INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F' WHERE foglalkozas.C_TANEVID = @tanevId AND foglalkozas.TOROLT = 'F' ORDER BY felhasznalo.C_NYOMTATASINEV END ELSE BEGIN --Pedagógusok SELECT C_TANARNEVE PedagogusNev ,C_TANARMUNKAKORE Munkakor ,C_TANARPEDAGOGIAIKEPESITESE Kepesites ,C_TANARKOTELEZOORASZAMA KotelezoOraszam ,C_TANARMUNKAIDOKEDVEZMENYE MunkaidoKedvezmenyOraszam ,C_TANARMUNKAIDOKEDVEZMENYOKA MunkaidoKedvezmenyOka ,SUM(C_ORASZAM) HetiOraszam ,ISNULL(C_TANARMUNKAIDOKEDVEZMENYE, 0) + SUM(C_ORASZAM) LekotottOraszam FROM T_FOGLALKOZASARCHIV_OSSZES WHERE C_TANEVID = @tanevId AND C_INTEZMENYID = @intezmenyId AND TOROLT = 'F' GROUP BY C_TANARNEVE, C_TANARMUNKAKORE, C_TANARPEDAGOGIAIKEPESITESE, C_TANARKOTELEZOORASZAMA, C_TANARMUNKAIDOKEDVEZMENYE, C_TANARMUNKAIDOKEDVEZMENYOKA ORDER BY C_TANARNEVE --Osztályok / csoportok SELECT C_OSZTALYCSOPORTNEVE OsztalyCsoport ,SUM(C_ORASZAM) OsszesOraszam FROM T_FOGLALKOZASARCHIV_OSSZES WHERE TOROLT = 'F' AND C_TANEVID = @tanevId AND C_INTEZMENYID = @intezmenyId GROUP BY C_OSZTALYCSOPORTNEVE --Tantárgyfelosztás SELECT C_TANARNEVE PedagogusNeve ,C_OSZTALYCSOPORTNEVE OsztalyCsoport ,C_TANTARGYNEVE Tantargy ,C_ORASZAM Oraszam FROM T_FOGLALKOZASARCHIV_OSSZES WHERE TOROLT = 'F' AND C_TANEVID = @tanevId AND C_INTEZMENYID = @intezmenyId ORDER BY C_TANARNEVE END END GO