342 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			342 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
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), 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)
 | 
						|
  )
 | 
						|
 
 | 
						|
  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
 | 
						|
    ,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.Id) as Osztaly
 | 
						|
    ,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.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 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, 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.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_FOGLALKOZASOK_TANAROK 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_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_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = fog.id
 | 
						|
  	LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = ft.C_TANAROKID 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
 | 
						|
 |