﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

-- =============================================
-- Description:	<Előszedjük az IKT szándéknyilatkozat adatokat>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetIktSzandeknyilatkozatAdatok]
	 @pIntezmenyId					INT
	,@pTanevId						INT
	,@pBesorolasiFokozatTipusEnumNa	INT

AS
BEGIN

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

	SELECT DISTINCT
		 felhasznalo.C_NYOMTATASINEV																PedagogusNev
		,cim.C_IRANYITOSZAM + ', ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' + 					--
		 kozteruletJellege.C_NAME + ' ' + ISNULL(cim.C_HAZSZAM, '') +								--
		 IIF (felhasznalo.C_IGAZOLVANYSZAM IS NOT NULL,	', ' + felhasznalo.C_IGAZOLVANYSZAM, '')	PedagogusAdatok
		,felhasznalo.C_NYOMTATASINEV +																--
		 IIF (felhasznalo.C_IGAZOLVANYSZAM IS NOT NULL,	' - ' + felhasznalo.C_IGAZOLVANYSZAM, '')	Qr 
	FROM 
		T_FELHASZNALO_OSSZES felhasznalo 
	INNER JOIN
		T_MUNKAUGYIADATOK_OSSZES munkaugyiAdatok ON 
				munkaugyiAdatok.C_ALKALMAZOTTID = felhasznalo.ID
            AND munkaugyiAdatok.C_INTEZMENYID = @pIntezmenyId
			AND munkaugyiAdatok.C_TANEVID = @pTanevId
			AND munkaugyiAdatok.TOROLT = 'F'
	INNER JOIN 
		T_ALKALMAZOTT_OSSZES alkalmazott ON 
				alkalmazott.ID = felhasznalo.ID
            AND alkalmazott.C_ALINTEZMENYID = @pIntezmenyId
			AND alkalmazott.C_ALTANEVID = @pTanevId
			AND alkalmazott.TOROLT = 'F'
	CROSS APPLY 
		(SELECT TOP 1 *
		FROM 
			T_CIM_OSSZES cim
		WHERE 
				cim.C_FELHASZNALOID = felhasznalo.ID
			AND cim.TOROLT = 'F'
		ORDER BY
			 cim.C_ALAPERTELMEZETT DESC
			,cim.LASTCHANGED DESC
		) cim
	INNER JOIN 
		T_DICTIONARYITEMBASE_OSSZES kozteruletJellege ON 
				kozteruletJellege.ID = cim.C_KOZTERULETJELLEGE
            AND kozteruletJellege.C_INTEZMENYID = @pIntezmenyId
			AND kozteruletJellege.C_TANEVID = @pTanevId
			AND kozteruletJellege.TOROLT = 'F'
	WHERE
			felhasznalo.C_INTEZMENYID = @pIntezmenyId
		AND	felhasznalo.C_TANEVID = @pTanevId
		AND felhasznalo.TOROLT = 'F'
		AND munkaugyiAdatok.C_BESOROLASIFOKOZAT NOT IN (@pBesorolasiFokozatTipusEnumNa)
		AND alkalmazott.C_ELFOGADOTTSZANDEKNYILATKOZAT = 'T'

	SELECT 
		 intezmenyAdatok.C_VAROS																		Szekhely
		,intezmenyAdatok.C_NEV																			Nev
		,intezmenyAdatok.C_OMKOD																		OmKod
		,intezmenyAdatok.C_IGAZGATONEVE																	Vezeto
		,IIF (felhasznalo.ID IS NOT NULL,																--
			cim.C_IRANYITOSZAM + ', ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' +		 			--
			kozteruletJellege.C_NAME + ' ' + ISNULL(cim.C_HAZSZAM, '') +								--
			IIF (felhasznalo.C_IGAZOLVANYSZAM IS NOT NULL,	', ' + felhasznalo.C_IGAZOLVANYSZAM, ''),	--
		 + '-')																							VezetoAdatok
	FROM 
		T_INTEZMENYADATOK_OSSZES intezmenyAdatok
	OUTER APPLY 
		(SELECT TOP 1 *
		FROM 
			T_FELHASZNALO_OSSZES felhasznalo
		WHERE 
				felhasznalo.C_NYOMTATASINEV LIKE '%' + intezmenyAdatok.C_IGAZGATONEVE + '%'
			AND	felhasznalo.C_INTEZMENYID = @pIntezmenyId
			AND	felhasznalo.C_TANEVID = @pTanevId
			AND felhasznalo.TOROLT = 'F'
		) felhasznalo
	OUTER APPLY 
		(SELECT TOP 1 *
		FROM 
			T_CIM_OSSZES cim
		WHERE 
				cim.C_FELHASZNALOID = felhasznalo.ID
            AND cim.C_INTEZMENYID = @pIntezmenyId
			AND cim.C_TANEVID = @pTanevId
			AND cim.TOROLT = 'F'
		ORDER BY
			 cim.C_ALAPERTELMEZETT DESC
			,cim.LASTCHANGED DESC
		) cim
	LEFT JOIN 
		T_DICTIONARYITEMBASE_OSSZES kozteruletJellege ON 
				kozteruletJellege.ID = cim.C_KOZTERULETJELLEGE
            AND kozteruletJellege.C_INTEZMENYID = @pIntezmenyId
			AND kozteruletJellege.C_TANEVID = @pTanevId
			AND kozteruletJellege.TOROLT = 'F'
	WHERE 
			intezmenyAdatok.C_INTEZMENYID = @pIntezmenyId
		AND	intezmenyAdatok.C_TANEVID = @pTanevId
		AND intezmenyAdatok.TOROLT = 'F'

END


GO