136 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
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: <b>' + FORMAT(intezmenyAdatSzolgaltatas.C_ELFOGADOTTTTFDATUMA, 'yyyy.MM.dd.') +'</b> 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
 | 
						|
	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 |