﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('fnGetDokumentumTanuloiAlapadatok') IS NOT NULL
BEGIN
    DROP FUNCTION fnGetDokumentumTanuloiAlapadatok
END
GO

CREATE FUNCTION fnGetDokumentumTanuloiAlapadatok (@pOsztalyCsoportId INT, @pTanevId INT, @isKilepettTanulokMegjelenjenek NVARCHAR(1))
  RETURNS TABLE
RETURN (
	SELECT DISTINCT 
		tanuloID
		,torzslapSzam
		,oktAzon
		,tajSzam
		,anyjaNeve
		,szulHely
		,dbo.fnGetDokumentumDatumFormatum(szulIdo) szulIdo
		,IIF(socAdat = '', '', LEFT(socAdat, len(socAdat)- 1)) socAdat
		,kepzes
		,tanuloNeve
		,allampolgarsaga
		,diakIgazolvanySzam
		,dbo.fnGetDokumentumDatumFormatum(kilepesDatum) kilepesDatum
		,beirasiNaploSorszam
  FROM (
 SELECT  
	t.ID						          AS tanuloID
	,f.C_NYILVANTARTASISZAM	  AS torzslapSzam
	,f.C_OKTATASIAZONOSITO		AS oktAzon
	,f.C_TAJSZAM				      AS tajSzam
	,f.C_ANYJANEVE				    AS anyjaNeve
	,f.C_SZULETESIHELY			  AS szulHely
	,f.C_SZULETESIDATUM			  AS szulIdo
	,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') +
   IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') + 
   IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') + 
   IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') + 
	 IIF(t.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
	 IIF(t.C_BEJARO = 'T', 'Bejáró, ', '') 
								            AS socAdat
	,tt.C_NEV					        AS kepzes
	,f.C_NYOMTATASINEV			  AS tanuloNeve
	,d.C_NAME					        AS allampolgarsaga
	,t.C_DIAKIGAZOLVANYSZAM		AS diakIgazolvanySzam
	,MAX(cs.C_KILEPESDATUM)		AS kilepesDatum
	,t.C_BEIRASINAPLOSORSZAM	AS beirasiNaploSorszam
  FROM T_TANULO_OSSZES t
    INNER JOIN dbo.fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyCsoportId, @isKilepettTanulokMegjelenjenek) osztalyokCsoportok ON osztalyokCsoportok.TanuloId = t.ID
    INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID
    INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID
    INNER JOIN T_TANULOCSOPORT_OSSZES cs ON osztalyokCsoportok.TanuloId = cs.C_TANULOID AND cs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND cs.TOROLT = 'F'
	  INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
  GROUP BY 
	osztalyokCsoportok.TanuloId, t.ID, f.C_NYILVANTARTASISZAM, f.C_OKTATASIAZONOSITO, f.C_TAJSZAM, f.C_ANYJANEVE, 
    f.C_SZULETESIHELY, f.C_SZULETESIDATUM, t.C_MAGANTANULO, t.C_JOGVISZONYATSZUNETELTETO, t.C_SZAKMAIGYAKORLATON, C_SAJATOSNEVELESU, t.C_BEJARO,
	t.C_SZOCIALISTAMOGATAS, tt.C_NEV, f.C_NYOMTATASINEV, d.C_NAME, t.C_DIAKIGAZOLVANYSZAM, t.C_BEIRASINAPLOSORSZAM  
  ) tbl
)
GO
