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

CREATE PROCEDURE [dbo].[sp_GetNapkozisNaplo]
   @tanevId				INT
  ,@intezmenyId			INT 
  ,@csoportId			INT
  ,@iskolaErdekuSzamit	BIT

AS
BEGIN
  SET NOCOUNT ON;
--Tanulók adatai, elérhetőségei
  DECLARE @tanulok table (
    Id int, Nev nvarchar(max), Osztaly nvarchar(max), Sorszam nvarchar(max), beirasiSorszam nvarchar(max), Torzslapszam nvarchar(max), Allampolgarsaga nvarchar(max), DiakIg nvarchar(max), 
  	SzulHely nvarchar(max), SzulIdo nvarchar(max), Anyja nvarchar(max), Taj nvarchar(max), OktAzon nvarchar(max), Kilepes nvarchar(max), Kepzes nvarchar(max),
  	TanuloCimTipus nvarchar(max), TanuloCim nvarchar(max), TanuloEmail nvarchar(max), szoc nvarchar(max)
  )
 
 DECLARE @NaploSorszam TABLE (
	TanuloId INT
	,Sorszam INT	
	)
	INSERT INTO @NaploSorszam
	EXEC [sp_GetDokumentumTanuloNaploSorszam]
		@osztalyId = @csoportId
 
  INSERT INTO @tanulok
  SELECT DISTINCT 
     t.id Id
    ,iif(tcs.c_kilepesdatum is not null,f.c_nyomtatasinev+' (kilépett)', f.c_nyomtatasinev) as Nev
    ,kr_biatorbagyi_schema.fnGetDokumentumTanuloAktualisOsztaly(t.Id) as Osztaly
    ,naploSorszam.Sorszam as Sorszam
	,t.C_BEIRASINAPLOSORSZAM as beirasiSorszam
    ,f.C_NYILVANTARTASISZAM as Torzslapszam
    ,Allampolgarsaga.Allampolgarsaga as Allampolgarsag
    ,t.C_DIAKIGAZOLVANYSZAM as DiakIg
    ,f.C_SZULETESIHELY as SzulHely
    ,FORMAT(f.c_szuletesidatum, 'yyyy.MM.dd.') as SzulIdo
    ,f.C_ANYJANEVE as Anyja
    ,f.C_TAJSZAM as Taj
    ,f.C_OKTATASIAZONOSITO as OktAzon
    ,FORMAT(tcs.c_kilepesdatum, 'yyyy.MM.dd.') as Kilepes
    ,tt.c_nev as Kepzes 
  	,cim.Tipus
    ,cim.cim
    ,email.c_emailcim as TanuloEmail
    ,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, ', '') AS szoc
  FROM T_TANULOCSOPORT_OSSZES tcs
  	INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=tcs.c_tanuloid AND f.torolt='F'
	INNER JOIN T_TANULO_OSSZES t ON t.ID = f.ID
  INNER JOIN @NaploSorszam naploSorszam ON t.ID = naploSorszam.TanuloId
	INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID AND tt.TOROLT = 'F' AND tt.C_TANEVID = @tanevId
  	INNER JOIN (SELECT distinct d.id Id, d.c_name Allampolgarsaga FROM T_DICTIONARYITEMBASE_OSSZES d) Allampolgarsaga ON Allampolgarsaga.Id=f.c_allampolgarsaga
  	INNER JOIN (
      SELECT f.id Tanulo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim 
      FROM t_cim c
  		  INNER JOIN (SELECT distinct d.id, d.c_name FROM t_dictionaryitembase_osszes d )dt ON dt.id=c.c_cimtipusa
  			INNER JOIN t_felhasznalo_osszes f ON f.id=c.c_felhasznaloid
  			INNER JOIN (SELECT distinct d.id, d.c_name FROM t_dictionaryitembase_osszes d)dj ON dj.id=c.c_kozteruletjellege
  		WHERE c.c_cimtipusa=907 AND c.c_gondviseloid is null AND c.torolt='F' AND c.c_intezmenyid=@intezmenyid)cim ON cim.Tanulo=tcs.c_tanuloid
  	LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid=f.id AND tel.c_gondviseloid is null AND tel.torolt='F' AND tel.c_alapertelmezett='T'
  	LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid=tcs.c_tanuloid AND email.c_gondviseloid is null AND email.torolt='F' AND email.c_alapertelmezett='T'
  WHERE tcs.c_osztalycsoportid=@csoportId AND tcs.c_tanevid=@tanevid AND tcs.torolt='F'

--Kezdőoldal
  SELECT ia.c_nev as IntezmenyNev, dbo.fnGetDokumentumIntezmenyCime(@tanevId) as IntezmenyCim, ia.c_omkod as OMKOD, ia.c_igazgatoneve as IntezmenyVezeto, ocs.c_nev NapkozisCsoport, iif(len(ocs.c_nev)>17, SUBSTRING (ocs.c_nev, 1 , 17)+'...', ocs.c_nev) RovidNev,
		isnull(f.c_nyomtatasinev,'-') as CsoportVezeto, isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras, FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy.MM.dd.') as Megnyitas, 
		isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy.MM.dd.'),'-') as 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 AND ocs.id = @csoportId
  	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 

  --Csoportot vezette
  SELECT isnull(f.c_nyomtatasinev,'-') as CsoportVezeto FROM T_CSOPORT_OSSZES cs
  	LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
  WHERE cs.id=@csoportId AND cs.c_altanevid=@tanevid AND cs.c_alintezmenyid=@intezmenyid

  --Tanulók
  SELECT DISTINCT Nev, Osztaly, OktAzon 
  FROM @tanulok 
  ORDER BY Nev

  --Naplóhetek
  DECLARE @elsonap as date
  DECLARE @utolsonap as date

  IF (
    SELECT c_osztalycsoportid FROM T_OSZTALYCSOPORT_TANEVRENDJE otr 
		INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394 
	  WHERE c_osztalycsoportid=@csoportid
  ) IS NULL begin 
		SET @elsonap= (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1394 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T')
  END
  ELSE BEGIN
	SET @elsonap = (
    SELECT top 1 tr.C_DATUM 
    FROM T_OSZTALYCSOPORT_TANEVRENDJE  otr
		  INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394
		WHERE c_osztalycsoportid=@csoportid)
  END

  IF (
    SELECT c_osztalycsoportid 
    FROM T_OSZTALYCSOPORT_TANEVRENDJE otr 
		  INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395 
	  WHERE c_osztalycsoportid=@csoportId
  ) IS NULL
  BEGIN 
		SET @utolsonap = (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1395 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T')
  END
  ELSE BEGIN
		SET @utolsonap = (
      SELECT top 1 tr.C_DATUM 
      FROM T_OSZTALYCSOPORT_TANEVRENDJE  otr
			  INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395
			WHERE c_osztalycsoportid=@csoportId)
  END

  	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 @ElsoNap AND @UtolsoNap
		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)

  --Tanuló adatok
  SELECT * FROM @tanulok ORDER BY Nev

--Mulasztások
  DECLARE @Mulasztasok TABLE ( IgazoltE nvarchar(1), Tanulo int, Tipus int)

  	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 @tanulok 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
	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)

	INSERT INTO @Mulasztasok
	SELECT 'T',  ID, Tipus FROM @tanulok
			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 @tanulok 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 @tanulok 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 @tanulok 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É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 @tanulok 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 @tanulok 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 @tanulok 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 DISTINCT  Mulasztas.tanuloid, Mulasztas.tipus, Mulasztas.[09.] sz, Mulasztas.[10.] o, Mulasztas.[11.] n, Mulasztas.[12.] d,
			Mulasztas.[01.] j, Mulasztas.[02.] f, Mulasztas.[03.] m, Mulasztas.[04.] a, Mulasztas.[05.] ma, Mulasztas.[06.] jun,
			mulasztas.felev felev, ISNULL(Mulasztas.osszesen,0) Osszesen, mulasztas.Rendez 
	FROM #MulasztasVegleges Mulasztas
	ORDER BY Rendez

  --Napló
  SELECT distinct nn.c_hetsorszama as Het, d.Nap as Nap, FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') as Datum 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 (SELECT distinct d.id as ID, d.c_name Nap FROM T_DICTIONARYITEMBASE_OSSZES d) d ON d.id=nn.c_hetnapja 
  	LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id=tao.c_foglalkozasid AND fog.c_tanevid=@tanevid
  	LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=fog.c_tanarid AND f.torolt='F'
  WHERE nn.c_napdatuma>=@elsonap AND nn.c_napdatuma<=@utolsonap
  ORDER BY nn.c_hetsorszama,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')

  --Napló adatok
  SELECT DISTINCT 
	 tao.C_ORASZAM		Oraszam
	,tao.C_HETSORSZAMA	Het
    ,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') Datum
	,tao.C_DATUM
    ,f.C_NYOMTATASINEV	Tanar
    ,tao.C_TEMA			Tema  
	,ROW_NUMBER() OVER (ORDER BY tao.C_ORAKEZDETE) OraSorszam
	,C_ORAKEZDETE
  FROM T_TANITASIORA_OSSZES tao
  	LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.C_FOGLALKOZASID AND fog.TOROLT = 'F'
  	LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = fog.C_TANARID AND f.TOROLT = 'F'
  WHERE 
      tao.C_OSZTALYCSOPORTID = @csoportid 
      AND tao.TOROLT = 'F' 
  ORDER BY tao.C_ORAKEZDETE, tao.C_ORASZAM	

  --Napló mulasztás
	SELECT C_HETSORSZAMA Het, C_NYOMTATASINEV Tanulo, 
      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(o.C_ORASZAM 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
          WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
            AND m.C_ORATANULOIID = tm.C_ORATANULOIID
            AND tm.C_TANEVID = @tanevId
			and tm.torolt='F' and tm.c_intezmenyId=@intezmenyId and o.c_tanevId=@tanevId
			and o.C_OSZTALYCSOPORTID = @csoportId
			and o.TOROLT = 'F'
          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 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 n.C_OSZTALYCSOPORTID = @csoportId
			and n.TOROLT = 'F'
        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ó feljegyzései
SELECT 
	tte.C_TANULOID								AS Tanulo
	,FORMAT(tao.c_datum, 'yyyy.MM.dd.')			AS Idopont
	,d.C_NAME									AS Tipus
	,te.C_TARTALOM								AS Feljegyzes
	,f.C_NYOMTATASINEV							AS Feljegyzo 
FROM T_TANULO_TANULOESEMENY tte
	INNER JOIN T_TANULOESEMENY_OSSZES te ON te.Id = tte.C_TANULOESEMENYID
	INNER JOIN T_TANITASIORA_OSSZES	tao ON tao.Id = te.C_TANITASIORAID
	INNER JOIN T_FELHASZNALO_OSSZES	f ON f.Id = te.C_FELJEGYZOID
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.Id = te.C_TIPUS
WHERE 
	C_OSZTALYCSOPORTID = @csoportId
	AND te.TOROLT = 'F'
	AND C_TIPUS <> 1534

  --Tanuló gondviselői
  SELECT 'Gondviselő ('+Rokonsag.Rokonsag+'):' as Fejlec, tcs.c_tanuloid Tanulo, g.c_nev Gondviselo, gcim.Tipus Tipus,gcim.Cim as Cim, gtel.c_telefonszam Telefon, gemail.C_EMAILCIM Email 
  FROM T_TANULOCSOPORT_OSSZES tcs
  	INNER JOIN T_GONDVISELO_OSSZES g ON g.c_tanuloid=tcs.c_tanuloid AND g.torolt='F'
  	LEFT JOIN (
      SELECT g.id Gondviselo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim 
      FROM T_CIM_OSSZES c
  		  INNER JOIN (SELECT distinct d.id, d.c_name FROM T_DICTIONARYITEMBASE_OSSZES d )dt ON dt.id=c.c_cimtipusa
  		  INNER JOIN t_gondviselo_osszes g ON g.id=c.c_gondviseloid AND g.torolt='F'
  			INNER JOIN (SELECT distinct d.id, d.c_name FROM T_DICTIONARYITEMBASE_OSSZES d )dj ON dj.id=c.c_kozteruletjellege
  	)gcim ON gcim.Gondviselo=g.id
  	LEFT JOIN T_TELEFON_OSSZES gtel ON gtel.c_gondviseloid=g.id AND gtel.torolt='F'
  	LEFT JOIN T_EMAIL_OSSZES gemail ON gemail.c_gondviseloid=g.id AND gemail.torolt='F'
  	LEFT JOIN (SELECT distinct d.id Id, d.c_name Rokonsag FROM T_DICTIONARYITEMBASE_OSSZES d) Rokonsag ON Rokonsag.Id=g.c_rokonsagfoka
  WHERE tcs.c_osztalycsoportid=@csoportId AND tcs.c_tanevid=@tanevid AND tcs.torolt='F'

END
GO
