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

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevId INT, @osztalyId INT, @isKilepettTanulokMegjelenjenek NVARCHAR(1))
  RETURNS TABLE
RETURN (
  SELECT DISTINCT 
    C_TANULOID AS TanuloId
    ,tanuloCsoport.ID AS TanuloCsoportId
    ,tanuloCsoport.C_BELEPESDATUM AS BelepesDatum
    ,tanuloCsoport.C_KILEPESDATUM AS KilepesDatum
--OKJ
    ,IIF(tanugyiAdatok.C_AGAZATID IS NULL,osztalyAdatok.C_AGAZAT, tanugyiAdatok.C_AGAZATID) AgazatId
    ,IIF(tanugyiAdatok.C_SZAKKEPESITESID IS NULL,osztalyAdatok.C_SZAKKEPESITES, tanugyiAdatok.C_SZAKKEPESITESID) SzakkepesitesId
    ,IIF(tanugyiAdatok.C_RESZSZAKKEPESITESID IS NULL,osztalyAdatok.C_RESZSZAKKEPESITES, tanugyiAdatok.C_RESZSZAKKEPESITESID) ReszSzakkepeitesId
    ,IIF(tanugyiAdatok.C_SZAKMACSOPORTID IS NULL,osztalyAdatok.C_SZAKMACSOPORT, tanugyiAdatok.C_SZAKMACSOPORTID) SzakmaCsoportId
--SZKT
    ,IIF(tanugyiAdatok.C_AGAZATUJSZKTTIPUSID IS NULL,osztalyAdatok.C_AGAZATUJSZKTTIPUSID, tanugyiAdatok.C_AGAZATUJSZKTTIPUSID) AgazatTipusId
    ,IIF(tanugyiAdatok.C_SZAKMATIPUSID IS NULL,osztalyAdatok.C_SZAKMATIPUSID, tanugyiAdatok.C_SZAKMATIPUSID) SzakmaTipusId
    ,IIF(tanugyiAdatok.C_SZAKMAIRANYTIPUSID IS NULL,osztalyAdatok.C_SZAKMAIRANYTIPUSID, tanugyiAdatok.C_SZAKMAIRANYTIPUSID) SzakiranyTipusId
--NKT
    ,IIF(tanugyiAdatok.C_SZAKIRANYNKTTIPUSID IS NULL,osztalyAdatok.C_SZAKIRANYNKTTIPUSID, tanugyiAdatok.C_SZAKIRANYNKTTIPUSID) NktSzakiranyTipusId
    ,IIF(tanugyiAdatok.C_SZAKKEPESITESNKTTIPUSID IS NULL,osztalyAdatok.C_SZAKKEPESITESNKTTIPUSID, tanugyiAdatok.C_SZAKKEPESITESNKTTIPUSID) NktSzakkepesitesTipusId
    ,IIF(tanugyiAdatok.C_TANULMANYITERULETNKTTIPUSID IS NULL,osztalyAdatok.C_TANULMANYITERULETNKTTIPUSID, tanugyiAdatok.C_TANULMANYITERULETNKTTIPUSID) NktTanulmanyiTeruletId
--Részszakma
    ,tanugyiAdatok.C_AGAZATRESZSZAKMATIPUSID AgazatReszszakmaTipusId
    ,tanugyiAdatok.C_RESZSZAKMATIPUSID ReszszakmaTipusId
    ,tanugyiAdatok.C_SZAKMARESZSZAKMATIPUSID SzakmaReszszakmaId

    ,tanugyiAdatok.C_NAPLOSORSZAM AS NaploSorszam
    ,tanugyiAdatok.C_TORZSLAPSZAM AS Torzslapszam
    ,tanugyiAdatok.C_BEIRASINAPLOSORSZAM AS BeirasiNaploSorszam
  FROM T_TANULOCSOPORT_OSSZES tanuloCsoport
  LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID AND tanugyiAdatok.TOROLT = 'F'  
  LEFT JOIN T_OSZTALY_OSSZES osztalyAdatok ON osztalyAdatok.ID = tanuloCsoport.C_OSZTALYCSOPORTID  AND osztalyAdatok.TOROLT = 'F'
  WHERE 
    tanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId  
    AND tanuloCsoport.C_TANEVID =  @tanevId
    AND tanuloCsoport.TOROLT = 'F'
)