﻿DROP PROCEDURE IF EXISTS [dbo].[uspGetFogadooraDokumentumAdatok]
GO

CREATE PROCEDURE [dbo].[uspGetFogadooraDokumentumAdatok]
   @pFogadooraId int
  ,@pTanevId int
AS BEGIN
  SET NOCOUNT ON;

SELECT
   FORMAT(fo.C_FOGADOORAKEZDETE, 'yyyy.MM.dd.') AS FogadooraDatuma
  ,te.C_NEV AS TeremNev
  ,FORMAT(fo.C_FOGADOORAKEZDETE, 'HH:mm') AS FogadooraKezdete
  ,FORMAT(fo.C_FOGADOORAVEGE, 'HH:mm') AS FogadooraVege
  ,IIF(fo.C_FOGADOORATIPUSID < 2, 'nincs felosztva', CONCAT(fo.C_EGYSEG, ' perc')) AS IdosavokMerteke
  ,ft.C_NYOMTATASINEV AS FogadooratKiiro
  ,g.C_NEV AS JelentkezettGondviseloNev
  ,f.C_NYOMTATASINEV AS TanuloNev
  ,FORMAT(foi.C_KEZDETE, 'HH:mm') AS IdointervallumKezdete
  ,FORMAT(foi.C_VEGE, 'HH:mm') AS IdointervallumVege
  ,oszt.Nev AS OsztalyCsoportNev
  ,fo.C_JELENTKEZESHATARIDO AS JelentkezesHatarido
  ,fo.C_FOGADOORAKEZDETE AS FogadooraKezdeteTeljes
FROM T_FOGADOORA_OSSZES fo
  LEFT JOIN T_FOGADOORAIDOPONT_OSSZES foi ON foi.C_FOGADOORAID = fo.ID AND foi.TOROLT = 'F'
  LEFT JOIN T_FOGADOORAIDOPONT_GONDVISELO_OSSZES foig ON foig.C_FOGADOORAIDOPONTID = foi.ID AND foig.TOROLT = 'F'
  LEFT JOIN T_GONDVISELO_OSSZES g ON g.ID = foig.C_GONDVISELOID AND g.TOROLT = 'F'
  LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = g.C_TANULOID AND f.TOROLT = 'F'
  LEFT JOIN T_FELHASZNALO_OSSZES ft ON ft.ID = fo.C_TANARID AND ft.TOROLT = 'F'
  LEFT JOIN T_TEREM_OSSZES te ON te.ID = fo.C_TEREMID AND te.TOROLT = 'F'
  OUTER APPLY (
    SELECT STUFF((SELECT DISTINCT ',' + ocs.C_NEV
      FROM T_OSZTALYCSOPORT_OSSZES ocs
        INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.TOROLT = 'F' AND tcs.C_TANULOID = f.ID
        INNER JOIN T_FOGADOORA_OSZTALYCSOPORT focs ON focs.C_OSZTALYCSOPORTID = ocs.ID AND focs.TOROLT = 'F'
        INNER JOIN T_FOGADOORA_OSSZES fo ON fo.ID = focs.C_FOGADOORAID AND fo.TOROLT = 'F'
      WHERE ocs.TOROLT = 'F'
      FOR XML PATH(''), TYPE
      ).value('.','nvarchar(max)'), 1, 1, '') AS Nev
  ) oszt
WHERE fo.ID = @pFogadooraId
  AND fo.C_TANEVID = @pTanevId
  AND fo.TOROLT = 'F'
END