﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS [dbo].sp_GetGondviselokElerhetosegei
GO

CREATE PROCEDURE [dbo].sp_GetGondviselokElerhetosegei

 @pIntezmenyId INT
,@pTanevId INT
 

AS
BEGIN

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

    SELECT DISTINCT
                    tanulo.C_NYOMTATASINEV																		AS TanuloNeve
					,dbo.fnGetTanuloAktualisOsztaly(tanulo.ID)													AS  Osztaly /*TODO:Tobb Osztaly*//*OM-1647*/
                    , Tgondviselo.C_NEV																			AS  GondviseloNeve
                    , rokonsag_foka_dib.C_NAME																	AS  RokonsagFoka
					,tanulo.C_OKTATASIAZONOSITO																	AS  OktatasiAzonosito
					,tanulo.C_ANYJANEVE																			AS  TanuloAnyjaNeve
					,tanulo.C_SZULETESIHELY																		AS  TanuloSzuletesiHelye
					,CONVERT(nvarchar(25), tanulo.C_SZULETESIDATUM, 102)										AS  TanuloSzuletesiDatuma
                    , IIF(telefon.C_TELEFONSZAM IS NULL, '', telefon.C_TELEFONSZAM)								AS  Telefon
                    , IIF(email.C_EMAILCIM IS NULL, '', email.C_EMAILCIM)										AS  EmailCim
					, IIF(cim.C_IRANYITOSZAM IS NULL, '', cim.C_IRANYITOSZAM) 
					+ ' ' + IIF(cim.C_VAROS IS NULL, '', cim.C_VAROS + ',') 
					+ ' ' + IIF(cim.C_KOZTERULET IS NULL, '', cim.C_KOZTERULET) 
					+ ' ' + IIF(cim.C_KOZTERULETJELLEGE IS NULL, '', cim.C_KOZTERULETJELLEGE)
					+ ' ' + IIF(cim.C_HAZSZAM IS NULL, '', cim.C_HAZSZAM) 
					+ ' ' + IIF(cim.C_EMELET IS NULL, '', cim.C_EMELET + '. emelet')
					+ ' ' + IIF(cim.C_AJTO IS NULL, '', cim.C_AJTO + ' ajtó')                                   AS  Cim
                    , IIF(lakcim_allando.C_IRANYITOSZAM IS NULL, '', lakcim_allando.C_IRANYITOSZAM)				AS  AllandoLakcimIranyitoszam
                    , IIF(lakcim_allando.C_VAROS IS NULL, '', lakcim_allando.C_VAROS)							AS  AllandoLakcimVaros
                    , IIF(lakcim_allando.C_KOZTERULET IS NULL, '', lakcim_allando.C_KOZTERULET)					AS  AllandoLakcimKozteruletNeve
                    , IIF(lakcim_allando.C_KOZTERULETJELLEGE IS NULL, '', lakcim_allando_dib.C_NAME)			AS  AllandoLakcimKozteruletJellege
                    , IIF(lakcim_allando.C_HAZSZAM IS NULL, '', lakcim_allando.C_HAZSZAM)						AS  AllandoLakcimHazszam
                    , IIF(lakcim_allando.C_EMELET IS NULL, '', lakcim_allando.C_EMELET)							AS  AllandoLakcimEmelet
                    , IIF(lakcim_allando.C_AJTO IS NULL, '', lakcim_allando.C_AJTO)								AS  AllandoLakcimAjto
                    , IIF(lakcim_ideiglenes.C_IRANYITOSZAM IS NULL, '', lakcim_ideiglenes.C_IRANYITOSZAM)		AS  IdeiglenesLakcimIranyitoszam
                    , IIF(lakcim_ideiglenes.C_VAROS IS NULL, '', lakcim_ideiglenes.C_VAROS)						AS  IdeiglenesLakcimVaros
                    , IIF(lakcim_ideiglenes.C_KOZTERULET IS NULL, '', lakcim_ideiglenes.C_KOZTERULET)			AS  IdeiglenesLakcimKozteruletNeve
                    , IIF(lakcim_ideiglenes.C_KOZTERULETJELLEGE IS NULL, '', lakcim_ideiglenes_dib.C_NAME)		AS  IdeiglenesLakcimKozteruletJellege
                    , IIF(lakcim_ideiglenes.C_HAZSZAM IS NULL, '', lakcim_ideiglenes.C_HAZSZAM)					AS  IdeiglenesLakcimHazszam
                    , IIF(lakcim_ideiglenes.C_EMELET IS NULL, '', lakcim_ideiglenes.C_EMELET)					AS  IdeiglenesLakcimEmelet
                    , IIF(lakcim_ideiglenes.C_AJTO IS NULL, '', lakcim_ideiglenes.C_AJTO)						AS  IdeiglenesLakcimAjto
                    , IIF(lakcim_tartozkodas.C_IRANYITOSZAM IS NULL, '', lakcim_tartozkodas.C_IRANYITOSZAM)		AS  TartozkodasiHelyIranyitoszam
                    , IIF(lakcim_tartozkodas.C_VAROS IS NULL, '', lakcim_tartozkodas.C_VAROS)					AS  TartozkodasiHelyVaros
                    , IIF(lakcim_tartozkodas.C_KOZTERULET IS NULL, '', lakcim_tartozkodas.C_KOZTERULET)			AS  TartozkodasiHelyKozteruletNeve
                    , IIF(lakcim_tartozkodas.C_KOZTERULETJELLEGE IS NULL, '', lakcim_tartozkodas_dib.C_NAME)	AS  TartozkodasiHelyKozteruletJellege
                    , IIF(lakcim_tartozkodas.C_HAZSZAM IS NULL, '', lakcim_tartozkodas.C_HAZSZAM)				AS  TartozkodasiHelyHazszam
                    , IIF(lakcim_tartozkodas.C_EMELET IS NULL, '', lakcim_tartozkodas.C_EMELET)					AS  TartozkodasiHelyEmelet
                    , IIF(lakcim_tartozkodas.C_AJTO IS NULL, '', lakcim_tartozkodas.C_AJTO)						AS  TartozkodasiHelyAjto
                    , IIF(lakcim_na.C_IRANYITOSZAM IS NULL, '', lakcim_na.C_IRANYITOSZAM)						AS  IsmeretlenLakcimIranyitoszam
                    , IIF(lakcim_na.C_VAROS IS NULL, '', lakcim_na.C_VAROS)										AS  IsmeretlenLakcimVaros
                    , IIF(lakcim_na.C_KOZTERULET IS NULL, '', lakcim_na.C_KOZTERULET)							AS  IsmeretlenLakcimKozteruletNeve
                    , IIF(lakcim_na.C_KOZTERULETJELLEGE IS NULL, '', lakcim_na_dib.C_NAME)						AS  IsmeretlenLakcimKozteruletJellege
                    , IIF(lakcim_na.C_HAZSZAM IS NULL, '', lakcim_na.C_HAZSZAM)									AS  IsmeretlenLakcimHazszam
                    , IIF(lakcim_na.C_EMELET IS NULL, '', lakcim_na.C_EMELET)									AS  IsmeretlenLakcimEmelet
                    , IIF(lakcim_na.C_AJTO IS NULL, '', lakcim_na.C_AJTO)										AS  IsmeretlenLakcimAjto
                FROM T_TANULO_OSSZES tTanulo
                    JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.TOROLT = 'F' AND tanulo.ID = tTanulo.ID AND tTanulo.C_ALINTEZMENYID = tanulo.C_INTEZMENYID AND tanulo.C_TANEVID = tTanulo.C_ALTANEVID
					LEFT JOIN T_GONDVISELO_OSSZES Tgondviselo ON Tgondviselo.TOROLT = 'F' AND tanulo.ID = Tgondviselo.C_TANULOID AND Tgondviselo.C_INTEZMENYID = tanulo.C_INTEZMENYID AND Tgondviselo.C_TANEVID = tanulo.C_TANEVID
                    LEFT JOIN T_CIM_OSSZES lakcim_allando ON lakcim_allando.TOROLT = 'F' AND lakcim_allando.C_GONDVISELOID = Tgondviselo.ID AND Tgondviselo.C_INTEZMENYID = lakcim_allando.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_allando_dib WHERE lakcim_allando.C_CIMTIPUSA = lakcim_allando_DIB.ID AND Tgondviselo.C_INTEZMENYID = lakcim_allando_dib.C_INTEZMENYID AND lakcim_allando_dib.C_NAME = 'Állandó lakcím') > 0 AND lakcim_allando.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_tartozkodas ON lakcim_tartozkodas.TOROLT = 'F' AND lakcim_tartozkodas.C_GONDVISELOID = Tgondviselo.ID AND Tgondviselo.C_INTEZMENYID = lakcim_tartozkodas.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_tartozkodas_dib WHERE lakcim_tartozkodas.C_CIMTIPUSA = lakcim_tartozkodas_dib.ID AND Tgondviselo.C_INTEZMENYID = lakcim_tartozkodas_dib.C_INTEZMENYID AND lakcim_tartozkodas_dib.C_NAME = 'Tartózkodási hely') > 0 AND lakcim_tartozkodas.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_ideiglenes ON lakcim_ideiglenes.TOROLT = 'F' AND lakcim_ideiglenes.C_GONDVISELOID = Tgondviselo.ID AND Tgondviselo.C_INTEZMENYID = lakcim_ideiglenes.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_ideiglenes_dib WHERE lakcim_ideiglenes.C_CIMTIPUSA = lakcim_ideiglenes_dib.ID AND Tgondviselo.C_INTEZMENYID = lakcim_ideiglenes_dib.C_INTEZMENYID AND lakcim_ideiglenes_dib.C_NAME = 'Ideiglenes lakcím') > 0 AND lakcim_ideiglenes.C_TANEVID = @pTanevId
                    LEFT JOIN T_CIM_OSSZES lakcim_na ON lakcim_na.TOROLT = 'F' AND lakcim_na.C_GONDVISELOID = Tgondviselo.ID AND Tgondviselo.C_INTEZMENYID = lakcim_na.C_INTEZMENYID AND (SELECT COUNT(1) FROM T_DICTIONARYITEMBASE lakcim_na_dib WHERE lakcim_na.C_CIMTIPUSA = lakcim_na_dib.ID AND Tgondviselo.C_INTEZMENYID = lakcim_na_dib.C_INTEZMENYID AND lakcim_na_dib.C_NAME = 'Na') > 0 AND lakcim_na.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_allando_dib ON lakcim_allando_dib.TOROLT = 'F' AND lakcim_allando.C_KOZTERULETJELLEGE = lakcim_allando_DIB.ID AND Tgondviselo.C_INTEZMENYID = lakcim_allando_dib.C_INTEZMENYID AND lakcim_allando_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_tartozkodas_dib ON lakcim_tartozkodas_dib.TOROLT = 'F' AND lakcim_tartozkodas.C_KOZTERULETJELLEGE = lakcim_tartozkodas_dib.ID AND Tgondviselo.C_INTEZMENYID = lakcim_tartozkodas_dib.C_INTEZMENYID AND lakcim_tartozkodas_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_ideiglenes_dib ON lakcim_ideiglenes_dib.TOROLT = 'F' AND lakcim_ideiglenes.C_KOZTERULETJELLEGE = lakcim_ideiglenes_dib.ID AND Tgondviselo.C_INTEZMENYID = lakcim_ideiglenes_dib.C_INTEZMENYID AND lakcim_ideiglenes_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES lakcim_na_dib ON lakcim_na_dib.TOROLT = 'F' AND lakcim_na.C_KOZTERULETJELLEGE = lakcim_na_dib.ID AND Tgondviselo.C_INTEZMENYID = lakcim_na_dib.C_INTEZMENYID AND lakcim_na_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsag_foka_dib ON rokonsag_foka_dib.TOROLT = 'F' AND Tgondviselo.C_ROKONSAGFOKA = rokonsag_foka_dib.ID AND Tgondviselo.C_INTEZMENYID = rokonsag_foka_dib.C_INTEZMENYID AND rokonsag_foka_dib.C_TANEVID = @pTanevId
                    LEFT JOIN T_TELEFON_OSSZES telefon ON telefon.TOROLT = 'F' AND telefon.C_GONDVISELOID = Tgondviselo.ID AND Tgondviselo.C_INTEZMENYID = telefon.C_INTEZMENYID AND telefon.C_TANEVID = @pTanevId AND telefon.TOROLT = 'F'
                    LEFT JOIN T_EMAIL_OSSZES email ON email.TOROLT = 'F' AND email.C_GONDVISELOID = Tgondviselo.ID AND Tgondviselo.C_INTEZMENYID = email.C_INTEZMENYID AND email.C_TANEVID = @pTanevId AND email.TOROLT = 'F'   
					OUTER APPLY (SELECT TOP 1 WITH TIES c.C_IRANYITOSZAM, c.C_VAROS, c.C_KOZTERULET, c.C_HAZSZAM, c.C_EMELET, c.C_AJTO, d.C_NAME AS C_KOZTERULETJELLEGE
						FROM T_CIM_OSSZES c 
						LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.TOROLT = 'F' AND c.C_KOZTERULETJELLEGE = d.ID AND Tgondviselo.C_INTEZMENYID = d.C_INTEZMENYID AND d.C_TANEVID = @pTanevId
						WHERE c.C_GONDVISELOID = Tgondviselo.ID 
							AND c.C_TANEVID = @pTanevId 
							AND c.TOROLT = 'F' 
							AND c.C_INTEZMENYID = Tgondviselo.C_INTEZMENYID
						ORDER BY C_ALAPERTELMEZETT DESC) cim
                WHERE 	
		            tTanulo.TOROLT = 'F' AND tTanulo.C_ALTANEVID = @pTanevId  AND tTanulo.C_ALINTEZMENYID =@pIntezmenyId
                ORDER BY
                    tanulo.C_NYOMTATASINEV
END
