DROP PROCEDURE  IF EXISTS uspGetTanuloOsztalyfonokEugyintezes 
GO

CREATE PROCEDURE uspGetTanuloOsztalyfonokEugyintezes
   @pOktatasiAzonosito NVARCHAR(20)
  ,@pOktNevKatTipus INT
AS
BEGIN
  SET NOCOUNT ON;

  SELECT Alkalmazott.ID AS KretaAzonosito
    ,Alkalmazott.C_NYOMTATASINEV AS Nev
    ,Alkalmazott.C_OKTATASIAZONOSITO AS OktatasiAzonosito
    ,MunkaugyiAdatok.C_VEZETOIORASZAMOK AS Titulus
    ,Alkalmazott.C_EGYEDIAZONOSITO AS EgyediAzonosito
    ,Alkalmazott.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
  FROM T_FELHASZNALO_OSSZES Felhasznalo
  LEFT JOIN T_TANULOCSOPORT_OSSZES Tanulocsoport ON Tanulocsoport.C_TANULOID = Felhasznalo.ID
    AND Tanulocsoport.TOROLT = 'F'
    AND TanuloCsoport.C_BELEPESDATUM <= (
      SELECT IIF(GETDATE() < C_ELSOTANITASINAP, C_ELSOTANITASINAP, GETDATE())
      FROM T_TANEV_OSSZES
      WHERE C_AKTIV = 'T'
        AND TOROLT = 'F'
        AND C_INTEZMENYID = Tanulocsoport.C_INTEZMENYID
      )
    AND (
      TanuloCsoport.C_KILEPESDATUM IS NULL
      OR TanuloCsoport.C_KILEPESDATUM > GETDATE()
      )
  LEFT JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = Tanulocsoport.C_OSZTALYCSOPORTID
    AND Osztaly.TOROLT = 'F'
  INNER JOIN T_FELHASZNALO_OSSZES Alkalmazott ON Alkalmazott.ID = Osztaly.C_OSZTALYFONOKID
    AND Alkalmazott.TOROLT = 'F'
  INNER JOIN T_MUNKAUGYIADATOK_OSSZES MunkaugyiAdatok ON MunkaugyiAdatok.C_ALKALMAZOTTID = Alkalmazott.ID
    AND MunkaugyiAdatok.TOROLT = 'F'
  INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
    AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipus
    AND OsztalyCsoport.TOROLT = 'F'
  WHERE Felhasznalo.TOROLT = 'F'
    AND Felhasznalo.C_OKTATASIAZONOSITO = @pOktatasiAzonosito
END
GO


