﻿DROP PROCEDURE IF EXISTS uspGetOsztalyTanuloiByKepzesiJellemzok
GO

CREATE PROCEDURE uspGetOsztalyTanuloiByKepzesiJellemzok
   @pTanevId int
  ,@pIntezmenyId int
  ,@pOsztalyId int
  ,@pJegyzekTipus int
  ,@pAgazatId int = NULL
  ,@pAgazatUjSzktTipusId int = NULL
  ,@pReszszakkepesitesId int = NULL
  ,@pSzakiranyNktTipusId int = NULL
  ,@pSzakkepesitesId int = NULL
  ,@pSzakkepesitesNktTipusId int = NULL
  ,@pSzakmacsoportId int = NULL
  ,@pSzakmairanyTipusId int = NULL
  ,@pSzakmaTipusId int = NULL
  ,@pTanulmanyiTeruletNktTipusId int = NULL
  ,@pAgazatReszSzakmaTipusId int = NULL
  ,@pSzakmaReszSzakmaTipusId int = NULL
  ,@pReszSzakmaTipusId int = NULL
  ,@pIsAktivTanev bit

AS BEGIN
  SET NOCOUNT ON;
    IF @pJegyzekTipus = 0
    BEGIN  
      SELECT
       felhasznalo.C_NYOMTATASINEV  Nev
      ,felhasznalo.C_SZULETESIDATUM SzuletesiDatum
      ,felhasznalo.C_OKTATASIAZONOSITO  OktatasiAzonosito
      FROM T_TANULOTANUGYIADATOK_OSSZES tta
      INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.TOROLT ='F'
      INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tcs.C_TANULOID AND felhasznalo.TOROLT = 'F'
      WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
        AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
        AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
        AND tta.C_INTEZMENYID = @pIntezmenyId
        AND tta.C_TANEVID = @pTanevId
        AND tta.TOROLT = 'F'     
       --A beégetett ID-k Na értékekek
       --UJSZKT
        AND (C_AGAZATUJSZKTTIPUSID = 7920 OR C_AGAZATUJSZKTTIPUSID IS NULL)
        AND (C_SZAKMATIPUSID = 7946 OR C_SZAKMATIPUSID IS NULL)
        AND (C_SZAKMAIRANYTIPUSID = 8122 OR C_SZAKMAIRANYTIPUSID IS NULL)
        --OKJ
        AND (C_SZAKMACSOPORTID = 6084 OR C_SZAKMACSOPORTID IS NULL)
        AND (C_AGAZATID = 5484 OR C_AGAZATID IS NULL)
        AND (C_SZAKKEPESITESID = 5527 OR C_SZAKKEPESITESID IS NULL)
        AND (C_RESZSZAKKEPESITESID = 6108 OR C_RESZSZAKKEPESITESID IS NULL)   
        --NKT
        AND (C_SZAKIRANYNKTTIPUSID = 8493 OR C_SZAKIRANYNKTTIPUSID IS NULL)
        AND (C_SZAKKEPESITESNKTTIPUSID = 8464 OR C_SZAKKEPESITESNKTTIPUSID IS NULL)
        AND (C_TANULMANYITERULETNKTTIPUSID = 8459 OR C_TANULMANYITERULETNKTTIPUSID IS NULL)
        --RESZSZAKMA
        AND (C_AGAZATRESZSZAKMATIPUSID = 8832 OR C_AGAZATRESZSZAKMATIPUSID IS NULL)
        AND (C_SZAKMARESZSZAKMATIPUSID = 8850 OR C_SZAKMARESZSZAKMATIPUSID IS NULL)
        AND (C_RESZSZAKMATIPUSID = 8895 OR C_RESZSZAKMATIPUSID IS NULL)
    END

  IF @pJegyzekTipus = 1
    BEGIN  
      SELECT
       felhasznalo.C_NYOMTATASINEV  Nev
      ,felhasznalo.C_SZULETESIDATUM SzuletesiDatum
      ,felhasznalo.C_OKTATASIAZONOSITO  OktatasiAzonosito
      FROM T_TANULOTANUGYIADATOK_OSSZES tta
      INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.TOROLT ='F'
      INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tcs.C_TANULOID AND felhasznalo.TOROLT = 'F'
      WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
        AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
        AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
        AND tta.C_INTEZMENYID = @pIntezmenyId
        AND tta.C_TANEVID = @pTanevId
        AND tta.TOROLT = 'F'
        --UJSZKT
        AND C_AGAZATUJSZKTTIPUSID = @pAgazatUjSzktTipusId       
        AND C_SZAKMATIPUSID = @pSzakmaTipusId
        AND C_SZAKMAIRANYTIPUSID = @pSzakmairanyTipusId
    END

  IF @pJegyzekTipus = 2
    BEGIN  
      SELECT
       felhasznalo.C_NYOMTATASINEV  Nev
      ,felhasznalo.C_SZULETESIDATUM SzuletesiDatum
      ,felhasznalo.C_OKTATASIAZONOSITO  OktatasiAzonosito
      FROM T_TANULOTANUGYIADATOK_OSSZES tta
      INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.TOROLT ='F'
      INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tcs.C_TANULOID AND felhasznalo.TOROLT = 'F'
      WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
        AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
        AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
        AND tta.C_INTEZMENYID = @pIntezmenyId
        AND tta.C_TANEVID = @pTanevId
        AND tta.TOROLT = 'F'
        --OKJ
        AND C_SZAKMACSOPORTID = @pSzakmacsoportId
        AND C_AGAZATID = @pAgazatId
        AND C_SZAKKEPESITESID = @pSzakkepesitesId
        AND C_RESZSZAKKEPESITESID = @pReszszakkepesitesId      
    END

  IF @pJegyzekTipus = 3
    BEGIN  
      SELECT
       felhasznalo.C_NYOMTATASINEV  Nev
      ,felhasznalo.C_SZULETESIDATUM SzuletesiDatum
      ,felhasznalo.C_OKTATASIAZONOSITO  OktatasiAzonosito
      FROM T_TANULOTANUGYIADATOK_OSSZES tta
      INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.TOROLT ='F'
      INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tcs.C_TANULOID AND felhasznalo.TOROLT = 'F'
      WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
        AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
        AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
        AND tta.C_INTEZMENYID = @pIntezmenyId
        AND tta.C_TANEVID = @pTanevId
        AND tta.TOROLT = 'F'
        --NKT
        AND C_SZAKIRANYNKTTIPUSID = @pSzakiranyNktTipusId
        AND C_SZAKKEPESITESNKTTIPUSID = @pSzakkepesitesNktTipusId
        AND C_TANULMANYITERULETNKTTIPUSID = @pTanulmanyiTeruletNktTipusId
    END

  IF @pJegyzekTipus = 4
    BEGIN  
      SELECT
       felhasznalo.C_NYOMTATASINEV  Nev
      ,felhasznalo.C_SZULETESIDATUM SzuletesiDatum
      ,felhasznalo.C_OKTATASIAZONOSITO  OktatasiAzonosito
      FROM T_TANULOTANUGYIADATOK_OSSZES tta
      INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.TOROLT ='F'
      INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tcs.C_TANULOID AND felhasznalo.TOROLT = 'F'
      WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
        AND (@pIsAktivTanev = 0 OR tcs.C_BELEPESDATUM <= GETDATE())
        AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
        AND tta.C_INTEZMENYID = @pIntezmenyId
        AND tta.C_TANEVID = @pTanevId
        AND tta.TOROLT = 'F'
        --NKT
        AND C_AGAZATRESZSZAKMATIPUSID = @pAgazatReszSzakmaTipusId
        AND C_SZAKMARESZSZAKMATIPUSID = @pSzakmaReszSzakmaTipusId
        AND C_RESZSZAKMATIPUSID = @pReszSzakmaTipusId
    END
END
GO
