DROP PROCEDURE  IF EXISTS uspGetTanoraiCsoportGondviselokEugyintezes 
GO

CREATE PROCEDURE uspGetTanoraiCsoportGondviselokEugyintezes
   @pOsztalyCsoportId INT
  ,@pTanevId INT
AS
BEGIN
  SET NOCOUNT ON;

  SELECT Gondviselo.ID AS KretaAzonosito
    ,Gondviselo.C_NEV AS GondviseloNev
    ,Email.C_EMAILCIM AS EmailCim
    ,Felhasznalo.C_NYOMTATASINEV AS TanuloNev
    ,Felhasznalo.C_OKTATASIAZONOSITO AS TanuloOktatasiAzonosito
    ,Felhasznalo.ID AS TanuloId
    ,RokonsagiFokDictionary.C_NAME AS RokonsagiFok
    ,IIF(Gondviselo.C_ISTORVENYESKEPVISELO = 'T', 1, 0) AS IsTorvenyesKepviselo
    ,SZMKKepviselo.SZMKOsztaly
    ,SZMKKepviseloHelyettes.ID AS SZMKOsztalyHelyettesKretaAzonosito
    ,SZMKKepviseloHelyettes.SZMKOsztalyHelyettes
    ,SZMKKepviselo.ID AS SZMKOsztalyKretaAzonosito
    ,IIF(SZMKKepviselo.SZMKKepviseloId = Gondviselo.ID, 1, 0) AS IsSZMK
    ,IIF(SZMKKepviseloHelyettes.SZMKKepviseloHelyettesId = Gondviselo.ID, 1, 0) AS IsSZMKHelyettes
    ,Gondviselo.C_EGYEDIAZONOSITO AS EgyediAzonosito
    ,Gondviselo.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
  FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
  INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON Gondviselo.C_TANULOID = TanuloCsoport.C_TANULOID
    AND Gondviselo.TOROLT = 'F'
  LEFT JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFokDictionary ON RokonsagiFokDictionary.ID = Gondviselo.C_ROKONSAGFOKA
    AND RokonsagiFokDictionary.TOROLT = 'F'
  LEFT JOIN T_EMAIL_OSSZES Email ON Email.C_GONDVISELOID = Gondviselo.ID
    AND Email.TOROLT = 'F'
    AND Email.C_ALAPERTELMEZETT = 'T'
  INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = TanuloCsoport.C_TANULOID
    AND Felhasznalo.TOROLT = 'F'
  INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
    AND OsztalyCsoport.TOROLT = 'F'
  LEFT JOIN (
    SELECT OsztalyCsoport.ID
      ,OsztalyCsoport.C_NEV AS SZMKOsztaly
      ,Osztaly.C_SZMKKEPVISELOID AS SZMKKepviseloId
    FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
    INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = OsztalyCsoport.ID
      AND Osztaly.TOROLT = 'F'
    WHERE OsztalyCsoport.TOROLT = 'F'
    ) SZMKKepviselo ON SZMKKepviselo.SZMKKepviseloID = Gondviselo.ID
  LEFT JOIN (
    SELECT OsztalyCsoport.ID
      ,OsztalyCsoport.C_NEV AS SZMKOsztalyHelyettes
      ,Osztaly.C_SZMKKEPVISELOHELYETTESID AS SZMKKepviseloHelyettesId
    FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
    INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = OsztalyCsoport.ID
      AND Osztaly.TOROLT = 'F'
    WHERE OsztalyCsoport.TOROLT = 'F'
    ) SZMKKepviseloHelyettes ON SZMKKepviseloHelyettes.SZMKKepviseloHelyettesId = Gondviselo.ID
  INNER JOIN T_CSOPORT_OSSZES Csoport ON Csoport.ID = OsztalyCsoport.ID
    AND Csoport.TOROLT = 'F'
  WHERE 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()
      )
    AND OsztalyCsoport.ID = @pOsztalyCsoportId
    AND RokonsagiFokDictionary.C_TANEVID = @pTanevId
END
GO


