﻿IF OBJECT_ID('dbo.fnGetDokumentumTanulokAdatai') IS NOT NULL BEGIN
  DROP FUNCTION dbo.fnGetDokumentumTanulokAdatai
END
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION dbo.fnGetDokumentumTanulokAdatai(@tanevId INT, @osztalyCsoportId INT)
  RETURNS TABLE
RETURN (	
	SELECT DISTINCT 
		 TanuloId
		,TanuloCsoportId
		,Sorszam
		,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
		,AktualisOsztaly
	FROM (
	 SELECT  
		 OsztalyCsoportTanuloi.TanuloId				 TanuloId
		,OsztalyCsoportTanuloi.TanuloCsoportId		 TanuloCsoportId
		,OsztalyCsoportTanuloi.NaploSorszam			 Sorszam
		,OsztalyCsoportTanuloi.TorzslapSzam			 TorzslapSzam
		,Felhasznalo.C_OKTATASIAZONOSITO			 OktAzon
		,Felhasznalo.C_TAJSZAM						 TajSzam
		,Felhasznalo.C_ANYJANEVE					 AnyjaNeve
		,Felhasznalo.C_SZULETESIHELY				 SzulHely
		,Felhasznalo.C_SZULETESIDATUM				 SzulIdo
		,IIF(Tanulo.C_MAGANTANULO = 'T', 'Magántanuló (' + MagantanulosagOka.C_NAME + '), ', '') +
		 IIF(Tanulo.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') + 
		 IIF(Tanulo.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') + 
		 IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') + 
		 --IIF(Tanulo.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
		 IIF(Tanulo.C_BEJARO = 'T', 'Bejáró, ', '') 
													 SocAdat
		,Tanterv.C_NEV								 Kepzes
		,Felhasznalo.C_NYOMTATASINEV				 TanuloNeve
		,AllampolgarsagDic.C_NAME					 Allampolgarsaga
		,Tanulo.C_DIAKIGAZOLVANYSZAM				 DiakIgazolvanySzam
		,OsztalyCsoportTanuloi.KilepesDatum			 KilepesDatum
		,Tanulo.C_BEIRASINAPLOSORSZAM				 BeirasiNaploSorszam
		,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AktualisOsztaly
	  FROM T_TANULO_OSSZES Tanulo
		INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyCsoportTanuloi ON OsztalyCsoportTanuloi.TanuloId = Tanulo.ID
		INNER JOIN T_TANTERV_OSSZES Tanterv ON Tanterv.ID = Tanulo.C_TANTERVID
		INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES AllampolgarsagDic on AllampolgarsagDic.ID = Felhasznalo.C_ALLAMPOLGARSAGA AND AllampolgarsagDic.C_TANEVID = Felhasznalo.C_TANEVID
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka on MagantanulosagOka.ID = Tanulo.C_MAGANTANULOSAGANAKOKA AND MagantanulosagOka.C_TANEVID = Felhasznalo.C_TANEVID
		)tmp
)