﻿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
AS
BEGIN
  SET NOCOUNT ON;
--Tanulók adatai, elérhetőségei
  DECLARE @tanulok table (
    Id int, Nev nvarchar(max), TanuloRovid nvarchar(40), Osztaly nvarchar(max), RovidNev nvarchar(30), Sorszam 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), TanuloTelefon nvarchar(max), TanuloEmail nvarchar(max), szoc nvarchar(max)
  )
 
  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
    ,iif(len(f.c_nyomtatasinev)>40, SUBSTRING (f.c_nyomtatasinev, 1 , 40), f.c_nyomtatasinev)
    ,Osztaly.Osztaly as Osztaly
    ,iif(len(Osztaly.Osztaly)>17, SUBSTRING (Osztaly.Osztaly, 1 , 16)+'...', Osztaly.Osztaly) RovidNev
    ,t.c_naplosorszam as Sorszam
    ,t.c_beirasinaplosorszam as Torzslapszam
    ,Allampolgarsaga.Allampolgarsaga as Allampolgarsag
    ,t.c_diakigazolvanyszam as DiakIg
    ,f.c_szuletesihely as SzulHely
    ,FORMAT(f.c_szuletesidatum, 'yyyy. MMMM dd.', 'hu-hu') as SzulIdo
    ,f.c_anyjaneve as Anyja
    ,f.c_tajszam as Taj
    ,f.c_oktatasiazonosito as OktAzon
    ,FORMAT(tcs.c_kilepesdatum, 'yyyy. MMMM dd.', 'hu-hu') as Kilepes
    ,tt.c_nev as Kepzes 
  	,cim.Tipus
    ,cim.cim
    ,tel.c_telefonszam
    ,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 (SELECT distinct d.id Id, d.c_name Allampolgarsaga FROM T_DICTIONARYITEMBASE_OSSZES d) Allampolgarsaga ON Allampolgarsaga.Id=f.c_allampolgarsaga
  	LEFT JOIN (
      SELECT tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes 
      FROM T_TANULOCSOPORT_OSSZES tcs 
  		  INNER JOIN T_OSZTALY_OSSZES o ON o.id=tcs.c_osztalycsoportid 
  			INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON o.id=ocs.id
  		WHERE tcs.torolt='F'
    ) osztaly ON tcs.c_tanuloid=osztaly.TanuloId
  	INNER JOIN T_TANTERV_OSSZES tt ON tt.c_intezmenyid=tcs.c_intezmenyid AND tt.c_intezmenyid=@intezmenyid AND tt.c_tanevid=@tanevid
  	INNER JOIN T_TANULO_OSSZES t ON t.id=f.id
  	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, ia.c_cime 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. MMMM dd.', 'hu-hu') as Megnyitas, 
		isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') 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, RovidNev as 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_OSSZES 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_OSSZES  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_OSSZES 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_OSSZES  otr
			  INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395
			WHERE c_osztalycsoportid=@csoportId)
  END

  SELECT 
     n.c_hetsorszama as Het 
    ,FORMAT(convert(date,min(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu')as HetEleje
    ,FORMAT(convert(date,max(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu') as HetVege 
  FROM t_naptarinap n
  WHERE n.c_napdatuma >= @elsonap 
    AND n.c_napdatuma <= @utolsonap 
    AND n.c_orarendinap = 'T' 
    AND n.c_tanevid = @tanevid 
    AND n.c_intezmenyid = @intezmenyid
  GROUP BY n.c_hetsorszama

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

--Mulasztások
  CREATE TABLE #mulasztas (Nap int, Tanulo int, Osztaly int, MulasztasTipus int, IgazoltE nvarchar(1), IgazolasTipus int)
  INSERT INTO #mulasztas
  SELECT 
     CAST(Month(tao.c_datum) as int) as Nap 
    ,tm.c_oratanuloiid as Tanulo
    ,tao.c_osztalycsoportid as Osztaly
    ,tm.c_tipus MulasztasTipus
    ,tm.c_igazolt IgazoltE
    ,tm.c_igazolastipusa IgazolasTipus 
  FROM T_TANULOMULASZTAS_OSSZES tm
  	INNER JOIN T_TANITASIORA_OSSZES tao ON tao.id=tm.c_tanitasiorakid 
      AND tao.torolt='F' 
      AND tao.c_tanevid = @tanevid 
      AND tao.c_intezmenyid = @intezmenyid 
      AND tao.c_osztalycsoportid = @csoportId
  WHERE tm.torolt = 'F' 
    AND tm.c_tanevid = @tanevid

  DECLARE @mul table(TanuloId int, Tipus nvarchar(50), TipusRendez int, [9] int, [10] int, [11] int, [12] int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int)
  --Mulasztások
  INSERT INTO @mul
  SELECT f.id, 'mulasztások', (1),
  	isnull(m.[9],0) as '9', isnull(m.[10],0) as '10', isnull(m.[11],0) as '11', isnull(m.[12],0) as '12', isnull(m.[1],0) as '1', isnull(m.[2],0) as '2', isnull(m.[3],0) as '3', isnull(m.[4],0) as '4', isnull(m.[5],0) as '5', isnull(m.[6],0) as '6', isnull(m.[7],0) as '7'
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

--Ebből igazolt
  INSERT INTO @mul
  SELECT f.id, '*igazolt', (2),
  	isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazoltE='T' AND MulasztasTipus=1500 )m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

--Egyéb
  INSERT INTO @mul
  SELECT f.id, '-egyéb', (3),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1529 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --Orvosi igazolás
  INSERT INTO @mul
  SELECT f.id, '-orvosi ig.', (4),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1530 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --Szülői
  INSERT INTO @mul
  SELECT f.id, '-szülői ig.', (5),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1531 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --hivatalos távollét
  INSERT INTO @mul
  SELECT f.id, '-hivatalos t.', (6),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1532 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --iskolaérdekű távollét
  INSERT INTO @mul
  SELECT f.id, '-iskolaérdekű t.', (7),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1533 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --Ebből igazolatlan
  INSERT INTO @mul
  SELECT f.id, '*igazolatlan', (8),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazoltE='F' AND MulasztasTipus=1500)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --késés
  INSERT INTO @mul
  SELECT f.id, 'késés', (9),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1499)m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --késés igazolt
  INSERT INTO @mul
  SELECT f.id, '*igazolt', (10),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1499 AND IgazoltE='T')m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  --késés igazolatlan
  INSERT INTO @mul
  SELECT f.id, '*igazolatlan', (11),
  	/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
  	FROM @tanulok t
  	LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1499 AND IgazoltE='F')m ON m.Tanulo=t.id
  	INNER JOIN t_felhasznalo f ON f.id=t.Id
  ORDER BY f.id

  SELECT distinct *, m.[1]+m.[2]+m.[3]+m.[4]+m.[5]+m.[6]+m.[7]+m.[9]+m.[10]+m.[11]+m.[12] as Ossz FROM @mul m

  --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_FOGLALKOZASOK_TANAROK_OSSZES ft ON ft.c_foglalkozasokid=fog.id
  	LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=ft.c_tanarokid AND f.torolt='F'
  WHERE nn.c_orarendinap='T' AND 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
  DECLARE @Orak TABLE (datum date, Sorszam int, Hetsorszam int)
  INSERT INTO @Orak
  SELECT DISTINCT convert(date, n.c_napdatuma) datum, sz.Oraszam, n.c_hetsorszama 
  FROM T_NAPTARINAP_OSSZES n
    CROSS JOIN (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) sz (Oraszam)
  WHERE n.c_napdatuma>=@elsonap AND n.c_napdatuma<=@utolsonap AND n.c_orarendinap='T' AND n.c_intezmenyId=@intezmenyId

  
  DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
  INSERT INTO @oraSorszam (Id, EvesSorszam)
  SELECT DISTINCT 
     s.Id 
    ,s.EvesSorszam
  FROM (
    SELECT DISTINCT tn.C_TANTARGYID, tn.C_OSZTALYCSOPORTID, ot.C_TANAROKID, tn.C_INTEZMENYID--, fh.C_NYOMTATASINEV
    FROM T_TANITASIORA_OSSZES tn
      INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
      INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
    WHERE tn.C_OSZTALYCSOPORTID = @csoportid
  ) x
  CROSS APPLY dbo.fnGetEvesOraszamLista (
     x.C_TANTARGYID
    ,x.C_OSZTALYCSOPORTID
    ,x.C_TANAROKID
    ,GETDATE() 
    ,x.C_INTEZMENYID
    ,@tanevID
  ) s
  
  SELECT DISTINCT 
     o.Hetsorszam as Het
    ,o.Sorszam as Oraszam
    ,FORMAT(o.Datum, 'yyyy. MMMM dd.', 'hu-hu') as Datum
    ,CONVERT(nvarchar(max), DATEPART(hour,tao.c_orakezdete)) + ':' + CONVERT(nvarchar(max)
    ,DATEPART(minute,tao.c_orakezdete)) as OraKezd
    ,f.c_nyomtatasinev as Tanar
    ,s.EvesSorszam as Sorszam
    ,tao.c_tema as Tema  
  FROM @Orak o
  	LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = o.Datum 
      AND tao.c_osztalycsoportid = @csoportid 
      AND tao.torolt = 'F' 
      AND tao.c_oraszam = o.Sorszam 
      AND tao.c_tanevid = @tanevid
    LEFT JOIN @oraSorszam s ON s.Id = tao.ID  
  	LEFT JOIN T_NAPTARINAP_OSSZES nn ON nn.c_napdatuma = o.Datum AND nn.c_tanevid = @tanevid
  	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.torolt = 'F'
  	LEFT JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON ft.c_foglalkozasokid = fog.id
  	LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = ft.c_tanarokid AND f.torolt = 'F'
  ORDER BY 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 = 1500, '', '(k)')
        FROM T_TANULOMULASZTAS_OSSZES tm
          INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID  
		INNER JOIN t_osztalycsoport ocs ON ocs.id=@csoportid
        WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
          AND m.C_ORATANULOIID = tm.C_ORATANULOIID
          AND o.C_TANEVID = @tanevID 
          AND tm.C_TANEVID = @tanevID
		AND tm.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 = 'T' OR m.C_TIPUS = 1499, 0, 1)) AS varchar(2)) AS hianyzas
      FROM T_TANITASIORA_OSSZES n
        INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID  
        INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
      WHERE n.C_TANEVID = @tanevID AND m.C_TANEVID = @tanevID 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ó feljegyzései
  SELECT tcs.c_tanuloid Tanulo, convert(nvarchar(max),datepart(year, te.c_kezdete))+'.'+convert(nvarchar(max),datepart(month, te.c_kezdete))+'.'+convert(nvarchar(max),datepart(day, te.c_kezdete))+'.' as Idopont, d.Tipus as Tipus, te.c_tartalom as Feljegyzes, f.c_nyomtatasinev as Feljegyzo 
  FROM t_tanulocsoport tcs
  	INNER JOIN T_TANULOESEMENY_OSSZES te ON te.c_tanuloid=tcs.c_tanuloid AND te.torolt='F' AND te.c_intezmenyid=@intezmenyid AND te.c_tanevid=@tanevid
  	INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=te.c_feljegyzoid AND f.torolt='F'
  	INNER JOIN (SELECT distinct d.id Id, d.c_name Tipus FROM t_dictionaryitembase d) d ON d.id=te.c_tipus
  WHERE tcs.c_osztalycsoportid=@csoportId

  --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'

  DROP TABLE #MULASZTAS
END;
GO

