﻿  SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetCsoportNaplo]') IS NOT NULL
BEGIN
  DROP PROCEDURE [dbo].[sp_GetCsoportNaplo]
END  
GO

CREATE PROCEDURE [dbo].[sp_GetCsoportNaplo]
	@tanevId				INT,
	@intezmenyid			INT,
	@csoportId				INT,
	@iskolaErdekuSzamit		BIT,
	@isGyakorlatiTargyak	BIT, 
	@isElmeletiTargyak		BIT

AS
BEGIN
  SET NOCOUNT ON;

  DECLARE @isreszletesmulasztasok BIT = 0

  DECLARE @isGyakorlatVagyElmelet BIT  /*0 csak elmeleti || 1 csak gyakorlati || NULL elmeleti és gyakorlati*/
  DECLARE @isGyakorlatVagyElmeletFalse BIT = NULL
   
  IF(@isGyakorlatiTargyak = 1)
	SET @isGyakorlatVagyElmelet = 1

  IF(@isElmeletiTargyak = 1)
	SET @isGyakorlatVagyElmelet = 0

  IF(@isGyakorlatiTargyak = 1 AND @isElmeletiTargyak = 1)
	SET @isGyakorlatVagyElmelet = NULL

  IF(@isGyakorlatiTargyak = 0 AND @isElmeletiTargyak = 0)
	SET @isGyakorlatVagyElmeletFalse = 0

--Kezdőoldal
  SELECT 
     ia.C_NEV	 		IntezmenyNev
    ,dbo.fnGetDokumentumIntezmenyCime(@tanevId)	IntezmenyCim
    ,ia.C_OMKOD 		OMKOD
    ,ia.C_IGAZGATONEVE  IntezmenyVezeto
    ,ocs.C_NEV			Csoport 
	,ISNULL(f.C_NYOMTATASINEV,'-')			 CsoportVezeto
    ,ISNULL(cs.C_CSOPORTNAPLOLEIRAS,'-')	 CsoportNaploLeiras
    ,FORMAT(cs.C_CSOPORTNAPLOMEGNYITASA, 'yyyy. MMMM dd.', 'hu-hu')			Megnyitas 
	,ISNULL(FORMAT(cs.C_CSOPORTNAPLOZARASA, 'yyyy. MMMM dd.', 'hu-hu'),'-')	Lezaras
  FROM T_INTEZMENY_OSSZES i
	  INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
	  INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid = i.id AND ocs.c_tanevid = @tanevid
	  INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id 
	  LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
  WHERE 
	i.id = @intezmenyid 
	AND ia.c_tanevid = @tanevid 
	AND ocs.id = @csoportId

  --Csoportot vezette
  SELECT 
	ISNULL(felhasznaloNev.C_NYOMTATASINEV,'-') CsoportVezeto 
  FROM T_CSOPORT_OSSZES csoport
  INNER JOIN 
	T_FELHASZNALO_OSSZES felhasznaloNev ON felhasznaloNev.id = csoport.C_CSOPORTVEZETOID
  WHERE 
	csoport.id = @csoportId 

  --Tanulók
	DECLARE @NaploSorszam TABLE (
		TanuloId INT
		,Sorszam INT	
	)

	INSERT INTO @NaploSorszam
	EXEC [sp_GetDokumentumTanuloNaploSorszam]
		@osztalyid = @csoportid

  CREATE TABLE  #students (Id INT PRIMARY KEY, BelepesDatum DATE, KilepesDatum DATE, NaploSorszam INT, Osztaly NVARCHAR(MAX), OktAzon nvarchar(max), Nev nvarchar(max))
  INSERT INTO #students
  SELECT
	t.TanuloId
	,BelepesDatum
	,ISNULL(KilepesDatum, GETDATE()) 
	,nsz.Sorszam
	,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.TanuloId)
	,C_OKTATASIAZONOSITO	OktAzon
	,C_NYOMTATASINEV		Nev
  FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') t
	INNER JOIN @NaploSorszam nsz ON nsz.TanuloId = t.TanuloId
	INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = t.TanuloId
  ORDER BY C_NYOMTATASINEV

	SELECT
		 Id
		,Osztaly
		,OktAzon
		,Nev
	FROM #students

--Napló adatok
DECLARE @TanitasiNapTipusok TABLE (Id INT)
INSERT INTO @TanitasiNapTipusok
SELECT DISTINCT ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE ID IN (1385, 1393, 1394, 1395, 1400, 1402, 1403, 1404)

DECLARE @ElsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @tanevId AND TOROLT = 'F')
DECLARE @UtolsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
DECLARE @ElsoNapTanev DATE = (SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
DECLARE @UtolsoNapTanev DATE = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')

DECLARE @isVegzos VARCHAR(1) = (SELECT TOP 1  C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId)
DECLARE @VegzosUtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F') 

DECLARE @NapSorszam TABLE (Datum DATE, Sorszam NVARCHAR(4))
INSERT INTO @NapSorszam
SELECT
	C_NAPDATUMA
	,CAST(DENSE_RANK() OVER(ORDER BY C_NAPDATUMA) AS NVARCHAR(4))
FROM T_NAPTARINAP_OSSZES
WHERE
	C_TANEVID = @tanevId
	AND TOROLT = 'F'
	AND C_NAPTIPUSA IN (SELECT Id FROM @TanitasiNapTipusok) 
	AND C_NAPDATUMA <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)

DECLARE @datum DATE = GETDATE()

CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT)

INSERT INTO #OraSorszam
EXEC	sp_GetOraSorszamByOsztaly
  	@osztalyCsoportId = @csoportId,
  	@datum = @datum,
  	@intezmenyId = @intezmenyId,
  	@tanevId = @tanevId

	  SELECT 
		 tao.Id						TanitasioraId
		,tao.C_DATUM				Datum		
		,CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108)	KezdetVeg
		,C_ORATULAJDONOSID			PedagogusId
		,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV)	PedagogusNev
		,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-'), '-')	OraSorszam
		,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt')		Tema
		,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-') +'.: ' + REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt')	TemaOraSzammal
		,tao.C_HETNAPJA				HetNapja
		,C_HETSORSZAMA				HetSorszama
		,C_MEGTARTOTT				Megtartott
		,C_TANTARGYID				TantargyId	
		,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV)	Tantargynev
		,C_OSZTALYCSOPORTID			OsztalyCsoportId
		,C_NAPSORSZAMA				NapSorszama
		,C_ORAKEZDETE				Kezdete
	INTO #megtartottOrak
	FROM T_TANITASIORA_OSSZES tao 
		INNER JOIN T_FELHASZNALO_OSSZES pedagogus ON pedagogus.Id = tao.C_TANARID
		LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = tao.C_HELYETTESITOTANARID
		INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID AND (tantargy.C_GYAKORLATI = CASE @isGyakorlatVagyElmelet 
																												WHEN 1 THEN 'T' 		 
																												WHEN 0 THEN 'F' 
																											 END OR @isGyakorlatVagyElmelet IS NULL)
		LEFT JOIN (SELECT DISTINCT OraSorszam, TanitasioraId FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
	WHERE 
		C_OSZTALYCSOPORTID = @csoportId
		AND tao.TOROLT = 'F'

	SELECT 
		nn.C_HETSORSZAMA		Het
		,FORMAT(MIN(nn.C_NAPDATUMA), 'yyyy.MM.dd.')	HetEleje	
		,FORMAT(MAX(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetVege
	FROM T_NAPTARINAP_OSSZES nn
	WHERE 
		nn.C_NAPDATUMA BETWEEN ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap,@UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
		AND nn.C_HETNAPJA BETWEEN 1407 AND 1413
		AND nn.TOROLT='F' 
		AND nn.c_tanevId = @tanevId
	GROUP BY nn.C_HETSORSZAMA
	ORDER BY MIN(nn.C_NAPDATUMA)

  SELECT DISTINCT 
     nn.C_HETSORSZAMA									Het
    ,NapDictionary.C_NAME								Nap
    ,FORMAT(nn.C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu')	Datum 
	,nn.C_NAPDATUMA
  FROM T_NAPTARINAP_OSSZES nn 
  	LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = nn.c_napdatuma AND tao.c_osztalycsoportid = @csoportid AND tao.torolt = 'F'
  	LEFT JOIN T_DICTIONARYITEMBASE_OSSZES NapDictionary ON NapDictionary.id = nn.C_HETNAPJA AND NapDictionary.C_TANEVID = @tanevId 
  WHERE nn.c_orarendinap='T' AND nn.c_napdatuma >= ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND nn.c_napdatuma <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)
  ORDER BY nn.C_HETSORSZAMA, nn.C_NAPDATUMA
	
	SELECT
		 mto.Datum									C_NAPDATUMA
		,FORMAT(mto.Datum, 'dddd', 'hu-hu')			Napneve
		,null										C_MEGJEGYZES
		,nh.C_HETKEZDONAPJA							C_HETKEZDONAPJA
		,nh.C_HETUTOLSONAPJA						C_HETUTOLSONAPJA
		,HetSorszama								C_HETSORSZAMA
		,KezdetVeg									KezdetVeg
		,nsz.Sorszam								Napszam
		,Tantargynev								Tantargy
		,PedagogusNev								Tanar
		,Tema										Oraanyaga
		,OraSorszam									C_ORAEVESSORSZAM
		,Kezdete									Kezdete
	INTO #szoveges
	FROM #megtartottOrak mto 
		INNER JOIN T_NAPTARIHET_OSSZES nh ON Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId and nh.torolt='F' 
		LEFT JOIN @NapSorszam nsz ON nsz.Datum = mto.Datum
   
	IF(@isGyakorlatVagyElmeletFalse IS NULL) BEGIN
		IF((@isGyakorlatVagyElmelet = 1) OR (@isGyakorlatVagyElmelet = 0) OR (@isGyakorlatVagyElmelet IS NULL)) BEGIN
		SELECT DISTINCT 
				FORMAT(C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') Datum
				, napneve
				, c_megjegyzes
				, c_hetkezdonapja
				, c_hetutolsonapja
				, c_hetsorszama
				, KezdetVeg
				, napszam
				, STUFF((SELECT ' | ' + CAST(bszov.TANTARGY AS VARCHAR(max)) 
						 FROM #szoveges bszov 
						 WHERE 
							 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
							 and bszov.KezdetVeg=szov.KezdetVeg
							 and bszov.napszam=szov.napszam
						 FOR XML PATH(''), TYPE)
						.value('.','NVARCHAR(MAX)'),1,3,'') TANTARGY
				, STUFF((SELECT ' | ' + CAST(bszov.TANAR AS VARCHAR(max)) 
						 FROM #szoveges bszov 
						 WHERE 
							 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
							 and bszov.KezdetVeg=szov.KezdetVeg
							 and bszov.napszam=szov.napszam
						 FOR XML PATH(''), TYPE)
						.value('.','NVARCHAR(MAX)'),1,3,'') TANAR
				, STUFF((SELECT ' | ' + CAST(bszov.ORAANYAGA AS VARCHAR(max)) 
						 FROM #szoveges bszov 
						 WHERE 
							 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
							 and bszov.KezdetVeg=szov.KezdetVeg
							 and bszov.napszam=szov.napszam
						 FOR XML PATH(''), TYPE)
						.value('.','NVARCHAR(MAX)'),1,3,'') ORAANYAGA
				, STUFF((SELECT ' | ' + CAST(bszov.C_ORAEVESSORSZAM AS VARCHAR(max)) 
						 FROM #szoveges bszov 
						 WHERE 
							 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
							 and bszov.KezdetVeg=szov.KezdetVeg
							 and bszov.napszam=szov.napszam
						 FOR XML PATH(''), TYPE)
						.value('.','NVARCHAR(MAX)'),1,3,'') OraEvesSorszama
				,Kezdete
				,C_NAPDATUMA
		FROM #szoveges szov
		ORDER BY C_NAPDATUMA, Kezdete
		END
	END
	ELSE IF(@isGyakorlatVagyElmeletFalse = 0) BEGIN
		SELECT 
		'' Datum, '' napneve, '' c_megjegyzes, '' c_hetkezdonapja, '' c_hetutolsonapja, '' c_hetsorszama, '' KezdetVeg, '' napszam, '' TANTARGY,'' TANAR,'' ORAANYAGA,'' OraEvesSorszama,'' Kezdete
	END  

    /*Hiányzások*/
	 SELECT C_HETSORSZAMA, C_NYOMTATASINEV, 
      MAX([1]) AS [Hetfo], MAX([2]) AS [Kedd], MAX([3]) AS [Szerda], 
      MAX([4]) AS [Csutortok], MAX([5]) AS [Pentek], MAX([6]) AS [Szombat] 
    FROM (
      SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6]
      FROM (
       SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, n.C_HETSORSZAMA,
        '[' + STUFF((
          SELECT  ', ' + CAST(OraSorszam AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1499, '(k)','')
          FROM T_TANULOMULASZTAS_OSSZES tm
            INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
			INNER JOIN #students s ON s.Id = tm.C_ORATANULOIID
			LEFT JOIN (SELECT DISTINCT * FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = O.Id
          WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
            AND m.C_ORATANULOIID = tm.C_ORATANULOIID
            AND tm.C_TANEVID = @tanevId
			AND tm.torolt='F' AND o.c_tanevId=@tanevId
			AND o.TOROLT = 'F'
			AND tm.C_TIPUS IN (1499, 1500)
			AND o.C_OSZTALYCSOPORTID = @csoportId
          ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
          FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,2,'') + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'F', 1, 0)) AS varchar(2)) AS hianyzas
        FROM T_TANITASIORA_OSSZES n
          INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID  and m.torolt='F' 
		  INNER JOIN #students s ON s.Id = m.C_ORATANULOIID
          INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
        WHERE 
			n.C_TANEVID = @tanevId 
			AND m.C_TANEVID = @tanevId 
			AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
			and m.C_TIPUS IN (1499, 1500)
			and n.TOROLT = 'F'
			AND n.C_OSZTALYCSOPORTID = @csoportId
        GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB
        PIVOT
        (
        MAX(HIANYZAS)
        FOR NAP IN ([0], [1], [2], [3], [4], [5], [6])
      ) AS PivotTable
    ) AS ASD
    GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV
    ORDER BY C_HETSORSZAMA  

	 /*TANULÓ adatai*/
	SELECT DISTINCT 
		tanuloID
		, sorszam
		, torzslapSzam
		, oktAzon
		, tajSzam
		, anyjaNeve
		, szulHely
		, CONVERT(NVARCHAR(100),DATEPART(YEAR,szulIdo))+'. '+CONVERT(NVARCHAR(100)
		, datepart(month,szulIdo))+'. '+convert(nvarchar(100)
		, datepart(day,szulIdo))+'.' SzulIdo
		, gondviselok
		, IIF(socAdat = '', '', 
			 LEFT(socAdat, len(socAdat)- 1)) socAdat
		, kepzes
		, tanuloNeve
		, allampolgarsaga
		, diakIgazolvanySzam
		, kilepesDatum
		, beirasiNaploSorszam
		, aktualisOsztaly
  FROM (
 SELECT  
	t.ID AS tanuloID
	, naploSorszam.Sorszam as sorszam
	, f.C_NYILVANTARTASISZAM as torzslapSzam
	,f.C_OKTATASIAZONOSITO as oktAzon
	, f.C_TAJSZAM as tajSzam
	, f.C_ANYJANEVE as anyjaNeve, 
    f.C_SZULETESIHELY  AS szulHely
	,f.C_SZULETESIDATUM as szulIdo
	,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') +
    IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') + 
    IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') + 
    IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') + 
	IIF(t.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
	IIF(t.C_BEJARO = 'T', 'Bejáró, ', '') AS socAdat,
    tt.C_NEV as kepzes,
    STUFF((
    SELECT  char(13) + char(10) + gv.C_NEV
      FROM T_GONDVISELO_OSSZES gv
      WHERE  gv.C_TANULOID = s.Id
        AND gv.TOROLT = 'F'
      FOR XML PATH(''), TYPE).value('.', 'nvarchar(4000)'),1,2,'') AS gondviselok,
    f.C_NYOMTATASINEV as tanuloNeve,
	d.C_NAME allampolgarsaga,
	t.C_DIAKIGAZOLVANYSZAM diakIgazolvanySzam,
	MAX(cs.C_KILEPESDATUM) kilepesDatum,
	t.C_BEIRASINAPLOSORSZAM	beirasiNaploSorszam
	,dbo.fnGetDokumentumTanuloAktualisOsztaly(s.Id) aktualisOsztaly
  FROM T_TANULO_OSSZES t
    INNER JOIN #students s ON s.Id = t.ID
	INNER JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId=s.Id
    INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID
    INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID
    INNER JOIN T_TANULOCSOPORT_OSSZES cs ON s.Id = cs.C_TANULOID AND cs.C_OSZTALYCSOPORTID = @csoportid AND cs.TOROLT = 'F'
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
  GROUP BY 
	s.Id, t.ID, naploSorszam.Sorszam, f.C_NYILVANTARTASISZAM, f.C_OKTATASIAZONOSITO, f.C_TAJSZAM, f.C_ANYJANEVE, 
    f.C_SZULETESIHELY, f.C_SZULETESIDATUM, t.C_MAGANTANULO, t.C_JOGVISZONYATSZUNETELTETO, t.C_SZAKMAIGYAKORLATON, C_SAJATOSNEVELESU, t.C_BEJARO,
	t.C_SZOCIALISTAMOGATAS, tt.C_NEV, f.C_NYOMTATASINEV, d.C_NAME, t.C_DIAKIGAZOLVANYSZAM, t.C_BEIRASINAPLOSORSZAM  
  ) tbl
  ORDER BY tanuloNeve

  /*TANULÓ elérhetőségei */
	DECLARE @CimTableTemp TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), CimTipus INT, GondviseloId INT)
	INSERT INTO @CimTableTemp
	SELECT 
		TanuloId
		,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM
		,C_CIMTIPUSA
		,C_GONDVISELOID
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
		INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloId
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @TanevId
	WHERE
		cim.TOROLT = 'F'
		AND cim.C_TANEVID = @tanevId

	DECLARE @TanuloCimTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
	INSERT INTO @TanuloCimTable
	SELECT DISTINCT
		FelhasznaloId
		,STUFF((
			SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
			FROM @CimTableTemp btemp
			WHERE 
				temp.FelhasznaloId = btemp.FelhasznaloId
				AND temp.CimTipus = btemp.CimTipus
				AND GondviseloId IS NULL
			FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,0,'') 
		,C_NAME
	FROM @CimTableTemp temp
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = Cimtipus
	WHERE 
		GondviseloId IS NULL

	DECLARE @GondViseloCimTable TABLE (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
	INSERT INTO @GondViseloCimTable
	SELECT DISTINCT
		GondviseloId
		,STUFF((
			SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
			FROM @CimTableTemp btemp
			WHERE 
				temp.GondviseloId = btemp.GondviseloId
				AND temp.CimTipus = btemp.CimTipus
				AND GondviseloId IS NOT NULL
			FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,0,'') 
		,C_NAME
	FROM @CimTableTemp temp
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = Cimtipus
	WHERE 
		GondviseloId IS NOT NULL

	DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT)
	INSERT INTO @EmailCimTableTemp
	SELECT 
		TanuloId
		,C_EMAILCIM 
		,C_GONDVISELOID
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
		INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
	WHERE
		email.TOROLT = 'F'
		AND email.C_TANEVID = @tanevId
		AND LEN(C_EMAILCIM) > 0

	DECLARE @EmailCimTanuloTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
	INSERT INTO @EmailCimTanuloTable
	SELECT DISTINCT
		FelhasznaloId
		,STUFF((
			SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
			FROM @EmailCimTableTemp btemp
			WHERE 
				temp.FelhasznaloId = btemp.FelhasznaloId
				AND btemp.GondviseloId IS NULL
			FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,0,'') Email
	FROM @EmailCimTableTemp temp
	WHERE
		GondviseloId IS NULL

	DECLARE @EmailCimGondviseloTable TABLE (GondviseloId INT, EmailCim NVARCHAR(MAX))
	INSERT INTO @EmailCimGondviseloTable
	SELECT DISTINCT
		GondviseloId
		,STUFF((
			SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
			FROM @EmailCimTableTemp btemp
			WHERE 
				temp.GondviseloId = btemp.GondviseloId
				AND btemp.GondviseloId IS NOT NULL
			FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,0,'') Email
	FROM @EmailCimTableTemp temp
	WHERE 
		GondviseloId IS NOT NULL

	DECLARE @TelefonTableTemp TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX),  GondviseloId INT)
	INSERT INTO @TelefonTableTemp
	SELECT 
		TanuloId
		,C_TELEFONSZAM
		,C_GONDVISELOID
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
		INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
	WHERE
		telefon.TOROLT = 'F'
		AND telefon.C_TANEVID = @tanevId
		AND LEN(telefon.C_TELEFONSZAM) > 0 

	DECLARE @TanuloTelefonTable TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX))
	INSERT INTO @TanuloTelefonTable
	SELECT DISTINCT
		FelhasznaloId
		,STUFF((
			SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
			FROM @TelefonTableTemp btemp
			WHERE 
				temp.FelhasznaloId = btemp.FelhasznaloId
				AND GondviseloId IS NULL
			FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,0,'') 
	FROM @TelefonTableTemp temp
	WHERE 
		GondviseloId IS NULL

	DECLARE @GondviseloTelefonTable TABLE (GondviseloId INT, Telefon NVARCHAR(MAX))
	INSERT INTO @GondviseloTelefonTable
	SELECT DISTINCT
		GondviseloId
		,STUFF((
			SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
			FROM @TelefonTableTemp btemp
			WHERE 
				temp.FelhasznaloId = btemp.FelhasznaloId
				AND GondviseloId IS NOT NULL
			FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,0,'') 
	FROM @TelefonTableTemp temp
	WHERE 
		GondviseloId IS NOT NULL

	SELECT 
		 s.Id tanuloid 
		,cim.Cimtipusa cimtipus
		,cim.Cim 
		,email.EmailCim email
		,telefon.Telefon telefonszam
	FROM #students s
		LEFT JOIN @TanuloCimTable cim ON cim.FelhasznaloId = s.Id
		LEFT JOIN @EmailCimTanuloTable email ON email.FelhasznaloId = s.Id
		LEFT JOIN @TanuloTelefonTable telefon ON telefon.FelhasznaloId = s.Id
	ORDER BY Cimtipusa

	  /* TANULO mulasztása */
DECLARE @Mulasztasok TABLE ( IgazoltE nvarchar(1), Tanulo int, Tipus int)

--Félév kezdete
	DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')

	SELECT 
		 DATEPART(MONTH,tao.C_DATUM)	Honap
		 ,tm.ID							Id
		 ,C_IGAZOLT						IgazoltE
		 ,tm.C_ORATANULOIID				TanuloId
		 ,C_IGAZOLASTIPUSA				IgazolasTipus
		 ,C_DATUM						Datum
		 ,C_TIPUS						Tipus
		 ,C_KESESPERCBEN				KesesPercben
	INTO #mulasztasTmp
	FROM T_TANULOMULASZTAS_OSSZES tm
		INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
		INNER JOIN #students tanulok ON tanulok.Id = tm.C_ORATANULOIID 
		INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID and tanulok.Id = tcs.C_TANULOID AND tcs.TOROLT = 'F'
	WHERE
		tm.TOROLT = 'F'
		AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
		AND tcs.C_BELEPESDATUM <= tao.C_DATUM 
		AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tao.C_DATUM)
		AND tao.C_OSZTALYCSOPORTID = @csoportid

	INSERT INTO @Mulasztasok
	SELECT 'T',  Id, Tipus FROM #students
			CROSS JOIN (SELECT DISTINCT Id FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TANEVID = @tanevId AND C_TYPE LIKE 'igazolastipus' AND (@iskolaErdekuSzamit = 1 OR Id <> 1533) ) Tipus (Tipus)

	--hiányzás	
	--Összes
	SELECT s.Id tanuloId, cast('mulasztás' as nvarchar(100)) tipus,  
			isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.', 
			isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
			isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', 1 Rendez
	INTO #MulasztasVegleges
	FROM #students s
		LEFT JOIN (SELECT * FROM (SELECT Id, TanuloId, Honap FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv )ni on ni.TanuloId=s.Id
		LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE  Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.Id

	--igazolt
	INSERT INTO #MulasztasVegleges
	SELECT s.Id, 'igazolt',  
			isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.', 
			isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
			isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', 2 Rendez
	FROM #students s
		LEFT JOIN (SELECT * FROM (SELECT Id, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'T' AND Tipus = 1500 )ni on ni.TanuloId=s.Id
		LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.Id

	--igazolatlan
	INSERT INTO #MulasztasVegleges
	SELECT s.Id, 'igazolatlan',  
			isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.', 
			isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
			isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', 4999 Rendez		
	FROM #students s
		LEFT JOIN (SELECT * FROM (SELECT Id, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'F' AND Tipus = 1500 )ni on ni.TanuloId=s.Id
		LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId, IgazolasTipus) felev on felev.TanuloId=s.Id

	--különböző típusok	é
	IF @isReszletesMulasztasok = 1
	BEGIN
	INSERT INTO #MulasztasVegleges
	SELECT m.Tanulo tanuloid, '-'+d.c_name tipus, 		 
			isnull(p.[9],0) '09.', isnull(p.[10],0) '10.', isnull(p.[11],0) '11.', isnull(p.[12],0) '12.', 
			isnull(p.[1],0) '01.', isnull(p.[2],0) '02.', isnull(p.[3],0) '03.', isnull(p.[4],0) '04.', isnull(p.[5],0) '05.', isnull(p.[6],0) '06.',
			isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', d.id Rendez
	FROM @Mulasztasok m
	LEFT JOIN (SELECT * FROM (SELECT TanuloId, Honap, Id, IgazolasTipus, IgazoltE FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv
				)p ON p.TanuloId=m.Tanulo AND p.igazoltE = m.IgazoltE AND p.IgazolasTipus = m.Tipus
	LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = m.Tipus AND d.TOROLT = 'F' AND d.C_TANEVID = @tanevId
	LEFT JOIN (SELECT COUNT(Id) Felev, IgazoltE, TanuloId Tanulo, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 GROUP BY IgazoltE, TanuloId, IgazolasTipus
				)felev ON felev.tanulo=m.Tanulo AND felev.igazoltE=m.IgazoltE AND felev.IgazolasTipus=m.Tipus
	END

	--KÉSÉS
	INSERT INTO #MulasztasVegleges
	SELECT s.Id, 'késés (p)',  
			isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.', 
			isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
			isnull(Felev,0) 'felev', 			
			isnull(ni.[9],0)+isnull(ni.[10],0)+isnull(ni.[11],0)+isnull(ni.[12],0)+ isnull(ni.[1],0)+
			isnull(ni.[2],0)+isnull(ni.[3],0)+isnull(ni.[4],0)+isnull(ni.[5],0)+isnull(ni.[6],0)			
			'osszesen', 5000 Rendez
	FROM #students s
		LEFT JOIN (SELECT *  FROM (SELECT KesesPercben, Honap, TanuloId FROM #mulasztasTmp WHERE Tipus = 1499) a PIVOT (SUM(KesesPercben) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv)ni on ni.TanuloId=s.Id
		LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.Id

	--igazolt
	INSERT INTO #MulasztasVegleges
	select s.Id, '* igazolt (p)',  
			isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.', 
			isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
			isnull(Felev,0) 'felev', 
			isnull(ni.[9],0)+isnull(ni.[10],0)+isnull(ni.[11],0)+isnull(ni.[12],0)+ isnull(ni.[1],0)+
			isnull(ni.[2],0)+isnull(ni.[3],0)+isnull(ni.[4],0)+isnull(ni.[5],0)+isnull(ni.[6],0)'osszesen', 5001 Rendez
	FROM #students s
		LEFT JOIN (SELECT *  FROM (SELECT KesesPercben, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'T' AND Tipus = 1499)ni on ni.TanuloId=s.Id
		LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.Id

	--igazolatlan
	INSERT INTO #MulasztasVegleges
	SELECT s.Id, '* igazolatlan (p)',  
			isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.', 
			isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
			isnull(Felev,0) 'felev', 
			isnull(ni.[9],0)+isnull(ni.[10],0)+isnull(ni.[11],0)+isnull(ni.[12],0)+ isnull(ni.[1],0)+
			isnull(ni.[2],0)+isnull(ni.[3],0)+isnull(ni.[4],0)+isnull(ni.[5],0)+isnull(ni.[6],0) 'osszesen', 5002 Rendez
	from #students s
		LEFT JOIN (SELECT *  FROM (SELECT KesesPercben, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'F' AND Tipus = 1499)ni on ni.TanuloId=s.Id
		LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.Id

	SELECT Mulasztas.tanuloid, Mulasztas.tipus, Mulasztas.[09.], Mulasztas.[10.], Mulasztas.[11.], Mulasztas.[12.],
			Mulasztas.[01.], Mulasztas.[02.], Mulasztas.[03.], Mulasztas.[04.], Mulasztas.[05.], Mulasztas.[06.],
			mulasztas.felev felev, ISNULL(Mulasztas.osszesen,0) Osszesen, mulasztas.Rendez 
	FROM #MulasztasVegleges Mulasztas
	ORDER BY Rendez

DECLARE @gondviselok TABLE (Id INT)
INSERT INTO @gondviselok
SELECT g.ID FROM #students s
	LEFT JOIN T_GONDVISELO_OSSZES g ON g.C_TANULOID=s.Id

  /*gondviselő elérhetőségei */

	SELECT DISTINCT
		s.Id				TanuloId
		,g.C_NEV 
		,cim.Cimtipusa		C_CIMTIPUSA
		,cim.cim			C_OSSZETETTCIM
		,telefon.telefon	C_TELEFONSZAM
		,email.emailcim		C_EMAILCIM 
	FROM #students s
		INNER JOIN T_GONDVISELO_OSSZES g ON g.C_TANULOID =  s.Id
		LEFT JOIN @EmailCimGondviseloTable email ON email.GondviseloId = g.ID
		LEFT JOIN @GondviseloTelefonTable telefon ON telefon.GondviseloId = g.ID
		LEFT JOIN @GondViseloCimTable cim ON cim.GondviseloId = g.ID
	WHERE
		g.Torolt = 'F'
	ORDER BY Cimtipusa
		
  /*TANULÓ osztályzatai*/
  	SELECT 
		Datum
		,TipusId
		,ErtekelesSzoveg
		,ErtekelesOsztalyzatId
		,ErtekelesOsztalyzatValue
		,ErtekelesOsztalyzatNev
		,ErtekelesSzazalek
		,MagatartasOsztalyzatId
		,MagatartasOsztalyzatNev
		,MagatartasSzoveg
		,MagatartasErtekId
		,MagatartasErtek
		,SzorgalomOsztalyzatId
		,SzorgalomOsztalyzatNev
		,SzorgalomSzoveg
		,SzorgalomErtekId
		,SzorgalomErtek
		,TanuloId
		,OsztalyCsoportId
		,TantargyId
		,TantargyNevZarojellel
		,TantargyNev
		,TantargyNevNyomtatvanyban
		,TargyKategoriaId
		,FotargyE
		,FotargyId
		,Altantargy
		,ErtekelesTema
		,Jeloles
		,JelolesAndErtekelesTema 
		,isMagatartasSzorgalom
	INTO #ErtekelesekTemp
	FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @csoportId, DEFAULT, 0, 1, DEFAULT)
	WHERE	
		OsztalyCsoportId = @csoportId

	EXEC sp_GetDokumentumErtekelesekIdoszakonkent
	@tanevId						= @tanevId,
	@osztalyCsoportId				= @csoportid,
	@ertekelesTipusa				= NULL, 
	@csakTanorai					= 0, 
	@csakKivlasztottOsztalyCsoport	= 1, 
	@atsoroltTanuloErtekelesek		= 0,
	@fuggolegesTantargyak			= 0
		
 /*Szöveges minősítések*/
	SELECT 
		a.tanuloId
		,a.Honap
		,a.Tantargy
		,a.Ertekeles 
		,a.Tipus 
	FROM 
	(
	SELECT 
		s.Id tanuloId
		,szoveges.Honap
		,szoveges.Tantargy
		,szoveges.Ertekeles 
		,szoveges.Tipus
		,szoveges.RendezHonap
	FROM #students s
	LEFT JOIN (SELECT 
					TanuloId tanuloId
					,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
					,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) Tantargy
					,ErtekelesSzoveg + Jeloles			Ertekeles 
					,ErtekelesTipusDictionary.C_NAME	Tipus 
					,CASE 
						WHEN DATEPART(MONTH, Datum) = 1 THEN 5
						WHEN DATEPART(MONTH, Datum) = 2 THEN 6
						WHEN DATEPART(MONTH, Datum) = 3 THEN 7
						WHEN DATEPART(MONTH, Datum) = 4 THEN 8
						WHEN DATEPART(MONTH, Datum) = 5 THEN 9
						WHEN DATEPART(MONTH, Datum) = 6 THEN 10
						WHEN DATEPART(MONTH, Datum) = 7 THEN 11
						WHEN DATEPART(MONTH, Datum) = 8 THEN 12
						WHEN DATEPART(MONTH, Datum) = 9 THEN  1
						WHEN DATEPART(MONTH, Datum) = 10 THEN 2
						WHEN DATEPART(MONTH, Datum) = 11 THEN 3
						WHEN DATEPART(MONTH, Datum) = 12 THEN 4
				END AS RendezHonap
				FROM #ErtekelesekTemp ErtekelesTemp
					INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
				WHERE 
					ErtekelesSzoveg IS NOT NULL 
			) szoveges on szoveges.TANULOID=s.Id
	)a
	ORDER BY RendezHonap, Tantargy

  SELECT 
	COUNT(Id) TanulokSzama
	,Osztaly
  FROM #students
  GROUP BY Osztaly

  	--értékelésekhez tartozó feljegyzések
	SELECT DISTINCT
		TanuloId
		,STUFF((SELECT DISTINCT ', ' +  JelolesAndErtekelesTema 
					FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
				WHERE 
					LEN(JelolesAndErtekelesTema) > 0
					AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId
					AND (ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL)
				FOR XML PATH(''), TYPE)
		.value('.','NVARCHAR(MAX)'),1,2,'')  JelolesTemaval
	FROM #ErtekelesekTemp  ErtekelesTemaval
		WHERE 
			LEN(JelolesAndErtekelesTema) > 0
			AND (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)

	DROP TABLE #students
END
GO