SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS sp_GetTanuloGondviseloExportData
GO

-- =============================================
-- Description:	<Gondviselők adatait adja vissza>
-- =============================================
CREATE PROCEDURE sp_GetTanuloGondviseloExportData
	 @pTanevId		INT
	,@pIntezmenyId	INT
AS
BEGIN

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

    DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/

    SELECT  DISTINCT
		 tanulo.ID AS						TanuloId
		,felhasznalo.C_NYOMTATASINEV AS		TanuloNeve
		,felhasznalo.C_OKTATASIAZONOSITO AS	OktatasiAzonosito
		,ocs.OsztalyNev AS				    TanuloOsztalya
		,gondviselo.ID AS					GondviseloId
		,gondviselo.C_NEV AS				GondviseloNeve
		,gondviselo.C_ROKONSAGFOKA AS		GondviseloRokonsagifoka
		,telefon.C_TELEFONSZAM AS			GondviseloTelefonszama
		,email.C_EMAILCIM AS				GondviseloEmailcime
		,ocs.KilepesDatuma AS		    KilepesDatuma
	FROM
		T_TANULO_OSSZES tanulo
	LEFT JOIN
		T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID AND gondviselo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND gondviselo.C_TANEVID = tanulo.C_ALTANEVID AND gondviselo.TOROLT = 'F'
	LEFT JOIN
		T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID AND felhasznalo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND felhasznalo.C_TANEVID = tanulo.C_ALTANEVID AND felhasznalo.TOROLT = 'F'
    OUTER APPLY (
        SELECT
             osztaly.ID
            ,osztcsop.C_NEV AS OsztalyNev
            ,tancsop.C_KILEPESDATUM AS KilepesDatuma
        FROM T_TANULOCSOPORT_OSSZES tancsop
        INNER JOIN  T_OSZTALYCSOPORT_OSSZES osztcsop ON osztcsop.ID = tancsop.C_OSZTALYCSOPORTID AND osztcsop.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId AND osztcsop.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND osztcsop.C_TANEVID = tanulo.C_ALTANEVID AND osztcsop.TOROLT = 'F'
        INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztcsop.ID AND osztaly.C_ALINTEZMENYID = tanulo.C_ALINTEZMENYID AND osztaly.C_ALTANEVID = tanulo.C_ALTANEVID AND osztaly.TOROLT = 'F'
        WHERE tancsop.C_TANULOID = tanulo.ID AND tancsop.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tancsop.C_TANEVID = tanulo.C_ALTANEVID AND tancsop.TOROLT = 'F'
    ) ocs
	LEFT JOIN
		T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = gondviselo.ID AND telefon.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND telefon.C_TANEVID = tanulo.C_ALTANEVID AND telefon.TOROLT = 'F'
	LEFT JOIN
		T_EMAIL_OSSZES email ON email.C_GONDVISELOID = gondviselo.ID AND email.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND email.C_TANEVID = tanulo.C_ALTANEVID AND email.TOROLT = 'F'
	WHERE
        tanulo.C_ALTANEVID = @pTanevId
		AND tanulo.C_ALINTEZMENYID = @pIntezmenyId
        AND tanulo.TOROLT = 'F'
	ORDER BY
		felhasznalo.C_NYOMTATASINEV
END

GO
