112 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.3 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 @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
 | 
						|
 | 
						|
  INSERT INTO @tanuloAdatok
 | 
						|
  SELECT DISTINCT
 | 
						|
    tmp.TanuloId
 | 
						|
   ,tmp.TanuloCsoportId
 | 
						|
   ,tmp.Sorszam
 | 
						|
   ,tmp.TorzslapSzam
 | 
						|
   ,tmp.OktAzon
 | 
						|
   ,tmp.TajSzam
 | 
						|
   ,tmp.AnyjaNeve
 | 
						|
   ,tmp.SzulHely
 | 
						|
   ,dbo.fnGetDokumentumDatumFormatum(tmp.szulIdo) AS SzulIdo
 | 
						|
   ,tmp.SocAdat
 | 
						|
   ,tmp.Kepzes
 | 
						|
   ,tmp.TanuloNeve
 | 
						|
   ,tmp.Allampolgarsaga
 | 
						|
   ,tmp.DiakIgazolvanySzam
 | 
						|
   ,dbo.fnGetDokumentumDatumFormatum(tmp.KilepesDatum) AS KilepesDatum
 | 
						|
   ,tmp.BeirasiNaploSorszam
 | 
						|
   ,tmp.AktualisOsztaly
 | 
						|
   ,tmp.AktualisOsztalyId
 | 
						|
   ,tmp.AdottOsztaly
 | 
						|
   ,tmp.AdottOsztalyId
 | 
						|
   ,dbo.fnGetDokumentumDatumFormatum(tmp.BelepesDatum) AS BelepesDatum
 | 
						|
  FROM (
 | 
						|
    SELECT
 | 
						|
       OsztalyCsoportTanuloi.TanuloId AS TanuloId
 | 
						|
      ,OsztalyCsoportTanuloi.TanuloCsoportId AS TanuloCsoportId
 | 
						|
      ,tta.C_NAPLOSORSZAM AS Sorszam
 | 
						|
      ,tta.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(tta.C_MAGANTANULO = 'T', N'Magántanuló / Egyéni munkarend ('
 | 
						|
        + ISNULL(MagantanulosagOka.C_NAME, N'-') + N')', N'')
 | 
						|
        + IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', N', Jogviszony szüneteltetve', N'')
 | 
						|
        + IIF(tta.C_SZAKMAIGYAKORLATON = 'T', N', Szakmai gyakorlat', N'')
 | 
						|
        + IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', N', Szociális támogatás', N'')
 | 
						|
        + IIF(tta.C_BEJARO = 'T', N', Bejáró', N'') 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
 | 
						|
      ,tta.C_BEIRASINAPLOSORSZAM AS BeirasiNaploSorszam
 | 
						|
      ,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AS AktualisOsztaly
 | 
						|
      ,dbo.fnGetDokumentumTanuloAktualisOsztalyId(OsztalyCsoportTanuloi.TanuloId) AS AktualisOsztalyId
 | 
						|
      ,TanuloOsztaly.OsztalyNev AS AdottOsztaly
 | 
						|
      ,TanuloOsztaly.ID 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'
 | 
						|
      CROSS APPLY (
 | 
						|
        SELECT TOP 1
 | 
						|
           ID
 | 
						|
          ,OsztalyNev
 | 
						|
        FROM dbo.fnGetTanuloOsztaly(OsztalyCsoportTanuloi.TanuloId, OsztalyCsoportTanuloi.BelepesDatum, @kategoriaId, 1, DEFAULT)
 | 
						|
      ) TanuloOsztaly
 | 
						|
      LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta  ON OsztalyCsoportTanuloi.TanuloCsoportId = tta.C_TANULOCSOPORTID
 | 
						|
      LEFT JOIN T_TANTERV_OSSZES AS Tanterv ON Tanterv.ID = tta.C_TANTERVID
 | 
						|
        AND Tanterv.TOROLT = 'F'
 | 
						|
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka ON MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID
 | 
						|
        AND MagantanulosagOka.C_TANEVID = Felhasznalo.C_TANEVID
 | 
						|
        AND MagantanulosagOka.TOROLT = 'F'
 | 
						|
    WHERE Tanulo.TOROLT = 'F'
 | 
						|
  ) tmp
 | 
						|
 | 
						|
  RETURN
 | 
						|
 | 
						|
END
 | 
						|
GO
 |