DROP PROCEDURE IF EXISTS [dbo].[uspGetErtesitoNyomtatvany]
GO

-- =====================================================================
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
-- =====================================================================
CREATE PROCEDURE [dbo].[uspGetErtesitoNyomtatvany]
   @pOsztalyId int
  ,@pTanevId int
  ,@pErtekelesTipus int
  ,@pElmeletGyakorlat bit = 0
  ,@pKesesTipus int = 1499
  ,@pElmeletiOraPercben int = 45
  ,@pGyakorlatiOraPercben int = 45
  ,@pIskolaErdekuSzamit bit
  ,@pIsKozossegiSzolgalat bit
  ,@pTanuloId int	= NULL
  ,@pIsMuveszetOktatasi bit = 0
  ,@pIsShowTanuloiAtlag bit = 0
  ,@tanitasiHetekSzamaVegzos int = 32
  ,@tanitasiHetekSzamaNemVegzos int = 36
  ,@isAltantargyBeszamitasa bit = 0
  ,@nyomtatvanyNyelvEnum int = 0
  ,@kiiratkozottTanulokMegjelenitese  bit = 1
AS
BEGIN
  SET NOCOUNT ON;
	
  DECLARE 
     @EsemenyTipus int
    ,@IdoszakVegeTanevRendje int
    ,@IdoszakVege date
    ,@OsztalycsoportVezeto nvarchar(max)
    ,@OsztalycsoportNev nvarchar(max)


  SET @EsemenyTipus = 
    CASE @pErtekelesTipus
      WHEN 1519 THEN 1547 --félévi
      WHEN 1520 THEN 1548 --év végi
      WHEN 1522 THEN 1549 --I. negyedévi
      WHEN 1524 THEN 1550 --II. negyedévi
      WHEN 1523 THEN 1551 --III. negyedévi
    END
   
  SET @IdoszakVegeTanevRendje = 
    CASE @pErtekelesTipus
      WHEN 1519 THEN 1400 --félévi
      WHEN 1520 THEN 1395 --év végi
      WHEN 1522 THEN 1403 --I. negyedévi
      WHEN 1524  THEN 1400 --II. negyedévi
      WHEN 1523 THEN 1404 --III. negyedévi
    END

  CREATE TABLE #ErtekelesResult (
     TanuloId int
    ,TanuloCsoportId int
    ,Targy nvarchar(max)
    ,Jegyzet nvarchar(max)
    ,Ertekeles nvarchar(max)
    ,ErtekelesValue int
    ,ErtekelesJegyzettel nvarchar(max)  
    ,Oraszam float
    ,RENDEZ1 int
    ,RENDEZ2 nvarchar(max)
    ,RENDEZ3 int
    ,RENDEZ4 int
    ,RENDEZ5 nvarchar(max)
    /*nemzetiségi törzslaphoz kell*/
    ,ErtekelesTemaIdegenNyelven nvarchar(max)
    ,ErtekelesSzovegIdegenNyelven nvarchar(max)
    ,ErtekelesValueIdegenNyelven nvarchar(max)
    ,ErtekelesOsztalyzatIdegenNyelven nvarchar(max)
    ,ErtekelesSzazalek nvarchar(max)
    ,Jeloles nvarchar(max)
    ,TantargyNevIdegenNyelven nvarchar(max)
    /**/
    ,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
  )

  CREATE TABLE #MulasztasResult (
     TanuloId int
    ,TanuloCsoportId int
    ,Igazolt int
    ,Igazolatlan int
    ,ElmeletIgazolt int
    ,ElmeletIgazolatlan int
    ,GyakorlatIgazolt int
    ,GyakorlatIgazolatlan int
    ,ElmeletOsszes int
    ,GyakorlatOsszes int
    ,Osszes int
    ,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
  )
  
  CREATE TABLE #TanuloResult (
     TANULOID int
    ,TanuloCsoportId int
    ,BelepesDatum date
    ,KilepesDatum date
    ,TANULONEV nvarchar(max)
    ,OKTATASIAZONOSITO nvarchar(max)
    ,TORZSLAPSZAM nvarchar(max)
    ,SZULHELY nvarchar(max)
    ,SZULIDO nvarchar(max)
    ,ANYJANEVE nvarchar(max)
    ,PRIMARY KEY (TANULOID, TanuloCsoportId, BelepesDatum)
  )

  SET @IdoszakVege = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = @IdoszakVegeTanevRendje AND C_TANEVID = @pTanevId AND TOROLT = 'F')
  SET @OsztalycsoportNev = (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)

  IF (@pIsMuveszetOktatasi = 0) BEGIN
    SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_OSZTALY_OSSZES Osztaly INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Osztaly.C_OSZTALYFONOKID = felhasznalo.ID WHERE Osztaly.ID = @pOsztalyId)
  END
  ELSE BEGIN
    SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_CSOPORT_OSSZES Csoport INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Csoport.C_CSOPORTVEZETOID = felhasznalo.ID WHERE Csoport.ID = @pOsztalyId)
  END
  
     -- Fejléc
  IF @pIsMuveszetOktatasi = 0 BEGIN
    SELECT 
       ia.C_NEV AS IntezmenyNeve
      ,ia.C_VAROS AS IntezmenyVaros
      ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
      ,ia.C_IGAZGATONEVE AS IntezmenyVezeto
      ,ia.C_OMKOD AS OMKod
      ,ia.C_TELEFONSZAM AS TELEFON
      ,ia.C_EMAILCIM AS EMAILCIM
      ,tv.C_NEV AS TANEV
      ,ia.C_VAROS AS VAROS
      ,ofo.C_NYOMTATASINEV AS OSZTALYFONOK
      ,ofo.ID AS OsztalyFonokId
      ,ocs.C_NEV AS OSZTALYNEV
      ,@pOsztalyId AS OsztalyId
      ,GETDATE() AS Datum
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
      ,o.C_TANTERVID AS TantervId
      ,ocs.C_KEPZESIFORMA AS KepzesiForma
      ,o.C_AGAZAT AS Agazat
      ,o.C_SZAKMACSOPORT AS SzakmaCsoport
      ,o.C_SZAKKEPESITES AS Szakkepesites
      ,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
      ,o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
      ,o.C_NEMZETISEGI AS OJNemzetisegi
      ,o.C_KETTANNYELVU AS OJKettannyelvu
      ,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
      ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
      ,o.C_SPORT AS OJSportOsztaly
      ,o.C_AJPROGRAM AS OJAranyJanosProgram
    FROM T_OSZTALYCSOPORT_OSSZES ocs
      INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON  ocs.C_TANEVID = ia.C_TANEVID and ocs.TOROLT = 'F'
      INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = 'F'
      LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_OSZTALYFONOKID
      INNER JOIN T_TANEV_OSSZES tv ON tv.ID = ocs.C_TANEVID AND tv.TOROLT = 'F'
    WHERE ia.TOROLT = 'F' 
      AND tv.ID = @pTanevId
      AND ocs.id = @pOsztalyId
  END
  ELSE BEGIN
     SELECT 
       T_INTEZMENYADATOK_OSSZES.C_NEV AS IntezmenyNeve
      ,T_INTEZMENYADATOK_OSSZES.C_VAROS AS IntezmenyVaros
      ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
      ,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE AS IntezmenyVezeto
      ,T_INTEZMENYADATOK_OSSZES.C_OMKOD AS OMKod
      ,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM AS TELEFON
      ,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM AS EMAILCIM
      ,T_TANEV_OSSZES.C_NEV AS TANEV
      ,T_INTEZMENYADATOK_OSSZES.C_VAROS AS VAROS
      ,ofo.C_NYOMTATASINEV AS CsoportVezeto
      ,ofo.ID AS CsoportVezetoId
      ,ocs.C_NEV AS OSZTALYNEV
      ,@pOsztalyId AS CsoportId
      ,GETDATE() AS Datum
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
      ,o.C_TIPUSA AS CsoportTipusa
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
    FROM T_INTEZMENYADATOK_OSSZES
      INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id = @pOsztalyId and ocs.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and ocs.C_TANEVID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and ocs.TOROLT = 'F'
      INNER JOIN T_CSOPORT_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
      LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_CSOPORTVEZETOID
      INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
    WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
      AND T_TANEV_OSSZES.ID = @pTanevId
  END
  
  --PRINT ' TANULÓK  ---------------------------------------------------------------'

  IF @pTanuloId IS NOT NULL BEGIN 
    INSERT INTO #TanuloResult
    SELECT 
       dk.TanuloId 
      ,dk.TanuloCsoportId
      ,dk.BelepesDatum
      ,dk.KilepesDatum
      ,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
      ,fh.C_OKTATASIAZONOSITO
      ,dk.Torzslapszam
      ,fh.C_SZULETESIHELY          
      ,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)         
      ,fh.C_ANYJANEVE
    FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
      INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
    WHERE dk.TanuloId = @pTanuloId
      AND (@kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum > @IdoszakVege))

    SELECT
       TANULOID
      ,TanuloCsoportId
      ,BelepesDatum
      ,KilepesDatum
      ,TANULONEV
      ,OKTATASIAZONOSITO
      ,TORZSLAPSZAM
      ,SZULHELY
      ,SZULIDO
      ,ANYJANEVE 
      ,@OsztalycsoportNev AS Osztaly
      ,@pOsztalyId AS OsztalyId
      ,@OsztalycsoportVezeto AS Osztalyfonok
    FROM #TanuloResult 
    ORDER BY TANULONEV
  END
  ELSE BEGIN 
    INSERT INTO #TanuloResult
    SELECT 
       dk.TanuloId 
      ,dk.TanuloCsoportId
      ,dk.BelepesDatum
      ,dk.KilepesDatum
      ,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
      ,fh.C_OKTATASIAZONOSITO
      ,dk.Torzslapszam
      ,fh.C_SZULETESIHELY          
      ,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)         
      ,fh.C_ANYJANEVE             
    FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
      INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
    WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum > @IdoszakVege)

    SELECT
       TANULOID
      ,TanuloCsoportId
      ,BelepesDatum
      ,KilepesDatum
      ,TANULONEV
      ,OKTATASIAZONOSITO
      ,TORZSLAPSZAM
      ,SZULHELY
      ,SZULIDO
      ,ANYJANEVE
      ,@OsztalycsoportNev AS Osztaly
      ,@pOsztalyId AS OsztalyId
      ,@OsztalycsoportVezeto AS Osztalyfonok
    FROM #TanuloResult 
    ORDER BY TANULONEV
  
  END 
  
  --PRINT ' ÉRTÉKELÉSEK  ---------------------------------------------------------------'


  INSERT INTO #ErtekelesResult (
     TanuloId 
    ,TanuloCsoportId 
    ,Targy
    ,Jegyzet 
    ,Ertekeles 
    ,ErtekelesValue 
    ,ErtekelesJegyzettel 
    ,Oraszam 
    ,RENDEZ1 
    ,RENDEZ2 
    ,RENDEZ3 
    ,RENDEZ4 
    ,RENDEZ5 
    ,ErtekelesTemaIdegenNyelven
    ,ErtekelesSzovegIdegenNyelven 
    ,ErtekelesValueIdegenNyelven 
    ,ErtekelesOsztalyzatIdegenNyelven 
    ,ErtekelesSzazalek 
    ,Jeloles 
    ,TantargyNevIdegenNyelven 
  ) EXEC sp_GetDokumentumErtekelesek
     @osztalyId = @pOsztalyId
    ,@tanevId = @pTanevId
    ,@ertekelesTipus = @pErtekelesTipus
    ,@isMuveszetOktatasi = @pIsMuveszetOktatasi
    ,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
    ,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
    ,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
    ,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
    ,@idegenNyelvId	= 0

  SELECT 
     ertekeles.TanuloId    
    ,ertekeles.TanuloCsoportId  
    ,Targy      
    ,Jegyzet
    ,Ertekeles
    ,ErtekelesValue
    ,ErtekelesJegyzettel        
    ,Oraszam    
    ,RENDEZ1
    ,RENDEZ2
    ,RENDEZ3
    ,RENDEZ4
    ,RENDEZ5
    ,'' TanarNev
  FROM #ErtekelesResult ertekeles
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = ertekeles.TanuloId AND Tanulok.TanuloCsoportId = ertekeles.TanuloCsoportId
  ORDER BY ertekeles.TanuloId, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
  
  IF(@pIsShowTanuloiAtlag = 1) BEGIN
    PRINT 'Tanuló Átlaga'
    SELECT
       atlag.TanuloId          TanuloId
      ,atlag.TanuloCsoportId
      ,REPLACE(CAST(AVG(ErtekelesValue) AS DECIMAL(10,2)), '.', ',')    ErtekelesAtlag
    FROM #ErtekelesResult atlag
      INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
    GROUP BY atlag.TanuloId, atlag.TanuloCsoportId
  END
 
  
  --PRINT 'MULASZTÁSOK  ---------------------------------------------------------------'
  INSERT INTO #MulasztasResult (
     TanuloId 
    ,TanuloCsoportId 
    ,Igazolt 
    ,Igazolatlan 
    ,ElmeletIgazolt 
    ,ElmeletIgazolatlan 
    ,GyakorlatIgazolt 
    ,GyakorlatIgazolatlan 
    ,ElmeletOsszes 
    ,GyakorlatOsszes 
    ,Osszes   
  ) EXEC sp_GetDokumentumMulasztasok
     @osztalyId = @pOsztalyId
    ,@tanevId = @pTanevId
    ,@elmeletiOraPercben = @pElmeletiOraPercben
    ,@gyakorlatiOraPercben = @pGyakorlatiOraPercben
    ,@ertekelesTipus = @pErtekelesTipus
    ,@iskolaErdekuSzamit = @pIskolaErdekuSzamit
    ,@isMuveszetOktatasi = @pIsMuveszetOktatasi
  
  SELECT 
     mu.TanuloId 
    ,mu.TanuloCsoportId
    ,Igazolt 
    ,Igazolatlan 
    ,ElmeletIgazolt 
    ,ElmeletIgazolatlan 
    ,GyakorlatIgazolt 
    ,GyakorlatIgazolatlan 
    ,ElmeletOsszes
    ,GyakorlatOsszes
    ,Osszes  
  FROM #MulasztasResult mu
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = mu.TanuloId AND Tanulok.TanuloCsoportId = mu.TanuloCsoportId
  
  --PRINT  'MENTESSÉGEK  ---------------------------------------------------------------'
  SELECT 
     Mentessegek.TanuloId  
    ,Mentessegek.TanuloCsoportId
    ,TantargyNev
    ,MentessegOka
  FROM fnGetDokumentumTanuloMentessegei(@pTanevId, @pOsztalyId, DEFAULT) Mentessegek
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Mentessegek.TanuloId AND Tanulok.TanuloCsoportId = Mentessegek.TanuloCsoportId

  --PRINT 'TANULÓ elérhetőségei  ---------------------------------------------------------------'
  SELECT 
     GondviseloNev  GondviseloNeve  
    ,Gondviselo.TanuloId 
  FROM fnGetDokumentumGondviselok (@pOsztalyId, @pTanevId, 'F', 'T') Gondviselo
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Gondviselo.TanuloId

  SELECT DISTINCT
     TanuloTable.TanuloId AS tanuloID 
    ,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM AS CimText
    ,cimTipus.C_NAME AS CimTipusa
  FROM #TanuloResult TanuloTable 
    INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloTable.TanuloId
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @pTanevId
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipus ON cim.C_CIMTIPUSA = cimTipus.ID AND cimTipus.C_TANEVID = @pTanevId
  WHERE cim.TOROLT = 'F'
    AND cim.C_GONDVISELOID IS NULL
    AND cim.C_ALAPERTELMEZETT = 'T'
    AND cim.C_TANEVID = @pTanevId

  --Tanuló összefüggő szakmai gyakorlat  
  SELECT
     SzakmaiGyakorlat.TanuloId
    ,SzakmaiGyakorlat.TanuloCsoportId
    ,isTeljesitett
    ,Ertekeles
    ,Megjegyzes
    ,Datum
  FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@pTanevId, @pOsztalyId) SzakmaiGyakorlat
    INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = SzakmaiGyakorlat.TanuloId AND Tanulok.TanuloCsoportId = SzakmaiGyakorlat.TanuloCsoportId

  --PRINT 'Osztály adatok az iktatáshoz ---------------------------------------------------------------'
  IF @pIsMuveszetOktatasi = 0 BEGIN
    SELECT 
       f.C_NYOMTATASINEV AS Osztalyfonok
      ,f.ID AS OsztalyfonokId
      ,ocs.C_NEV AS Osztalynev
      ,@pOsztalyId AS OsztalyId
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
      ,o.C_TANTERVID AS TantervId
      ,ocs.C_KEPZESIFORMA AS KepzesiForma
      ,o.C_AGAZAT AS Agazat
      ,o.C_SZAKMACSOPORT AS SzakmaCsoport
      ,o.C_SZAKKEPESITES AS Szakkepesites
      ,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
      ,o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
      ,o.C_NEMZETISEGI AS OJNemzetisegi
      ,o.C_KETTANNYELVU AS OJKettannyelvu
      ,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
      ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
      ,o.C_SPORT AS OJSportOsztaly
      ,o.C_AJPROGRAM AS OJAranyJanosProgram
    FROM T_OSZTALYCSOPORT_OSSZES ocs
      INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.id
      LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID
    WHERE ocs.ID = @pOsztalyId 
      AND ocs.C_TANEVID = @pTanevId 
      AND ocs.TOROLT = 'F';
  END
  ELSE BEGIN
    SELECT 
       f.C_NYOMTATASINEV AS CsoportVezeto
      ,f.ID AS CsoportVezetoId
      ,ocs.C_NEV AS OSZTALYNEV
      ,@pOsztalyId AS CsoportId
      ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
      ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
      ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
      ,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
      ,cs.C_TIPUSA AS CsoportTipusa
    FROM T_OSZTALYCSOPORT_OSSZES ocs
      INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.id
      LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = cs.C_CSOPORTVEZETOID
    WHERE ocs.ID = @pOsztalyId 
      AND ocs.C_TANEVID = @pTanevId 
      AND ocs.TOROLT = 'F';
  END

  --Bejegyzések
  SELECT 
     TanuloTable.TanuloId
    ,TanuloTable.TanuloCsoportId
    ,'A tanév során ' + CAST(SUM(Oraszam) AS nvarchar(max)) + ' óra közösségi szolgálatot teljesített.' AS  Bejegyzes
  FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@pTanevId, @pOsztalyId, 0) bejegyzes
    INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId AND bejegyzes.TanuloCsoportId = TanuloTable.TanuloCsoportId
  WHERE @pIsKozossegiSzolgalat = 1
--    AND ((@IdoszakVegeTanevRendje = 1395) OR (IntervallumVege <= @IdoszakVege OR @IdoszakVege BETWEEN IntervallumKezdete AND IntervallumVege))
  GROUP BY TanuloTable.TanuloId, TanuloTable.TanuloCsoportId

  UNION 

  SELECT  
     bejegyzes.TanuloId AS TanuloId
     ,TanuloCsoportId
     ,Tartalom AS Bejegyzes
  FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztalyId, 0) bejegyzes
    INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
  WHERE Tipusa IN (1546, @EsemenyTipus)
    AND BelepesDatum <= Datum
    AND (KilepesDatum IS NULL OR KilepesDatum > Datum) 

  -- Zaradekok
    SELECT  
       Hatarozatok.TanuloId
      ,Hatarozatok.TanuloCsoportId
      ,Bejegyzes AS VegZaradek
    FROM fnGetDokumentumTanuloZaradekai(@pTanevId, @pOsztalyId, 1, 0) Hatarozatok
      INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Hatarozatok.TanuloId AND Tanulok.TanuloCsoportId = Hatarozatok.TanuloCsoportId
    WHERE @pErtekelesTipus IN (1519, 1520)
  
END
GO

