﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetKozossegiSzolgalatokData]') IS NOT NULL 
BEGIN
	DROP PROCEDURE [dbo].[sp_GetKozossegiSzolgalatokData]
END
GO

-- =============================================
-- Description:	<Előszedjük az osztály csoport tanulóinak(korábbi évekre visszamenőleg) a közösségi szolgálatait>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetKozossegiSzolgalatokData]
	 @pIntezmenyId						INT
	,@pOsztalyCsoportId					INT

AS
BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	SELECT
		 CurrentTanulo.TanuloId													ID
		,CurrentTanulo.TanuloId													TanuloId
		,CurrentTanulo.TanuloNev												TanuloNev
		,IIF(CurrentTanulo.Nevsorrend = 'T',									--
			 CurrentTanulo.TanuloUtonev + ' ' + CurrentTanulo.TanuloVezeteknev,	--
			 CurrentTanulo.TanuloVezeteknev + ' ' + CurrentTanulo.TanuloUtonev)	TanuloNevElotagNelkul
		,CurrentTanulo.AnyjaNeve												AnyjaNeve
		,CurrentTanulo.SzuletesiIdo												SzuletesiIdo
		,CurrentTanulo.OsztalyNev												OsztalyNev
		,SUM(KozossegiSzolgalat.C_ORASZAM)										OsszesOraszam
	FROM 
		T_FELHASZNALO_OSSZES Tanulo
	LEFT JOIN (
		SELECT DISTINCT
			 Tanulo.C_OKTATASIAZONOSITO									OktatasiAzonosito
			,Tanulo.ID													TanuloId
			,Tanulo.C_NYOMTATASINEV										TanuloNev
			,Tanulo.C_NEVSORREND										Nevsorrend
			,Tanulo.C_VEZETEKNEV										TanuloVezeteknev
			,Tanulo.C_UTONEV											TanuloUtonev
			,Tanulo.C_ANYJANEVE											AnyjaNeve
			,Tanulo.C_SZULETESIDATUM									SzuletesiIdo
			,OsztalyCsoport.C_NEV										OsztalyNev
		FROM 
			T_FELHASZNALO Tanulo
		LEFT JOIN 
			T_TANULOCSOPORT TanuloCsoport ON 
					TanuloCsoport.C_TANULOID = Tanulo.ID 
				AND TanuloCsoport.TOROLT = 'F'
		LEFT JOIN 
			T_OSZTALYCSOPORT OsztalyCsoport ON
					OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID 
				AND OsztalyCsoport.TOROLT = 'F'
		WHERE 
				Tanulo.TOROLT = 'F'
			AND OsztalyCsoport.ID = @pOsztalyCsoportId
		) CurrentTanulo ON 
			CurrentTanulo.OktatasiAzonosito IS NOT NULL
	LEFT JOIN 
		T_TANULOKOZOSSEGISZOLGALAT_OSSZES KozossegiSzolgalat ON
				KozossegiSzolgalat.C_TANULOID = Tanulo.ID
			AND KozossegiSzolgalat.C_INTEZMENYID = @pIntezmenyId
			AND KozossegiSzolgalat.TOROLT = 'F'
	WHERE 
		    Tanulo.C_OKTATASIAZONOSITO = CurrentTanulo.OktatasiAzonosito
		AND Tanulo.C_INTEZMENYID = @pIntezmenyId
		AND Tanulo.TOROLT = 'F'
	GROUP BY 					
		 CurrentTanulo.TanuloId
		,CurrentTanulo.TanuloNev
		,CurrentTanulo.Nevsorrend
		,CurrentTanulo.TanuloVezeteknev
		,CurrentTanulo.TanuloUtonev
		,CurrentTanulo.AnyjaNeve
		,CurrentTanulo.SzuletesiIdo	
		,CurrentTanulo.OsztalyNev
	ORDER BY 
		TanuloNevElotagNelkul ASC

END


GO

