99 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokAdatai
 | 
						|
GO
 | 
						|
 | 
						|
CREATE FUNCTION fnGetDokumentumTanulokAdatai(@tanevId INT, @osztalyCsoportId INT)
 | 
						|
  RETURNS @tanuloAdatok TABLE (  
 | 
						|
     TanuloId int
 | 
						|
	,TanuloCsoportId int
 | 
						|
	,Sorszam int
 | 
						|
	,TorzslapSzam varchar(1000)
 | 
						|
	,OktAzon nvarchar(40)
 | 
						|
	,TajSzam nvarchar(18)
 | 
						|
	,AnyjaNeve nvarchar(128)
 | 
						|
	,SzulHely nvarchar(100)
 | 
						|
	,SzulIdo nvarchar(20)--formázás miatt
 | 
						|
	,SocAdat nvarchar(200)
 | 
						|
	,Kepzes nvarchar(510)
 | 
						|
	,TanuloNeve nvarchar(510)
 | 
						|
	,Allampolgarsaga nvarchar(500)
 | 
						|
	,DiakIgazolvanySzam nvarchar(510)
 | 
						|
	,KilepesDatum nvarchar(20) --formázás miatt
 | 
						|
	,BeirasiNaploSorszam nvarchar(100)
 | 
						|
	,AktualisOsztaly nvarchar(200)
 | 
						|
	,AktualisOsztalyId int
 | 
						|
	,AdottOsztaly nvarchar(200)
 | 
						|
	,AdottOsztalyId int
 | 
						|
	,BelepesDatum nvarchar(20) --formázás miatt
 | 
						|
  )  
 | 
						|
AS BEGIN 
 | 
						|
 | 
						|
DECLARE @tanugyiAdatok TABLE (TanuloId int,TanugyiId INT)
 | 
						|
INSERT INTO @tanugyiAdatok (TanuloId,TanugyiId)
 | 
						|
  SELECT TanuloId,TanugyiAdatokId FROM fnGetOsztalyCsoportTanuloinakTanugyiAdatai (@osztalyCsoportId,default)
 | 
						|
 | 
						|
INSERT INTO @tanuloAdatok
 | 
						|
	SELECT DISTINCT 
 | 
						|
		 TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,Sorszam
 | 
						|
		,TorzslapSzam
 | 
						|
		,OktAzon
 | 
						|
		,TajSzam
 | 
						|
		,AnyjaNeve
 | 
						|
		,SzulHely
 | 
						|
		,dbo.fnGetDokumentumDatumFormatum(szulIdo) SzulIdo
 | 
						|
		,SocAdat
 | 
						|
		,Kepzes
 | 
						|
		,TanuloNeve
 | 
						|
		,Allampolgarsaga
 | 
						|
		,DiakIgazolvanySzam
 | 
						|
		,dbo.fnGetDokumentumDatumFormatum(KilepesDatum) KilepesDatum
 | 
						|
		,BeirasiNaploSorszam
 | 
						|
		,AktualisOsztaly
 | 
						|
		,AktualisOsztalyId
 | 
						|
    ,AdottOsztaly
 | 
						|
    ,AdottOsztalyId
 | 
						|
		,dbo.fnGetDokumentumDatumFormatum(BelepesDatum) BelepesDatum
 | 
						|
	FROM (
 | 
						|
	SELECT  
 | 
						|
		 OsztalyCsoportTanuloi.TanuloId AS TanuloId
 | 
						|
		,OsztalyCsoportTanuloi.TanuloCsoportId AS TanuloCsoportId
 | 
						|
		,COALESCE(ttao.C_NAPLOSORSZAM,tta.C_NAPLOSORSZAM,Tanulo.C_NAPLOSORSZAM) AS Sorszam
 | 
						|
		,COALESCE(ttao.C_TORZSLAPSZAM,tta.C_TORZSLAPSZAM,Tanulo.C_TORZSLAPSZAM) AS TorzslapSzam
 | 
						|
		,Felhasznalo.C_OKTATASIAZONOSITO AS OktAzon
 | 
						|
		,Felhasznalo.C_TAJSZAM AS TajSzam
 | 
						|
		,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
 | 
						|
		,Felhasznalo.C_SZULETESIHELY AS SzulHely
 | 
						|
		,Felhasznalo.C_SZULETESIDATUM AS SzulIdo
 | 
						|
		,IIF(COALESCE(ttao.C_MAGANTANULO,tta.C_MAGANTANULO,Tanulo.C_MAGANTANULO) = 'T', 'Magántanuló (' + COALESCE(MagantanulosagOka1.C_NAME,MagantanulosagOka2.C_NAME,ISNULL(MagantanulosagOka3.C_NAME,'-')) + ')', '') +
 | 
						|
		 IIF(COALESCE(ttao.C_JOGVISZONYATSZUNETELTETO,tta.C_JOGVISZONYATSZUNETELTETO,Tanulo.C_JOGVISZONYATSZUNETELTETO) = 'T', ', Jogviszony szüneteltetve', '') + 
 | 
						|
		 IIF(COALESCE(ttao.C_SZAKMAIGYAKORLATON,tta.C_SZAKMAIGYAKORLATON,Tanulo.C_SZAKMAIGYAKORLATON) = 'T', ', Szakmai gyakorlat', '') + 
 | 
						|
		 IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', ', Szociális támogatás', '') + 
 | 
						|
		 IIF(COALESCE(ttao.C_BEJARO,tta.C_BEJARO,Tanulo.C_BEJARO) = 'T', ', Bejáró', '') AS SocAdat
 | 
						|
		,Tanterv.C_NEV AS Kepzes
 | 
						|
		,Felhasznalo.C_NYOMTATASINEV AS TanuloNeve
 | 
						|
		,AllampolgarsagDic.C_NAME AS Allampolgarsaga
 | 
						|
		,Tanulo.C_DIAKIGAZOLVANYSZAM AS DiakIgazolvanySzam
 | 
						|
		,OsztalyCsoportTanuloi.KilepesDatum AS KilepesDatum
 | 
						|
		,COALESCE(ttao.C_BEIRASINAPLOSORSZAM,tta.C_BEIRASINAPLOSORSZAM,Tanulo.C_BEIRASINAPLOSORSZAM) AS BeirasiNaploSorszam
 | 
						|
		,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AS  AktualisOsztaly /*TODO:Tobb Osztaly*//*OM-1653*/
 | 
						|
		,dbo.fnGetDokumentumTanuloAktualisOsztalyId(OsztalyCsoportTanuloi.TanuloId) AS  AktualisOsztalyId
 | 
						|
		,(SELECT TOP 1 OsztalyNev FROM dbo.fnGetTanuloOsztaly(OsztalyCsoportTanuloi.TanuloId, OsztalyCsoportTanuloi.BelepesDatum, NULL, 1)) AS AdottOsztaly
 | 
						|
		,(SELECT TOP 1 ID FROM dbo.fnGetTanuloOsztaly(OsztalyCsoportTanuloi.TanuloId, OsztalyCsoportTanuloi.BelepesDatum, NULL, 1)) AS AdottOsztalyId
 | 
						|
		,OsztalyCsoportTanuloi.BelepesDatum	AS BelepesDatum
 | 
						|
	FROM T_TANULO_OSSZES Tanulo
 | 
						|
		INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyCsoportTanuloi ON OsztalyCsoportTanuloi.TanuloId = Tanulo.ID	
 | 
						|
		INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID AND Felhasznalo.TOROLT='F'
 | 
						|
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES AllampolgarsagDic ON AllampolgarsagDic.ID = Felhasznalo.C_ALLAMPOLGARSAGA AND AllampolgarsagDic.C_TANEVID = Felhasznalo.C_TANEVID AND AllampolgarsagDic.TOROLT='F'
 | 
						|
		LEFT JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.TOROLT='F' AND tcso.ID=OsztalyCsoportTanuloi.TanuloCsoportId
 | 
						|
		LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES ttao ON ttao.C_TANULOCSOPORTID=tcso.ID AND ttao.TOROLT='F'
 | 
						|
		LEFT JOIN @tanugyiAdatok ta ON ta.TanuloId=Tanulo.ID
 | 
						|
		LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.ID=ta.TanugyiId AND tta.TOROLT='F'
 | 
						|
		LEFT JOIN T_TANTERV_OSSZES Tanterv ON Tanterv.ID = tta.C_TANTERVID AND Tanterv.TOROLT='F'
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka1 ON MagantanulosagOka1.ID = ttao.C_MAGANTANULOSAGANAKOKAID AND MagantanulosagOka1.C_TANEVID = Felhasznalo.C_TANEVID AND MagantanulosagOka1.TOROLT='F' 
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka2 ON MagantanulosagOka2.ID = tta.C_MAGANTANULOSAGANAKOKAID AND MagantanulosagOka2.C_TANEVID = Felhasznalo.C_TANEVID AND MagantanulosagOka2.TOROLT='F' 
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka3 ON MagantanulosagOka3.ID = Tanulo.C_MAGANTANULOSAGANAKOKA AND MagantanulosagOka3.C_TANEVID = Felhasznalo.C_TANEVID AND MagantanulosagOka3.TOROLT='F' 
 | 
						|
WHERE Tanulo.TOROLT='F') tmp
 | 
						|
RETURN
 | 
						|
END
 | 
						|
GO |