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