1730 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			1730 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
DROP PROCEDURE IF EXISTS uspGetOsztalyNaplo
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspGetOsztalyNaplo
 | 
						|
	@intezmenyId int,
 | 
						|
	@tanevId int,
 | 
						|
	@osztalyId int,
 | 
						|
	@isSzovegesNaplo bit = 0,
 | 
						|
	@iskolaErdekuSzamit bit,
 | 
						|
	@fuggolegesTantargyak bit,
 | 
						|
	@aktivTanevId int,
 | 
						|
	@isReszletesMulasztasok bit,
 | 
						|
	@isEgyebFoglalkozasok bit,
 | 
						|
	@minTanoraSzam int,
 | 
						|
	@isEllenorzo bit = 0,
 | 
						|
	@orarendErvenyessegiDatum	date,
 | 
						|
	@tanuloId int = NULL
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
  DECLARE @TanevUtlsoNapja DATE = (SELECT C_UTOLSONAP FROM T_TANEV_OSSZES WHERE ID=@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 @UtolsoNapTanev DATE = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
 | 
						|
 | 
						|
  DECLARE @isVegzos CHAR(1) = (SELECT TOP 1  C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
 | 
						|
  DECLARE @VegzosUtolsoNap DATE = (SELECT dbo.fnGetOsztalyVegzosTanitasiNap(@osztalyId, @intezmenyId, @tanevId))
 | 
						|
 | 
						|
  DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')
 | 
						|
 | 
						|
  DECLARE @ElsoNap DATE = (SELECT TOP 1 C_KEZDONAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
 | 
						|
  DECLARE @UtolsoNap DATE = IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap, @UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
 | 
						|
 | 
						|
  CREATE TABLE #osztalycsoportok (OsztalyCsoportId INT PRIMARY KEY, Kezdete DATE, Vege DATE)
 | 
						|
  INSERT INTO #osztalycsoportok (OsztalyCsoportId, Kezdete, Vege)
 | 
						|
  SELECT
 | 
						|
     OsztalyCsoportok.Id
 | 
						|
    ,OsztalyCsoportok.Kezdete
 | 
						|
    ,OsztalyCsoportok.Vege
 | 
						|
  FROM fnGetKapcsolodoOsztalyCsoportokByDateRange (@osztalyId, @ElsoNap, @TanevUtlsoNapja, @intezmenyId, @tanevId) OsztalyCsoportok
 | 
						|
    INNER JOIN fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId) TanoraiCeluOsztalyCsoportok on TanoraiCeluOsztalyCsoportok.ID = OsztalyCsoportok.Id
 | 
						|
 | 
						|
  CREATE TABLE #RendkivuliTanitasiNapok (C_NAPDATUMA datetime
 | 
						|
    ,C_ALAPHETNAPJA int
 | 
						|
    ,C_HETNAPJA int
 | 
						|
    ,C_TANEVID int
 | 
						|
    ,TOROLT char
 | 
						|
    ,C_HETSORSZAMA int)
 | 
						|
 | 
						|
  INSERT INTO #RendkivuliTanitasiNapok
 | 
						|
  SELECT 
 | 
						|
     nn.C_NAPDATUMA
 | 
						|
    ,nn.C_ALAPHETNAPJA
 | 
						|
    ,nn.C_HETNAPJA
 | 
						|
    ,nn.C_TANEVID
 | 
						|
    ,nn.TOROLT
 | 
						|
    ,nn.C_HETSORSZAMA
 | 
						|
  FROM T_NAPTARINAP_OSSZES nn
 | 
						|
    INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA 
 | 
						|
      AND tr.C_TANEVID = nn.C_TANEVID 
 | 
						|
      AND tr.C_DATUM > @UtolsoNap
 | 
						|
      AND tr.C_NAPTIPUSA=1406	/* Rendkívüli tanítási nap */
 | 
						|
      AND tr.TOROLT = 'F'
 | 
						|
      AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
 | 
						|
	WHERE nn.C_TANEVID=@tanevId
 | 
						|
    AND nn.TOROLT='F'
 | 
						|
 | 
						|
  UNION
 | 
						|
 | 
						|
  SELECT
 | 
						|
     nn.C_NAPDATUMA
 | 
						|
    ,nn.C_ALAPHETNAPJA
 | 
						|
    ,nn.C_HETNAPJA
 | 
						|
    ,nn.C_TANEVID
 | 
						|
    ,nn.TOROLT
 | 
						|
    ,nn.C_HETSORSZAMA
 | 
						|
  FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
 | 
						|
    INNER JOIN #osztalycsoportok ocs ON ocs.OsztalyCsoportId = ocstr.C_OSZTALYCSOPORTID
 | 
						|
    INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.ID = ocstr.C_TANEVRENDJEID
 | 
						|
      AND tr.C_DATUM > @UtolsoNap
 | 
						|
      AND tr.C_NAPTIPUSA=1406	/* Rendkívüli tanítási nap */
 | 
						|
      AND tr.TOROLT = 'F'
 | 
						|
      AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
 | 
						|
    INNER JOIN T_NAPTARINAP_OSSZES nn ON tr.C_DATUM = nn.C_NAPDATUMA 
 | 
						|
      AND tr.C_TANEVID = nn.C_TANEVID 
 | 
						|
 | 
						|
  DECLARE @UtolsoRendkivuliTanitasiNap DATETIME = (SELECT MAX(C_NAPDATUMA) FROM #RendkivuliTanitasiNapok)
 | 
						|
 | 
						|
  DECLARE @VizsgaltNap DATE
 | 
						|
 | 
						|
  DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
 | 
						|
 | 
						|
	IF (@tanevId = @AktivtanevId AND @orarendErvenyessegiDatum <= @UtolsoNap)
 | 
						|
	BEGIN
 | 
						|
		IF (@orarendErvenyessegiDatum <= @ElsoNap)
 | 
						|
		BEGIN
 | 
						|
			SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
 | 
						|
		END
 | 
						|
		ELSE
 | 
						|
		BEGIN
 | 
						|
			SET @VizsgaltNap = CONVERT(DATE, @orarendErvenyessegiDatum)
 | 
						|
		END
 | 
						|
	END
 | 
						|
	ELSE
 | 
						|
	BEGIN
 | 
						|
		SET @VizsgaltNap = (SELECT TOP 1 nh.C_HETUTOLSONAPJA  FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap >= CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap <= CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
 | 
						|
	END
 | 
						|
 | 
						|
	CREATE TABLE #NapSorszamTemp (
 | 
						|
		Datum DATE
 | 
						|
	)
 | 
						|
	INSERT INTO #NapSorszamTemp
 | 
						|
	EXEC sp_GetDokumentumTanitasiNapokSorszama
 | 
						|
			@tanevId = @tanevId,
 | 
						|
			@osztalyId	= @osztalyId
 | 
						|
 | 
						|
  CREATE TABLE #NapSorszam (Datum DATE, Sorszam NVARCHAR(4))
 | 
						|
  INSERT INTO #NapSorszam
 | 
						|
  SELECT
 | 
						|
     Sorszam.Datum		Datum
 | 
						|
    ,CAST(DENSE_RANK() OVER(ORDER BY Sorszam.Datum) AS NVARCHAR(4))
 | 
						|
  FROM #NapSorszamTemp Sorszam
 | 
						|
    INNER JOIN fnGetDokumentumOsztalyMegtartottOrakSzama(@tanevId, @osztalyId) OrakSzama ON OrakSzama.Datum = Sorszam.Datum
 | 
						|
  WHERE (@minTanoraSzam = 0 OR OrakSzama.OrakSzama IS NOT NULL)
 | 
						|
    AND (@minTanoraSzam = 0 OR OrakSzama.OrakSzama >= @minTanoraSzam)
 | 
						|
 | 
						|
	SELECT
 | 
						|
		 TanuloId AS Id
 | 
						|
		,tanugyiAdatok.C_NAPLOSORSZAM AS NaploSorszam
 | 
						|
		,tanugyiAdatok.C_TORZSLAPSZAM AS TorzslapSzam
 | 
						|
		,TanuloCsoport.Id AS TanuloCsoportId
 | 
						|
		,OsztalyTanuloi.BelepesDatum AS BelepesDatum
 | 
						|
		,OsztalyTanuloi.KilepesDatum AS KilepesDatum
 | 
						|
		,tanugyiAdatok.C_TANULOEVFOLYAMTIPUSID AS EvfolyamTipusa
 | 
						|
		--ÁGAZAT ETC....
 | 
						|
	INTO #studentsWithTanuloCsoport
 | 
						|
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
 | 
						|
		INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.Id = OsztalyTanuloi.TanuloCsoportId
 | 
						|
		INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID AND tanugyiAdatok.TOROLT = 'F'
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
	SELECT DISTINCT
 | 
						|
		 Id
 | 
						|
	INTO #students
 | 
						|
	FROM #studentsWithTanuloCsoport
 | 
						|
 | 
						|
	SELECT
 | 
						|
		 DATEPART(MONTH, Datum)				Honap
 | 
						|
		 ,TantargyId						Id
 | 
						|
		 ,Igazolt							IgazoltE
 | 
						|
		 ,TanuloId							TanuloId
 | 
						|
		 ,TanuloCsoportId					TanuloCsoportId
 | 
						|
		 ,IgazolasTipusa					IgazolasTipus
 | 
						|
		 ,Datum								Datum
 | 
						|
		 ,Tipusa							Tipus
 | 
						|
		 ,KesesPercben						KesesPercben
 | 
						|
		 ,HetSorszama						HetSorszama
 | 
						|
		 ,Oraszam							Oraszam
 | 
						|
		 ,CAST(DATEPART(MONTH, Datum) AS NVARCHAR(10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') ElmeletGyakorlat
 | 
						|
		 ,C_GYAKORLATI						isGyakorlat
 | 
						|
	INTO #mulasztasTmp
 | 
						|
	FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @osztalyId, @iskolaErdekuSzamit, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) TanulokMulasztasai
 | 
						|
		INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
	SELECT
 | 
						|
		CAST(SUM(IIF(IgazoltE = 'T', 1, 0)) AS VARCHAR(5)) + '/'
 | 
						|
		+ CAST(SUM(IIF(IgazoltE = 'F', 1, 0)) AS VARCHAR(5)) HetiMulasztas
 | 
						|
		,HetSorszama
 | 
						|
		,TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
	INTO #HetiMulasztasok
 | 
						|
	FROM #mulasztasTmp
 | 
						|
	GROUP BY HetSorszama, TanuloId, TanuloCsoportId
 | 
						|
 | 
						|
	CREATE CLUSTERED INDEX ci1 on #mulasztasTmp (tanuloid, datum)
 | 
						|
	CREATE CLUSTERED INDEX ci5 on #HetiMulasztasok (HetSorszama)
 | 
						|
 | 
						|
	CREATE TABLE #retTanuloErtekeles
 | 
						|
	(
 | 
						|
		[ErtekelesId]                   INT
 | 
						|
		PRIMARY KEY NOT NULL,
 | 
						|
		[Datum]                         DATE,
 | 
						|
		[TipusId]                       INT,
 | 
						|
		[ErtekelesSzoveg]               NVARCHAR(MAX),
 | 
						|
		[ErtekelesSzovegRovidNev]       NVARCHAR(3),
 | 
						|
		[ErtekelesOsztalyzatId]         INT,
 | 
						|
		[ErtekelesOsztalyzatValue]      INT,
 | 
						|
		[ErtekelesOsztalyzatNev]        NVARCHAR(MAX),
 | 
						|
		[ErtekelesSzazalek]             NVARCHAR(MAX),
 | 
						|
		[MagatartasOsztalyzatId]        INT,
 | 
						|
		[MagatartasOsztalyzatValue]     INT,
 | 
						|
		[MagatartasOsztalyzatNev]       NVARCHAR(MAX),
 | 
						|
		[MagatartasSzoveg]              NVARCHAR(MAX),
 | 
						|
		[MagatartasSzovegFormazott]      NVARCHAR(3),
 | 
						|
		[MagatartasSzovegRovidNev]      NVARCHAR(3),
 | 
						|
		[MagatartasErtekId]             INT,
 | 
						|
		[MagatartasErtek]               NVARCHAR(MAX),
 | 
						|
		[MagatartasErtekOsztalyzatkent] INT,
 | 
						|
		[SzorgalomOsztalyzatId]         INT,
 | 
						|
		[SzorgalomOsztalyzatValue]      INT,
 | 
						|
		[SzorgalomOsztalyzatNev]        NVARCHAR(MAX),
 | 
						|
		[SzorgalomSzoveg]               NVARCHAR(MAX),
 | 
						|
		[SzorgalomSzovegFormazott]       NVARCHAR(3),
 | 
						|
		[SzorgalomSzovegRovidNev]       NVARCHAR(3),
 | 
						|
		[SzorgalomErtekId]              INT,
 | 
						|
		[SzorgalomErtek]                NVARCHAR(MAX),
 | 
						|
		[SzorgalomErtekOsztalyzatkent]  INT,
 | 
						|
		[TanuloId]                      INT,
 | 
						|
		TanuloCsoportId					int,
 | 
						|
		[OsztalyCsoportId]              INT,
 | 
						|
		[TantargyId]                    INT,
 | 
						|
		[TantargyNevZarojellel]         NVARCHAR(MAX),
 | 
						|
		[TantargyNevNyomtatvanyban]     NVARCHAR(MAX),
 | 
						|
		[TantargyNev]                   NVARCHAR(MAX),
 | 
						|
		[TargyKategoriaId]              INT,
 | 
						|
		[FotargyE]                      CHAR(1),
 | 
						|
		[Altantargy]                    CHAR(1),
 | 
						|
		[FotargyId]                     INT,
 | 
						|
		[ErtekelesTema]                 NVARCHAR(MAX),
 | 
						|
		[ErtekeloId]                    INT,
 | 
						|
		[ErtekelesModjaId]              INT,
 | 
						|
		[IsMagatartasSzorgalom]         CHAR(1),
 | 
						|
		[Jeloles]                       NVARCHAR(MAX),
 | 
						|
		[JelolesAndErtekelesTema]       NVARCHAR(MAX)
 | 
						|
	)
 | 
						|
 | 
						|
  SELECT
 | 
						|
     Datum
 | 
						|
    ,RogzitesDatum
 | 
						|
    ,TipusId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,ErtekelesSzoveg
 | 
						|
    ,ErtekelesSzovegFormazott
 | 
						|
    ,ErtekelesSzovegRovidNev
 | 
						|
    ,ErtekelesOsztalyzatId
 | 
						|
    ,ErtekelesOsztalyzatValue
 | 
						|
    ,ErtekelesOsztalyzatNev
 | 
						|
    ,ErtekelesSzazalek
 | 
						|
    ,MagatartasOsztalyzatId
 | 
						|
    ,MagatartasOsztalyzatNev
 | 
						|
    ,MagatartasSzoveg
 | 
						|
    ,MagatartasSzovegFormazott
 | 
						|
    ,MagatartasSzovegRovidNev
 | 
						|
    ,MagatartasErtekId
 | 
						|
    ,MagatartasErtek
 | 
						|
    ,SzorgalomOsztalyzatId
 | 
						|
    ,SzorgalomOsztalyzatNev
 | 
						|
    ,SzorgalomSzoveg
 | 
						|
    ,SzorgalomSzovegFormazott
 | 
						|
    ,SzorgalomSzovegRovidNev
 | 
						|
    ,SzorgalomErtekId
 | 
						|
    ,SzorgalomErtek
 | 
						|
    ,TanuloId
 | 
						|
    ,OsztalyCsoportId
 | 
						|
    ,TantargyId
 | 
						|
    ,TantargyNevZarojellel
 | 
						|
    ,TantargyNev
 | 
						|
    ,TantargyNevNyomtatvanyban
 | 
						|
    ,TargyKategoriaId
 | 
						|
    ,FotargyE
 | 
						|
    ,FotargyId
 | 
						|
    ,Altantargy
 | 
						|
    ,ErtekelesTema
 | 
						|
    ,Jeloles
 | 
						|
    ,JelolesAndErtekelesTema
 | 
						|
    ,isMagatartasSzorgalom
 | 
						|
    ,RENDEZ1
 | 
						|
    ,RENDEZ2
 | 
						|
    ,RENDEZ3
 | 
						|
    ,RENDEZ4
 | 
						|
    ,RENDEZ5
 | 
						|
  INTO #ErtekelesekTemp
 | 
						|
  FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
 | 
						|
  WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
	CREATE CLUSTERED INDEX ci111 on #ErtekelesekTemp (datum, tanulocsoportid)
 | 
						|
 | 
						|
   -- Naplo fooldal
 | 
						|
  CREATE TABLE #OraSorszamTemp (TanitasioraId INT, OraSorszam INT)
 | 
						|
	CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT)
 | 
						|
 | 
						|
  DECLARE csoport_cursor CURSOR FOR
 | 
						|
  SELECT OsztalyCsoportId FROM #osztalycsoportok
 | 
						|
 | 
						|
  DECLARE @ocsId int
 | 
						|
 | 
						|
  OPEN csoport_cursor
 | 
						|
  FETCH NEXT FROM csoport_cursor INTO @ocsId
 | 
						|
  WHILE @@FETCH_STATUS = 0
 | 
						|
  BEGIN
 | 
						|
 | 
						|
    DECLARE @nap DATETIME = (SELECT COALESCE(@UtolsoRendkivuliTanitasiNap, @UtolsoNap));
 | 
						|
 | 
						|
    INSERT INTO #OraSorszamTemp
 | 
						|
    EXEC	uspGetOraSorszamByOsztaly
 | 
						|
  		@osztalyCsoportId = @ocsId,
 | 
						|
  		@datum = @nap,
 | 
						|
  		@intezmenyId = @intezmenyId,
 | 
						|
  		@tanevId = @tanevId
 | 
						|
 | 
						|
  	FETCH NEXT FROM csoport_cursor INTO @ocsId
 | 
						|
  END
 | 
						|
 | 
						|
  CLOSE csoport_cursor
 | 
						|
  DEALLOCATE csoport_cursor
 | 
						|
 | 
						|
	INSERT INTO #OraSorszam
 | 
						|
	SELECT DISTINCT TanitasioraId, OraSorszam FROM #OraSorszamTemp
 | 
						|
 | 
						|
  SELECT
 | 
						|
		 tao.Id						TanitasioraId
 | 
						|
		,tao.C_DATUM				Datum
 | 
						|
		,IIF(tao.C_ORASZAM IS NULL, dbo.fnGetDokumentumOrakezdetToOraszam(CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108), @tanevId), tao.C_ORASZAM)	Oraszam
 | 
						|
		,pedagogus.ID				PedagogusId
 | 
						|
		,IIF(C_MEGTARTOTT = 'T', pedagogus.C_NYOMTATASINEV, '-')	PedagogusNev
 | 
						|
		,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam)  + '.','-'), '-')	OraSorszam
 | 
						|
		,IIF(C_MEGTARTOTT = 'T',
 | 
						|
			  IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(VARCHAR(5), C_ORAKEZDETE, 108) + ' - ' + CONVERT(VARCHAR(5), C_ORAVEGE, 108) + ') ', '')
 | 
						|
			+ REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt')
 | 
						|
			+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás: ' + helyettesito.C_NYOMTATASINEV +')', '')
 | 
						|
			+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), '(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV +') ', '' )	Tema
 | 
						|
		,IIF(C_MEGTARTOTT = 'T',
 | 
						|
			  IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(VARCHAR(5), C_ORAKEZDETE, 108) + ' - ' + CONVERT(VARCHAR(5), C_ORAVEGE, 108) + ') ', '')
 | 
						|
			+ ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-') +'.: '
 | 
						|
			+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás, ' + helyettesito.C_NYOMTATASINEV + ') ', '')
 | 
						|
			+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), '(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV +') ', '' )
 | 
						|
			+ REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), '')
 | 
						|
			,'Elmaradt') 			TemaOraSzammal
 | 
						|
		,tao.C_HETNAPJA				HetNapja
 | 
						|
		,nh.C_HETSORSZAMA			HetSorszama
 | 
						|
		,C_MEGTARTOTT				Megtartott
 | 
						|
		,tao.C_TANTARGYID				TantargyId
 | 
						|
		,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV)	Tantargynev
 | 
						|
		,tao.C_OSZTALYCSOPORTID			OsztalyCsoportId
 | 
						|
		,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL,
 | 
						|
			IIF(LEN(C_NEVNYOMTATVANYBAN) + LEN(tantargy.C_NEV) < 90,
 | 
						|
					C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')',
 | 
						|
					C_NEVNYOMTATVANYBAN), tantargy.C_NEV) + '-' + CHAR(13) + CHAR(10) +
 | 
						|
					REPLACE(REPLACE(pedagogus.C_NYOMTATASINEV , '[', '('), ']',')') TantargyPedagogussal
 | 
						|
	INTO #megtartottOrak
 | 
						|
	FROM T_TANITASIORA_OSSZES tao
 | 
						|
		LEFT 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
 | 
						|
		LEFT JOIN (SELECT DISTINCT TanitasioraId, OraSorszam FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
 | 
						|
		INNER JOIN T_NAPTARIHET_OSSZES nh ON tao.C_DATUM BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId AND nh.TOROLT='F'
 | 
						|
		INNER JOIN #osztalycsoportok OsztalyCsoportok ON OsztalyCsoportok.OsztalyCsoportId = tao.C_OSZTALYCSOPORTID AND tao.C_DATUM BETWEEN OsztalyCsoportok.Kezdete AND OsztalyCsoportok.Vege
 | 
						|
	WHERE
 | 
						|
		tao.TOROLT = 'F'
 | 
						|
 | 
						|
  CREATE CLUSTERED INDEX ciMegtartottOrak on #megtartottOrak (Datum)
 | 
						|
 | 
						|
  DECLARE @MaxOraszam INT = (SELECT ISNULL(MAX(Oraszam), 4) FROM #megtartottOrak)
 | 
						|
  DECLARE @MinOraszam INT = (SELECT ISNULL(MIN(Oraszam), 1) FROM #megtartottOrak)
 | 
						|
 | 
						|
  DECLARE @TanulokSzama INT = (SELECT COUNT(DISTINCT TanuloId) FROM #ErtekelesekTemp WHERE TipusId = 1520)
 | 
						|
  DECLARE @TanitasiNapokSzama INT = (SELECT MAX(CAST(Sorszam AS INT)) FROM #NapSorszam)
 | 
						|
 | 
						|
  SELECT DISTINCT
 | 
						|
	@osztalyId					OsztalyId
 | 
						|
	,ocs.C_NEV					OsztalyNev
 | 
						|
	,o.C_OSZTALYNAPLOLEIRASA	OsztalyMegjegyzes
 | 
						|
	,o.C_OSZTALYFONOKID			PartnerID
 | 
						|
	,ofo.C_NYOMTATASINEV		Osztalyfonok
 | 
						|
	,o.C_OFOHELYETTESID			OsztalyfonokHelyettesId
 | 
						|
	,i.C_IGAZGATONEVE			IntezmenyVezeto
 | 
						|
	,i.C_NEV					IntezmenyNeve
 | 
						|
	,i.C_VAROS					IntezmenyVaros
 | 
						|
	,dbo.fnGetDokumentumIntezmenyCime(@tanevId)	IntezmenyCime
 | 
						|
	,i.C_OMKOD					IntezmenyOMKod
 | 
						|
	,dbo.fnGetDokumentumDatumFormatum(o.C_OSZTALYNAPLOMEGNYITASA)	NaploMegnyitasanakDatuma
 | 
						|
	,dbo.fnGetDokumentumDatumFormatum(o.C_OSZTALYNAPLOZARASA)		NaploZarasanakDatuma
 | 
						|
	,o.C_OSZTALYNAPLOZARASA											NaplozarasDateFormat
 | 
						|
	,@TanulokSzama				TanulokSzama
 | 
						|
	,@TanitasiNapokSzama		TanitasiNapokSzama
 | 
						|
	,@MaxOraszam				MaxOraszam
 | 
						|
	,@MinOraszam				MinOraszam
 | 
						|
	,@tanevId					TanevId
 | 
						|
	,ocs.C_EVFOLYAMTIPUSA		EvfolyamTipusa
 | 
						|
	,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
 | 
						|
	,o.C_TANTERVID			TantervId
 | 
						|
	,ocs.C_KEPZESIFORMA		KepzesiForma
 | 
						|
	,o.C_AGAZAT				Agazat
 | 
						|
	,o.C_SZAKMACSOPORT		SzakmaCsoport
 | 
						|
	,o.C_SZAKKEPESITES		Szakkepesites
 | 
						|
	,o.C_RESZSZAKKEPESITES	Reszszakkepesites
 | 
						|
	,ocs.C_KERESZTFELEVES	OJCSJKeresztfeleves
 | 
						|
	,ocs.C_VEGZOSEVFOLYAM	CSJVegzosEvfolyamu
 | 
						|
	,o.C_TECHNIKAIOSZTALY	OJTechnikaiOsztaly
 | 
						|
	,o.C_NEMZETISEGI		OJNemzetisegi
 | 
						|
	,o.C_KETTANNYELVU		OJKettannyelvu
 | 
						|
	,o.C_NYELVIELOKESZITO	OJNyelviElokeszito
 | 
						|
	,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI			OJIsGyogypedagogiaiLogopediai
 | 
						|
	,o.C_SPORT				OJSportOsztaly
 | 
						|
	,o.C_AJPROGRAM			OJAranyJanosProgram
 | 
						|
  FROM T_OSZTALYCSOPORT_OSSZES ocs
 | 
						|
  	INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
 | 
						|
  	LEFT  JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
 | 
						|
  	INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
 | 
						|
  WHERE ocs.ID = @osztalyId
 | 
						|
 | 
						|
  -- Tanarok
 | 
						|
  IF @isEllenorzo = 0
 | 
						|
  BEGIN
 | 
						|
    SELECT DISTINCT
 | 
						|
      targy.C_NEV AS TargyNev
 | 
						|
      ,IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV) AS TanarNev
 | 
						|
      ,targykategoria.C_ORDER
 | 
						|
      ,tanar.ID AS TanarId
 | 
						|
      ,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
 | 
						|
    FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevID, @osztalyId, 'T') tanulok
 | 
						|
        INNER JOIN T_TANULOCSOPORT_OSSZES AS tcs ON tcs.C_TANULOID = tanulok.TanuloId
 | 
						|
            AND tcs.C_BELEPESDATUM >= tanulok.BelepesDatum AND (tanulok.KilepesDatum is NULL or tcs.C_BELEPESDATUM < tanulok.KilepesDatum)
 | 
						|
            AND tcs.TOROLT = 'F'
 | 
						|
        INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
 | 
						|
        INNER JOIN T_FOGLALKOZAS_OSSZES AS fogl ON fogl.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND fogl.TOROLT = 'F'
 | 
						|
        INNER JOIN T_FELHASZNALO_OSSZES AS tanar ON fogl.C_TANARID = tanar.ID AND tanar.TOROLT='F'
 | 
						|
        INNER JOIN T_MUNKAUGYIADATOK_OSSZES AS munkaugyiAdat ON munkaugyiAdat.C_ALKALMAZOTTID = tanar.ID AND munkaugyiAdat.TOROLT = 'F'
 | 
						|
        INNER JOIN T_TANTARGY_OSSZES AS targy ON targy.ID = fogl.C_TANTARGYID AND targy.TOROLT = 'F'
 | 
						|
  	    INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
 | 
						|
        INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID AND targykategoria.TOROLT = 'F' AND targykategoria.C_TANEVID = @tanevID
 | 
						|
    WHERE
 | 
						|
		  fogl.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
 | 
						|
    ORDER BY
 | 
						|
		  targykategoria.C_ORDER,
 | 
						|
		targy.C_NEV,
 | 
						|
		IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV)
 | 
						|
  END
 | 
						|
  ELSE
 | 
						|
  BEGIN
 | 
						|
	SELECT DISTINCT
 | 
						|
		 Tanulok.Id AS TanuloId
 | 
						|
		,Tantargy.C_NEV AS TargyNev
 | 
						|
		,Tanar.C_NYOMTATASINEV AS TanarNev
 | 
						|
		,C_ORDER
 | 
						|
	FROM #students Tanulok
 | 
						|
		INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulok.Id AND TanuloCsoport.TOROLT = 'F' AND @VizsgaltNap BETWEEN C_BELEPESDATUM AND ISNULL(C_KILEPESDATUM, @UtolsoNap)
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
 | 
						|
		INNER JOIN T_FOGLALKOZAS_OSSZES Foglalkozas ON Foglalkozas.C_OSZTALYCSOPORTID = TanuloCsoport.C_OSZTALYCSOPORTID AND Foglalkozas.TOROLT = 'F'
 | 
						|
		INNER JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.Id = Foglalkozas.C_TANARID
 | 
						|
		INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = Foglalkozas.C_TANTARGYID
 | 
						|
		INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES TargyKategoria ON TargyKategoria.ID = Tantargy.C_TARGYKATEGORIA
 | 
						|
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoria_order ON TargyKategoria.ID = TargyKategoria_order.ID AND TargyKategoria_order.TOROLT = 'F' AND TargyKategoria_order.C_TANEVID = @tanevId
 | 
						|
	ORDER BY C_ORDER
 | 
						|
  END
 | 
						|
 | 
						|
  -- Orarend
 | 
						|
   EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyid, @aktivTanevId, @isEgyebFoglalkozasok, @orarendErvenyessegiDatum
 | 
						|
 | 
						|
  -- Oralatogatasok
 | 
						|
  SELECT
 | 
						|
	 dbo.fnGetDokumentumDatumFormatum(T_ORALATOGATAS_OSSZES.C_DATUM)	DATUM
 | 
						|
  	,TANITASIORA.C_ORASZAM									ORASZAM
 | 
						|
  	,TARGY.C_NEV											TARGYNEV
 | 
						|
  	,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV					LATOGATO
 | 
						|
  	,T_ORALATOGATAS_OSSZES.C_ORALATOGATOBEOSZTASA			LATOGATOBEOSZTAS
 | 
						|
  	,T_ORALATOGATAS_OSSZES.C_MEGJEGYZES						ESZREVETEL
 | 
						|
  INTO #Oralatogatas
 | 
						|
  FROM T_ORALATOGATAS_OSSZES
 | 
						|
  	INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_ORALATOGATAS_OSSZES.C_ERTEKELOID
 | 
						|
  	INNER JOIN (SELECT ID, C_TANTARGYID, C_ORASZAM, C_OSZTALYCSOPORTID FROM T_TANITASIORA_OSSZES ) TANITASIORA ON TANITASIORA.ID = T_ORALATOGATAS_OSSZES.C_MEGTARTOTTORAID
 | 
						|
  	INNER JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = TANITASIORA.C_TANTARGYID
 | 
						|
    INNER JOIN #osztalycsoportok ocs ON ocs.OsztalyCsoportId = C_OSZTALYCSOPORTID
 | 
						|
  WHERE T_ORALATOGATAS_OSSZES.TOROLT='F'
 | 
						|
  	AND T_ORALATOGATAS_OSSZES.c_tanevId = @tanevId
 | 
						|
    AND T_ORALATOGATAS_OSSZES.C_INTEZMENYID = @intezmenyId
 | 
						|
  ORDER BY T_ORALATOGATAS_OSSZES.C_DATUM, TANITASIORA.C_ORASZAM
 | 
						|
 | 
						|
  	IF ((SELECT COUNT(1) FROM #Oralatogatas) = 0)
 | 
						|
	BEGIN
 | 
						|
		SELECT NULL DATUM, NULL ORASZAM, NULL TARGYNEV, NULL LATOGATO, NULL LATOGATOBEOSZTAS, '' ESZREVETEL
 | 
						|
	END
 | 
						|
	ELSE
 | 
						|
	BEGIN
 | 
						|
		SELECT DATUM, ORASZAM, TARGYNEV, LATOGATO, LATOGATOBEOSZTAS, ESZREVETEL FROM #Oralatogatas ORDER BY DATUM
 | 
						|
	END
 | 
						|
 | 
						|
  -- Naploellenorzesek
 | 
						|
  SELECT DISTINCT
 | 
						|
	 dbo.fnGetDokumentumDatumFormatum(C_ELLENORZESDATUMA)	ELLENORZESDATUMA
 | 
						|
  	,ELLENORZO.C_NYOMTATASINEV								ELLENORZOSZEMELY
 | 
						|
  	,T_NAPLOELLENORZES_OSSZES.C_ESZREVETEL					ESZREVETEL
 | 
						|
	INTO #NaploEllenorzes
 | 
						|
  FROM T_NAPLOELLENORZES_OSSZES
 | 
						|
  	INNER JOIN T_FELHASZNALO_OSSZES ELLENORZO ON ELLENORZO.ID = T_NAPLOELLENORZES_OSSZES.C_ELLENORZOSZEMELYID
 | 
						|
  WHERE C_OSZTALYID = @osztalyId
 | 
						|
    AND T_NAPLOELLENORZES_OSSZES.TOROLT = 'F'
 | 
						|
	AND T_NAPLOELLENORZES_OSSZES.c_tanevId=@tanevId
 | 
						|
 | 
						|
	IF ((SELECT COUNT(1) FROM #NaploEllenorzes) = 0)
 | 
						|
	BEGIN
 | 
						|
		SELECT NULL ELLENORZESDATUMA, NULL ELLENORZOSZEMELY, NULL ESZREVETEL
 | 
						|
	END
 | 
						|
	ELSE
 | 
						|
	BEGIN
 | 
						|
		SELECT ELLENORZESDATUMA, ELLENORZOSZEMELY, ESZREVETEL FROM #NaploEllenorzes
 | 
						|
	END
 | 
						|
 | 
						|
  /* Napló */
 | 
						|
	DECLARE @HetUtolsoNapjaMegtartottOra INT = (SELECT IIF(MAX(HetNapja) IS NULL OR MAX(HetNapja) <= 1412 , 1412, MAX(HetNapja)) FROM #megtartottOrak)
 | 
						|
	DECLARE @HetUtolsoNapjaTanevendje	 INT = (
 | 
						|
    SELECT MAX(HetnapjaId) FROM 
 | 
						|
        (
 | 
						|
          SELECT 
 | 
						|
            ISNULL(MAX(C_HETNAPJA), 1412) AS HetnapjaId 
 | 
						|
          FROM #NapSorszam NapSorszam
 | 
						|
		        INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = NapSorszam.Datum AND NaptariNap.C_TANEVID = @tanevId
 | 
						|
 | 
						|
          UNION
 | 
						|
 | 
						|
          SELECT 
 | 
						|
            MAX(C_HETNAPJA) AS HetnapjaId  
 | 
						|
          FROM T_TANEVRENDJE_OSSZES tr 
 | 
						|
          WHERE 
 | 
						|
            C_OSSZESCSOPORTRAVONATKOZIK = 'T'
 | 
						|
            AND (C_HETNAPJA = 1413 OR C_HETNAPJA = 1414)
 | 
						|
            AND C_NAPTIPUSA <> 1396
 | 
						|
            AND C_TANEVID = @tanevId
 | 
						|
            AND TOROLT = 'F'
 | 
						|
 | 
						|
          UNION
 | 
						|
 | 
						|
          SELECT 
 | 
						|
            MAX(C_HETNAPJA) AS HetnapjaId  
 | 
						|
          FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr 
 | 
						|
            INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.ID = ocstr.C_TANEVRENDJEID
 | 
						|
          WHERE 
 | 
						|
            (C_HETNAPJA = 1413 OR C_HETNAPJA = 1414)
 | 
						|
            AND C_NAPTIPUSA <> 1396
 | 
						|
            AND ocstr.C_OSZTALYCSOPORTID IN (SELECT ID FROM #osztalycsoportok)
 | 
						|
            AND C_TANEVID = @tanevId
 | 
						|
            AND TOROLT = 'F'
 | 
						|
         ) Hetnapja
 | 
						|
    )
 | 
						|
 | 
						|
	DECLARE @HetUtolsoNapja INT = (SELECT IIF(@HetUtolsoNapjaMegtartottOra >= @HetUtolsoNapjaTanevendje, @HetUtolsoNapjaMegtartottOra, @HetUtolsoNapjaTanevendje))
 | 
						|
 | 
						|
  CREATE TABLE #HetAdatok (C_HETSORSZAMA INT, Hetesek NVARCHAR(MAX), KezdoDatum DATE, VegeDatum DATE)
 | 
						|
  INSERT INTO #HetAdatok
 | 
						|
  SELECT 
 | 
						|
     C_HETSORSZAMA
 | 
						|
    ,STUFF((SELECT ', ' + fh.C_NYOMTATASINEV 
 | 
						|
              FROM T_HETES_OSSZES h
 | 
						|
                INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = h.C_TANULOID
 | 
						|
                  AND fh.TOROLT = 'F'
 | 
						|
                  AND fh.C_TANEVID = h.C_TANEVID
 | 
						|
              WHERE h.C_HETSORSZAMA = T_NAPTARINAP_OSSZES.C_HETSORSZAMA
 | 
						|
                AND h.C_TANEVID = @tanevId
 | 
						|
                AND h.C_OSZTALYCSOPORTID = @osztalyId
 | 
						|
                AND h.TOROLT = 'F'
 | 
						|
              ORDER BY fh.C_NYOMTATASINEV
 | 
						|
              FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,2,'') AS Hetesek
 | 
						|
    ,MIN(C_NAPDATUMA) AS KezdoDatum
 | 
						|
    ,MAX(C_NAPDATUMA) AS VegeDatum
 | 
						|
  FROM T_NAPTARINAP_OSSZES
 | 
						|
  WHERE C_TANEVID = @tanevId
 | 
						|
    AND C_NAPDATUMA BETWEEN @ElsoNap AND @UtolsoNap OR C_NAPDATUMA IN (SELECT C_NAPDATUMA FROM #RendkivuliTanitasiNapok)
 | 
						|
  GROUP BY C_HETSORSZAMA
 | 
						|
 | 
						|
  SELECT 
 | 
						|
      ROW_NUMBER() OVER (ORDER BY ret.C_HETSORSZAMA) AS TanitasiHetSorszam
 | 
						|
     ,ret.C_HETSORSZAMA
 | 
						|
     ,ret.Hetesek
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ret.KezdoDatum)
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ret.VegeDatum)
 | 
						|
  FROM (
 | 
						|
  SELECT DISTINCT 
 | 
						|
     ha.*
 | 
						|
  FROM #HetAdatok ha
 | 
						|
    INNER JOIN #NapSorszamTemp ns ON ns.Datum >= ha.KezdoDatum and ns.Datum <= ha.VegeDatum
 | 
						|
  ) ret
 | 
						|
 | 
						|
  UNION
 | 
						|
 | 
						|
  SELECT
 | 
						|
      NULL AS TanitasiHetSorszam
 | 
						|
     ,ret.C_HETSORSZAMA
 | 
						|
     ,ret.Hetesek
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ret.KezdoDatum)
 | 
						|
    ,dbo.fnGetDokumentumDatumFormatum(ret.VegeDatum)
 | 
						|
  FROM (
 | 
						|
  SELECT DISTINCT 
 | 
						|
     ha.*
 | 
						|
  FROM #HetAdatok ha
 | 
						|
    LEFT JOIN #NapSorszamTemp ns ON ns.Datum >= ha.KezdoDatum and ns.Datum <= ha.VegeDatum
 | 
						|
  WHERE ns.Datum IS NULL
 | 
						|
  ) ret
 | 
						|
  ORDER BY ret.C_HETSORSZAMA
 | 
						|
 | 
						|
  CREATE TABLE #OsszesOra (
 | 
						|
     Datum			DateTime
 | 
						|
	,FormatDate		NVARCHAR(100)
 | 
						|
    ,Oraszam		INT
 | 
						|
    ,HetSorszama	INT
 | 
						|
    ,HetNapja		NVARCHAR(100)
 | 
						|
    ,Megjegyzes		NVARCHAR(1000)
 | 
						|
    ,Sorszam		NVARCHAR(30)
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #OsszesOra
 | 
						|
  SELECT
 | 
						|
		 Datum
 | 
						|
		,FormatDate
 | 
						|
		,Oraszam
 | 
						|
		,HetSorszama
 | 
						|
		,HetNapja
 | 
						|
		,IIF(RIGHT(Megjegyzes, 1) = ',', LEFT(Megjegyzes, LEN(Megjegyzes) - 1), Megjegyzes) Megjegyzes
 | 
						|
		,Sorszam
 | 
						|
  FROM(
 | 
						|
  SELECT
 | 
						|
		 C_NAPDATUMA					Datum
 | 
						|
		,dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) FormatDate
 | 
						|
		,oraszam						Oraszam
 | 
						|
		,ha.C_HETSORSZAMA				HetSorszama
 | 
						|
		,AlapHetnapja.C_NAME			HetNapja
 | 
						|
		,		  ISNULL(trNaptipus.C_NAME + ',', '')
 | 
						|
				+ IIF(LEN(ISNULL(tr.C_MEGJEGYZES, '')) = 0, '', ' ' + tr.C_MEGJEGYZES + ',')
 | 
						|
				+ IIF(LEN(ISNULL(osztalyCsoportTanevRendje.Megjegyzes, '')) = 0, '', ' ' + osztalyCsoportTanevRendje.Megjegyzes + ',')
 | 
						|
				+ IIF(tr.C_HETNAPJA <> nn.C_ALAPHETNAPJA, ' (' + Hetnapja.C_NAME +')', '')
 | 
						|
										Megjegyzes
 | 
						|
		,ISNULL(Sorszam,'-')			Sorszam
 | 
						|
	FROM T_NAPTARINAP_OSSZES nn
 | 
						|
        INNER JOIN #HetAdatok ha ON nn.C_NAPDATUMA BETWEEN ha.KezdoDatum AND ha.VegeDatum
 | 
						|
		LEFT JOIN #NapSorszam sorszam ON sorszam.Datum = nn.C_NAPDATUMA
 | 
						|
		LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_TANEVID = nn.C_TANEVID AND tr.TOROLT = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
 | 
						|
		LEFT JOIN
 | 
						|
				(
 | 
						|
					SELECT
 | 
						|
							C_DATUM
 | 
						|
							,ISNULL(trNaptipus.C_NAME + ', ', '') + ISNULL('(' + HetNapja.C_NAME + ')', '') + ISNULL(C_MEGJEGYZES, '') Megjegyzes
 | 
						|
					FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
 | 
						|
						INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.Id = ocstr.C_TANEVRENDJEID
 | 
						|
						LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = tr.C_HETNAPJA AND HetNapja.C_TANEVID = @tanevId
 | 
						|
						LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
 | 
						|
					WHERE
 | 
						|
						C_OSZTALYCSOPORTID = @osztalyId
 | 
						|
						AND tr.TOROLT = 'F'
 | 
						|
						AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
 | 
						|
				) osztalyCsoportTanevRendje ON osztalyCsoportTanevRendje.C_DATUM = nn.C_NAPDATUMA
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AlapHetnapja ON AlapHetnapja.Id = nn.C_ALAPHETNAPJA AND AlapHetnapja.C_TANEVID = @tanevId
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Hetnapja ON Hetnapja.Id = nn.C_HETNAPJA AND Hetnapja.C_TANEVID = @tanevId
 | 
						|
		CROSS JOIN (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22),(23),(24),(25)) oraszam(oraszam)
 | 
						|
	WHERE
 | 
						|
		nn.C_TANEVID = @tanevId
 | 
						|
		AND nn.TOROLT = 'F'
 | 
						|
		AND nn.C_NAPDATUMA <= @UtolsoNap
 | 
						|
		AND oraszam <= @MaxOraszam
 | 
						|
		AND nn.C_HETNAPJA BETWEEN 1407 AND @HetUtolsoNapja
 | 
						|
    ) NapAdatok
 | 
						|
 | 
						|
  INSERT INTO #OsszesOra
 | 
						|
  SELECT
 | 
						|
     Datum
 | 
						|
    ,FormatDate
 | 
						|
    ,Oraszam
 | 
						|
    ,HetSorszama
 | 
						|
    ,HetNapja
 | 
						|
    ,IIF(RIGHT(Megjegyzes, 1) = ',', LEFT(Megjegyzes, LEN(Megjegyzes) - 1), Megjegyzes) Megjegyzes
 | 
						|
    ,Sorszam
 | 
						|
  FROM(
 | 
						|
    SELECT
 | 
						|
       C_NAPDATUMA AS Datum
 | 
						|
      ,dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) AS FormatDate
 | 
						|
      ,oraszam AS Oraszam
 | 
						|
      ,C_HETSORSZAMA AS HetSorszama
 | 
						|
      ,AlapHetnapja.C_NAME AS HetNapja
 | 
						|
      ,ISNULL(trNaptipus.C_NAME + ',', '')
 | 
						|
        + IIF(LEN(ISNULL(tr.C_MEGJEGYZES, '')) = 0, '', ' ' + tr.C_MEGJEGYZES + ',')
 | 
						|
        + IIF(LEN(ISNULL(osztalyCsoportTanevRendje.Megjegyzes, '')) = 0, '', ' ' + osztalyCsoportTanevRendje.Megjegyzes + ',')
 | 
						|
        + IIF(tr.C_HETNAPJA <> nn.C_ALAPHETNAPJA, ' (' + Hetnapja.C_NAME +')', '') AS Megjegyzes
 | 
						|
      ,ISNULL(Sorszam,'-') AS Sorszam
 | 
						|
    FROM #RendkivuliTanitasiNapok nn
 | 
						|
      LEFT JOIN #NapSorszam sorszam ON sorszam.Datum = nn.C_NAPDATUMA
 | 
						|
      LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_TANEVID = nn.C_TANEVID AND tr.TOROLT = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
 | 
						|
      LEFT JOIN
 | 
						|
      (
 | 
						|
        SELECT
 | 
						|
           C_DATUM
 | 
						|
          ,ISNULL(trNaptipus.C_NAME + ', ', '') + ISNULL('(' + HetNapja.C_NAME + ')', '') + ISNULL(C_MEGJEGYZES, '') Megjegyzes
 | 
						|
        FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
 | 
						|
          INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.Id = ocstr.C_TANEVRENDJEID
 | 
						|
          LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = tr.C_HETNAPJA AND HetNapja.C_TANEVID = @tanevId
 | 
						|
          LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
 | 
						|
        WHERE C_OSZTALYCSOPORTID = @osztalyId
 | 
						|
          AND tr.TOROLT = 'F'
 | 
						|
          AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
 | 
						|
      ) osztalyCsoportTanevRendje ON osztalyCsoportTanevRendje.C_DATUM = nn.C_NAPDATUMA
 | 
						|
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
 | 
						|
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AlapHetnapja ON AlapHetnapja.Id = nn.C_ALAPHETNAPJA AND AlapHetnapja.C_TANEVID = @tanevId
 | 
						|
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Hetnapja ON Hetnapja.Id = nn.C_HETNAPJA AND Hetnapja.C_TANEVID = @tanevId
 | 
						|
      CROSS JOIN (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22),(23),(24),(25)) oraszam(oraszam)
 | 
						|
    WHERE nn.C_TANEVID = @tanevId
 | 
						|
      AND nn.TOROLT = 'F'
 | 
						|
      AND oraszam <= @MaxOraszam
 | 
						|
      AND nn.C_HETNAPJA BETWEEN 1407 AND @HetUtolsoNapja
 | 
						|
  ) NapAdatok
 | 
						|
 | 
						|
	IF (@MinOraszam > 0)
 | 
						|
	BEGIN
 | 
						|
		DELETE FROM #OsszesOra WHERE Oraszam = 0
 | 
						|
	END
 | 
						|
 | 
						|
	IF @isSzovegesNaplo = 0 BEGIN   /* NORMÁL OSZTÁLYNAPLÓ */
 | 
						|
    DECLARE @selectList nvarchar(MAX),
 | 
						|
      @pivotList nvarchar(MAX)
 | 
						|
 | 
						|
		SELECT
 | 
						|
			 MulasztasokKulso.Datum Datum
 | 
						|
			,Felhasznalo.C_NYOMTATASINEV
 | 
						|
			 + ' [' + STUFF((
 | 
						|
				  SELECT  ', ' + CAST(MulasztasokBelso.Oraszam AS VARCHAR(3)) + IIF(MulasztasokBelso.Tipus = 1499, '(k)', '')
 | 
						|
				  FROM #mulasztasTmp MulasztasokBelso
 | 
						|
				  WHERE
 | 
						|
						MulasztasokBelso.Datum = MulasztasokKulso.Datum
 | 
						|
					AND MulasztasokBelso.TanuloId = MulasztasokKulso.TanuloId
 | 
						|
					AND MulasztasokBelso.TanuloCsoportId = MulasztasokKulso.TanuloCsoportId
 | 
						|
				  ORDER BY Datum, Oraszam
 | 
						|
				  FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') + '] '
 | 
						|
			 + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'T', 1, 0)) AS VARCHAR(5)) + '/'
 | 
						|
			 + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'F', 1, 0)) AS VARCHAR(5)) Hianyzas
 | 
						|
		INTO #hianyzasokTMP
 | 
						|
		FROM #mulasztasTmp MulasztasokKulso
 | 
						|
			INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = MulasztasokKulso.TanuloId
 | 
						|
		GROUP BY MulasztasokKulso.Datum, MulasztasokKulso.TanuloId, TanuloCsoportId, Felhasznalo.C_NYOMTATASINEV
 | 
						|
 | 
						|
	CREATE CLUSTERED INDEX ci2 on #hianyzasokTMP (datum)
 | 
						|
 | 
						|
	SELECT
 | 
						|
		Datum
 | 
						|
		,STUFF((
 | 
						|
          SELECT CHAR(13) + CHAR(10) + Hianyzas
 | 
						|
          FROM #hianyzasokTMP bHianyzasok
 | 
						|
          WHERE
 | 
						|
			Hianyzasok.Datum = bHianyzasok.Datum
 | 
						|
          FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,2,'') AS Hianyzas
 | 
						|
	INTO #hianyzasok
 | 
						|
	FROM #hianyzasokTMP Hianyzasok
 | 
						|
 | 
						|
	SELECT DISTINCT
 | 
						|
		Datum
 | 
						|
		,HetSorszama
 | 
						|
		,HetNapja
 | 
						|
		,Oraszam
 | 
						|
		,STUFF((SELECT
 | 
						|
					CAST(bmto.TantargyNev AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
 | 
						|
				FROM #megtartottOrak bmto
 | 
						|
				WHERE
 | 
						|
					bmto.Datum = mto.Datum
 | 
						|
					AND bmto.Oraszam = mto.Oraszam
 | 
						|
				FOR XML PATH(''), TYPE)
 | 
						|
			.value('.','NVARCHAR(MAX)'),1,0,'') Tantargy
 | 
						|
	INTO #Orarend
 | 
						|
	FROM #megtartottOrak mto
 | 
						|
 | 
						|
	SELECT DISTINCT
 | 
						|
		Datum
 | 
						|
		,@MinOraszam Oraszam
 | 
						|
		,TantargyPedagogussal
 | 
						|
		,STUFF((SELECT DISTINCT
 | 
						|
					CAST(bmto.TemaOraSzammal AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
 | 
						|
				FROM #megtartottOrak bmto
 | 
						|
				WHERE
 | 
						|
					bmto.Datum = mto.Datum
 | 
						|
					AND bmto.TantargyPedagogussal = mto.TantargyPedagogussal
 | 
						|
				FOR XML PATH(''), TYPE)
 | 
						|
			.value('.','NVARCHAR(MAX)'),1,0,'') Tema
 | 
						|
	INTO #1nap1TantargyTobbOra
 | 
						|
	FROM #megtartottOrak mto
 | 
						|
 | 
						|
	DECLARE @tantargyakNevvel NVARCHAR(MAX)
 | 
						|
	SELECT	@tantargyakNevvel = ISNULL(@tantargyakNevvel + ', ', '') + '[' +  IIF(LEN(TantargyPedagogussal) > 128, SUBSTRING(TantargyPedagogussal, 1, 120) + '...', TantargyPedagogussal) + ']'
 | 
						|
	FROM (SELECT DISTINCT TantargyPedagogussal, C_TARGYKATEGORIA FROM #megtartottOrak m INNER JOIN T_TANTARGY_OSSZES t ON t.Id = m.TantargyId ) t
 | 
						|
	ORDER BY C_TARGYKATEGORIA
 | 
						|
 | 
						|
	DECLARE @sql NVARCHAR(MAX)
 | 
						|
	SET @sql = '
 | 
						|
	SELECT
 | 
						|
		Datum
 | 
						|
		,Oraszam
 | 
						|
		, ' + @tantargyakNevvel +'
 | 
						|
	INTO #naplo
 | 
						|
	FROM #1nap1TantargyTobbOra
 | 
						|
	PIVOT (MAX(Tema) FOR TantargyPedagogussal IN (' + @tantargyakNevvel + ')) piv
 | 
						|
 | 
						|
	SELECT DISTINCT
 | 
						|
		 OsszesOra.FormatDate	C_NAPDATUMA
 | 
						|
		,Hianyzas				Mulasztas
 | 
						|
		,OsszesOra.Oraszam		ORASZAM
 | 
						|
		,NULL					T1ID
 | 
						|
		,NULL					T2ID
 | 
						|
		,NULL					T3ID
 | 
						|
		,Orarend.Tantargy		TANTARGY
 | 
						|
		,OsszesOra.HetSorszama	C_HETSORSZAMA
 | 
						|
		,OsszesOra.HetNapja		C_HETNAPJA_DNAME
 | 
						|
		,OsszesOra.Sorszam		NapSorszama
 | 
						|
		,OsszesOra.Megjegyzes	Megjegyzes
 | 
						|
		,' + @tantargyakNevvel + '
 | 
						|
	FROM #OsszesOra OsszesOra
 | 
						|
		LEFT JOIN #Orarend Orarend ON Orarend.Datum = OsszesOra.Datum AND Orarend.Oraszam = OsszesOra.Oraszam
 | 
						|
		LEFT JOIN #naplo Naplo ON Naplo.Datum = OsszesOra.Datum AND OsszesOra.Oraszam = @MinOraszam
 | 
						|
		LEFT JOIN #hianyzasok Hianyzasok ON Hianyzasok.Datum = OsszesOra.Datum
 | 
						|
	ORDER BY OsszesOra.FormatDate, Oraszam
 | 
						|
	'
 | 
						|
	IF @sql IS NULL
 | 
						|
		BEGIN
 | 
						|
			SELECT
 | 
						|
				NULL	C_NAPDATUMA
 | 
						|
				,NULL	Mulasztas
 | 
						|
				,NULL	Megjegyzes
 | 
						|
				,NULL	ORASZAM
 | 
						|
				,NULL	T1ID
 | 
						|
				,NULL	T2ID
 | 
						|
				,NULL	T3ID
 | 
						|
				,NULL	TANTARGY
 | 
						|
				,NULL	C_HETSORSZAMA
 | 
						|
				,NULL	C_HETNAPJA_DNAME
 | 
						|
				,NULL	NapSorszama
 | 
						|
		END
 | 
						|
	ELSE
 | 
						|
		BEGIN
 | 
						|
			EXEC sp_executesql @sql, N'@MinOraszam int', @MinOraszam
 | 
						|
		END
 | 
						|
	DROP TABLE #1nap1TantargyTobbOra
 | 
						|
	DROP TABLE #OsszesOra
 | 
						|
	DROP TABLE #hianyzasokTMP
 | 
						|
	DROP TABLE #hianyzasok
 | 
						|
	DROP TABLE #Orarend
 | 
						|
 | 
						|
  END -- NORMÁL OSZTÁLYNAPLÓ
 | 
						|
  ELSE BEGIN -- SZÖVEGES OSZTÁLYNAPLÓ
 | 
						|
	SELECT
 | 
						|
		 OsszesOra.Datum							C_NAPDATUMA
 | 
						|
		,OsszesOra.HetNapja							Napneve
 | 
						|
		,OsszesOra.Megjegyzes						C_MEGJEGYZES
 | 
						|
		,nh.C_HETKEZDONAPJA							C_HETKEZDONAPJA
 | 
						|
		,nh.C_HETUTOLSONAPJA						C_HETUTOLSONAPJA
 | 
						|
		,OsszesOra.HetSorszama						C_HETSORSZAMA
 | 
						|
		,OsszesOra.Oraszam							OraSorszam
 | 
						|
		,OsszesOra.Sorszam							Napszam
 | 
						|
		,Tantargynev								Tantargy
 | 
						|
		,PedagogusNev								Tanar
 | 
						|
		,Tema										Oraanyaga
 | 
						|
		,OraSorszam									C_ORAEVESSORSZAM
 | 
						|
	INTO #szoveges
 | 
						|
	FROM #OsszesOra OsszesOra
 | 
						|
		LEFT JOIN #megtartottOrak mto ON mto.Datum = OsszesOra.Datum AND OsszesOra.Oraszam = mto.Oraszam
 | 
						|
		INNER JOIN T_NAPTARIHET_OSSZES nh ON OsszesOra.Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId and nh.torolt='F'
 | 
						|
 | 
						|
    CREATE CLUSTERED INDEX ci4 ON [#szoveges] ([C_NAPDATUMA])
 | 
						|
	SELECT DISTINCT
 | 
						|
			 dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) C_NAPDATUMA
 | 
						|
			,Napneve
 | 
						|
			,C_MEGJEGYZES
 | 
						|
			,C_HETKEZDONAPJA
 | 
						|
			,C_HETUTOLSONAPJA
 | 
						|
			,C_HETSORSZAMA
 | 
						|
			,OraSorszam
 | 
						|
			,Napszam
 | 
						|
			,(SELECT CAST(bszov.TANTARGY AS NVARCHAR(MAX)) + NCHAR(10)
 | 
						|
					 FROM #szoveges bszov
 | 
						|
					 WHERE
 | 
						|
						 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
 | 
						|
						 and bszov.ORASORSZAM=szov.ORASORSZAM
 | 
						|
						 and bszov.napszam=szov.napszam
 | 
						|
					 FOR XML PATH('')) TANTARGY
 | 
						|
			,(SELECT CAST(bszov.TANAR AS NVARCHAR(MAX)) + NCHAR(10)
 | 
						|
					 FROM #szoveges bszov
 | 
						|
					 WHERE
 | 
						|
						 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
 | 
						|
						 and bszov.ORASORSZAM=szov.ORASORSZAM
 | 
						|
						 and bszov.napszam=szov.napszam
 | 
						|
					 FOR XML PATH('')) TANAR
 | 
						|
			,(SELECT CAST(bszov.ORAANYAGA AS NVARCHAR(MAX)) + NCHAR(10)
 | 
						|
					 FROM #szoveges bszov
 | 
						|
					 WHERE
 | 
						|
						 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
 | 
						|
						 and bszov.ORASORSZAM=szov.ORASORSZAM
 | 
						|
						 and bszov.napszam=szov.napszam
 | 
						|
					 FOR XML PATH('')) ORAANYAGA
 | 
						|
			,(SELECT CAST(bszov.C_ORAEVESSORSZAM AS NVARCHAR(MAX)) + NCHAR(10)
 | 
						|
					 FROM #szoveges bszov
 | 
						|
					 WHERE
 | 
						|
						 bszov.C_NAPDATUMA=szov.C_NAPDATUMA
 | 
						|
						 and bszov.ORASORSZAM=szov.ORASORSZAM
 | 
						|
						 and bszov.napszam=szov.napszam
 | 
						|
					 FOR XML PATH('')) OraEvesSorszama
 | 
						|
	FROM #szoveges szov
 | 
						|
	ORDER BY dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA), orasorszam
 | 
						|
 | 
						|
    /*Hiányzások*/
 | 
						|
	SELECT
 | 
						|
		 NapiMulasztas.HetSorszama
 | 
						|
		,TanuloNeve
 | 
						|
		,NapiMulasztas.TanuloId
 | 
						|
		,MAX(Hetfo)			Hetfo
 | 
						|
		,MAX(Kedd)			Kedd
 | 
						|
		,MAX(Szerda)		Szerda
 | 
						|
		,MAX(Csutortok)		Csutortok
 | 
						|
		,MAX(Pentek)		Pentek
 | 
						|
		,MAX(Szombat)		Szombat
 | 
						|
		,HetiMulasztas
 | 
						|
	FROM (
 | 
						|
	SELECT
 | 
						|
		HetSorszama
 | 
						|
		,TanuloNeve
 | 
						|
		,TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,[1408] Hetfo
 | 
						|
		,[1409] Kedd
 | 
						|
		,[1410] Szerda
 | 
						|
		,[1411] Csutortok
 | 
						|
		,[1412] Pentek
 | 
						|
		,[1413] Szombat
 | 
						|
	FROM
 | 
						|
		(
 | 
						|
		SELECT DISTINCT
 | 
						|
			 HetSorszama
 | 
						|
			,C_NYOMTATASINEV TanuloNeve
 | 
						|
			,TanuloId
 | 
						|
			,TanuloCsoportId
 | 
						|
			,Datum
 | 
						|
			,C_ALAPHETNAPJA		Hetnapja
 | 
						|
			,'[' + STUFF((
 | 
						|
				  SELECT  ', ' + CAST(MulasztasokBelso.Oraszam AS VARCHAR(3)) + IIF(MulasztasokBelso.Tipus = 1499, '(k)', '')
 | 
						|
				  FROM #mulasztasTmp MulasztasokBelso
 | 
						|
				  WHERE
 | 
						|
						MulasztasokBelso.Datum = MulasztasokKulso.Datum
 | 
						|
					AND MulasztasokBelso.TanuloId = MulasztasokKulso.TanuloId
 | 
						|
					AND MulasztasokBelso.TanuloCsoportId = MulasztasokKulso.TanuloCsoportId
 | 
						|
				  ORDER BY Datum, Oraszam
 | 
						|
				  FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 2, '') + '] '
 | 
						|
			 + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'T', 1, 0)) AS VARCHAR(5)) + '/'
 | 
						|
			 + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'F', 1, 0)) AS VARCHAR(5)) Hianyzas
 | 
						|
		FROM #mulasztasTmp MulasztasokKulso
 | 
						|
			INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo	ON Felhasznalo.Id = MulasztasokKulso.TanuloId
 | 
						|
			INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = MulasztasokKulso.Datum AND NaptariNap.C_TANEVID = @tanevId
 | 
						|
		GROUP BY Hetsorszama, C_NYOMTATASINEV, TanuloId, TanuloCsoportId, Datum, C_ALAPHETNAPJA, TanuloId
 | 
						|
		) OsszefuzottMulasztasok
 | 
						|
	PIVOT (MAX(Hianyzas) FOR HetNapja IN ([1408], [1409], [1410], [1411], [1412], [1413])) piv
 | 
						|
	) NapiMulasztas
 | 
						|
	INNER JOIN #HetiMulasztasok HetiMulasztasok ON
 | 
						|
				HetiMulasztasok.HetSorszama = NapiMulasztas.HetSorszama
 | 
						|
				AND HetiMulasztasok.TanuloId = NapiMulasztas.TanuloId
 | 
						|
				AND HetiMulasztasok.TanuloCsoportId = NapiMulasztas.TanuloCsoportId
 | 
						|
	GROUP BY NapiMulasztas.HetSorszama,TanuloNeve,NapiMulasztas.TanuloId, HetiMulasztas
 | 
						|
 | 
						|
  END --SZÖVEGES OSZTÁLYNAPLÓ
 | 
						|
 | 
						|
  /*TANULÓ adatai*/
 | 
						|
	SELECT
 | 
						|
		 TanuloId
 | 
						|
		,ta.TanuloCsoportId
 | 
						|
		,Sorszam
 | 
						|
		,ta.TorzslapSzam
 | 
						|
		,OktAzon
 | 
						|
		,TajSzam
 | 
						|
		,AnyjaNeve
 | 
						|
		,SzulHely
 | 
						|
		,SzulIdo
 | 
						|
		,SocAdat
 | 
						|
		,Kepzes
 | 
						|
		,TanuloNeve
 | 
						|
		,Allampolgarsaga
 | 
						|
		,DiakIgazolvanySzam
 | 
						|
		,ta.KilepesDatum
 | 
						|
		,BeirasiNaploSorszam
 | 
						|
		,AktualisOsztaly AS OsztalyNev
 | 
						|
    ,dAgazat.C_NAME  AS Agazat
 | 
						|
    ,dSzakmacsop.C_NAME AS Szakmacsoport
 | 
						|
    ,dSzakkep.C_NAME AS Szakkepesites
 | 
						|
    -- Turai: itt azért a megnevezés1 került beállításra, mert jelenleg vannak olyan adatok a megnevezésben (amelyeket most igyekszünk kigyilkolni), amelyek nem jók, nem a jogszabálynak megfelelőek
 | 
						|
    -- Összevont osztály esetén a tanuló évfolyamának megjelenítése, egyéb esetben az osztály/csoport évfolyama
 | 
						|
    ,IIF(ocs.C_EVFOLYAMTIPUSA = 7366, dEvfolyamTipusTanulo.C_NAME_1, dEvfolyamTipusOsztalyCsoport.C_NAME_1) AS EvfolyamTipusa
 | 
						|
	INTO #TanuloAlapAdatok
 | 
						|
	FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId) ta
 | 
						|
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = ta.TanuloCsoportId AND tcs.TOROLT = 'F'
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzakmacsop ON dSzakmacsop.ID = tcs.C_SZAKMACSOPORT AND dSzakmacsop.TOROLT = 'F' AND dSzakmacsop.C_TANEVID = tcs.C_TANEVID AND dSzakmacsop.ID != 6084 /* Na */
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dAgazat ON dAgazat.ID = tcs.C_AGAZAT AND dAgazat.TOROLT = 'F' AND dAgazat.C_TANEVID = tcs.C_TANEVID AND dAgazat.ID != 5484 /* Na */
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzakkep ON dSzakkep.ID = tcs.C_SZAKKEPESITES AND dSzakkep.TOROLT = 'F' AND dSzakkep.C_TANEVID = tcs.C_TANEVID AND dSzakkep.ID != 5527 /* Na */
 | 
						|
		LEFT JOIN #studentsWithTanuloCsoport s ON s.Id = ta.TanuloId AND s.TanuloCsoportId = tcs.ID
 | 
						|
		LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dEvfolyamTipusOsztalyCsoport ON dEvfolyamTipusOsztalyCsoport.ID = ocs.C_EVFOLYAMTIPUSA
 | 
						|
      AND dEvfolyamTipusOsztalyCsoport.TOROLT = 'F'
 | 
						|
      AND dEvfolyamTipusOsztalyCsoport.C_TANEVID = tcs.C_TANEVID
 | 
						|
      AND dEvfolyamTipusOsztalyCsoport.ID != 1296 /* Na */
 | 
						|
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dEvfolyamTipusTanulo ON dEvfolyamTipusTanulo.ID = s.EvfolyamTipusa
 | 
						|
      AND dEvfolyamTipusTanulo.TOROLT = 'F' 
 | 
						|
      AND dEvfolyamTipusTanulo.C_TANEVID = tcs.C_TANEVID
 | 
						|
      AND dEvfolyamTipusTanulo.ID != 1296 /* Na */
 | 
						|
	WHERE (@tanuloId IS NULL OR ta.TanuloId = @tanuloId)
 | 
						|
 | 
						|
	SELECT
 | 
						|
		 TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,Sorszam
 | 
						|
		,TorzslapSzam
 | 
						|
		,OktAzon
 | 
						|
		,TajSzam
 | 
						|
		,AnyjaNeve
 | 
						|
		,SzulHely
 | 
						|
		,SzulIdo
 | 
						|
		,SocAdat
 | 
						|
		,Kepzes
 | 
						|
		,TanuloNeve
 | 
						|
		,Allampolgarsaga
 | 
						|
		,DiakIgazolvanySzam
 | 
						|
		,KilepesDatum
 | 
						|
		,BeirasiNaploSorszam
 | 
						|
		,OsztalyNev
 | 
						|
		,Agazat
 | 
						|
		,Szakmacsoport
 | 
						|
		,Szakkepesites
 | 
						|
		,EvfolyamTipusa
 | 
						|
	FROM #TanuloAlapAdatok
 | 
						|
	ORDER BY Sorszam
 | 
						|
 | 
						|
  /*TANULÓ elérhetoségei */
 | 
						|
  	CREATE TABLE #Gondviselok (TanuloId INT, GondviseloId INT PRIMARY KEY CLUSTERED)
 | 
						|
 | 
						|
	INSERT INTO #Gondviselok
 | 
						|
	SELECT
 | 
						|
		 TanuloId
 | 
						|
		,GondviseloId
 | 
						|
	FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T')
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
 | 
						|
	CREATE TABLE #TanuloCimTable (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
 | 
						|
	INSERT INTO #TanuloCimTable
 | 
						|
	SELECT DISTINCT
 | 
						|
		TanuloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
 | 
						|
			FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @osztalyId) btemp
 | 
						|
			WHERE
 | 
						|
				temp.TanuloId = btemp.TanuloId
 | 
						|
				AND temp.CimTipusa = btemp.CimTipusa
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,0,'')
 | 
						|
		,cimTipusa.C_NAME
 | 
						|
	FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @osztalyId) temp
 | 
						|
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
 | 
						|
	CREATE TABLE #GondViseloCimTable (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
 | 
						|
	INSERT INTO #GondViseloCimTable
 | 
						|
	SELECT
 | 
						|
		GondviseloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
 | 
						|
			FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @osztalyId) btemp
 | 
						|
			WHERE
 | 
						|
				temp.GondviseloId = btemp.GondviseloId
 | 
						|
				AND temp.CimTipusa = btemp.CimTipusa
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,0,'')
 | 
						|
		,cimTipusa.C_NAME
 | 
						|
	FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @osztalyId) temp
 | 
						|
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
 | 
						|
	CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT)
 | 
						|
	INSERT INTO #EmailCimTableTemp
 | 
						|
	SELECT
 | 
						|
		 tanulo.Id
 | 
						|
		,C_EMAILCIM
 | 
						|
		,C_GONDVISELOID
 | 
						|
	FROM #students tanulo
 | 
						|
		INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = tanulo.Id
 | 
						|
	WHERE
 | 
						|
		email.TOROLT = 'F'
 | 
						|
		AND email.C_TANEVID = @tanevId
 | 
						|
		AND LEN(C_EMAILCIM) > 0
 | 
						|
 | 
						|
	UNION
 | 
						|
 | 
						|
	SELECT
 | 
						|
		TanuloId
 | 
						|
		,C_EMAILCIM
 | 
						|
		,GondviseloId
 | 
						|
	FROM #Gondviselok
 | 
						|
		INNER JOIN T_EMAIL_OSSZES email ON email.C_GONDVISELOID = GondviseloId
 | 
						|
	WHERE
 | 
						|
		email.TOROLT = 'F'
 | 
						|
		AND email.C_TANEVID = @tanevId
 | 
						|
		AND LEN(C_EMAILCIM) > 0
 | 
						|
 | 
						|
	CREATE TABLE #EmailCimTanuloTable(FelhasznaloId INT, EmailCim NVARCHAR(MAX),
 | 
						|
	INDEX IX_EmailCimTanuloTable CLUSTERED (FelhasznaloId))
 | 
						|
 | 
						|
	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
 | 
						|
 | 
						|
	CREATE TABLE #EmailCimGondviseloTable(GondviseloId INT PRIMARY KEY CLUSTERED, 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
 | 
						|
 | 
						|
	CREATE TABLE #TelefonTableTemp(FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT, index ix_Ci_telefon (FelhasznaloId))
 | 
						|
 | 
						|
	INSERT INTO #TelefonTableTemp
 | 
						|
	SELECT
 | 
						|
		 tanulo.Id
 | 
						|
		,C_TELEFONSZAM
 | 
						|
		,C_GONDVISELOID
 | 
						|
	FROM #students tanulo
 | 
						|
		INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = tanulo.Id
 | 
						|
	WHERE
 | 
						|
		telefon.TOROLT = 'F'
 | 
						|
		AND telefon.C_TANEVID = @tanevId
 | 
						|
		AND LEN(telefon.C_TELEFONSZAM) > 0
 | 
						|
 | 
						|
	UNION
 | 
						|
 | 
						|
	SELECT
 | 
						|
		TanuloId
 | 
						|
		,C_TELEFONSZAM
 | 
						|
		,GondviseloId
 | 
						|
	FROM #Gondviselok gondviselo
 | 
						|
		INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = GondviseloId
 | 
						|
	WHERE
 | 
						|
		telefon.TOROLT = 'F'
 | 
						|
		AND telefon.C_TANEVID = @tanevId
 | 
						|
		AND LEN(telefon.C_TELEFONSZAM) > 0
 | 
						|
 | 
						|
	CREATE TABLE #TanuloTelefonTable(FelhasznaloId INT PRIMARY KEY CLUSTERED, 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
 | 
						|
 | 
						|
	CREATE TABLE #GondviseloTelefonTable(GondviseloId INT PRIMARY KEY CLUSTERED,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.GondviseloId = btemp.GondviseloId
 | 
						|
				AND 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
 | 
						|
 | 
						|
  /* TANULÓ mentesség */
 | 
						|
  	SELECT
 | 
						|
		TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,ROW_NUMBER() OVER(PARTITION BY TanuloId, TanuloCsoportId ORDER BY TanuloId, TanuloCsoportId) Sorszam
 | 
						|
		,TantargyNev
 | 
						|
		,MentessegOka
 | 
						|
	FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, DEFAULT)
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
  /* TANULÓ határozatok */
 | 
						|
    SELECT
 | 
						|
		 s.ID as tanuloID
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,ROW_NUMBER() OVER(PARTITION BY s.ID, s.TanuloCsoportId ORDER BY s.ID, s.TanuloCsoportId) AS sorszam
 | 
						|
		,dbo.fnGetDokumentumDatumFormatum(Datum) as datum
 | 
						|
		,d.C_NAME as tipus
 | 
						|
		,Tartalom as tartalom
 | 
						|
		,FeljegyzoNeve as tanar
 | 
						|
  FROM #studentsWithTanuloCsoport s
 | 
						|
    INNER JOIN fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, 0) feljegyzes ON feljegyzes.TanuloId = s.ID
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa  AND d.C_TANEVID = @tanevId
 | 
						|
  WHERE
 | 
						|
	BelepesDatum <= feljegyzes.Datum
 | 
						|
	AND (KilepesDatum IS NULL OR KilepesDatum >= feljegyzes.Datum)
 | 
						|
	AND Tipusa IN (1543, 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553)
 | 
						|
 | 
						|
  /* TANULÓ feljegyzései */
 | 
						|
    SELECT
 | 
						|
		 s.ID				TanuloID
 | 
						|
		,s.TanuloCsoportId	TanuloCsoportId
 | 
						|
		,ROW_NUMBER() OVER(PARTITION BY s.ID ORDER BY s.ID) Sorszam
 | 
						|
		,dbo.fnGetDokumentumDatumFormatum(Datum) Datum
 | 
						|
		,d.C_NAME			Tipus
 | 
						|
		,Tartalom			Tartalom
 | 
						|
		,FeljegyzoNeve		Tanar
 | 
						|
  FROM #studentsWithTanuloCsoport s
 | 
						|
    INNER JOIN fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, 0) feljegyzes ON feljegyzes.TanuloId = s.ID
 | 
						|
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa  AND d.C_TANEVID = @tanevId
 | 
						|
  WHERE
 | 
						|
	BelepesDatum <= feljegyzes.Datum
 | 
						|
	AND (KilepesDatum IS NULL OR KilepesDatum >= feljegyzes.Datum)
 | 
						|
	AND ((@isEllenorzo = 1 AND Tipusa NOT IN (1543, 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553)) OR
 | 
						|
			(Tipusa IN
 | 
						|
					(
 | 
						|
					--KRETA-5569
 | 
						|
						1535,
 | 
						|
						1536,
 | 
						|
						1540,
 | 
						|
						1541,
 | 
						|
						1542,
 | 
						|
						6491,
 | 
						|
						6906,
 | 
						|
						6907,
 | 
						|
						6950,
 | 
						|
						6970
 | 
						|
					)
 | 
						|
				)
 | 
						|
				OR Tipusa BETWEEN 5450 AND 5481
 | 
						|
				OR Tipusa BETWEEN 6312 AND 6328
 | 
						|
				OR Tipusa BETWEEN 6870 AND 6875
 | 
						|
				OR Tipusa BETWEEN 6945 AND 6947
 | 
						|
	)
 | 
						|
	ORDER BY dbo.fnGetDokumentumDatumFormatum(Datum)
 | 
						|
 | 
						|
  /* TANULO mulasztása */
 | 
						|
	EXEC sp_GetDokumentumMulasztasokIdoszakonkent
 | 
						|
		@tanevId					= @tanevId,
 | 
						|
		@osztalyCsoportId			= @osztalyId,
 | 
						|
		@iskolaErdekuSzamit			= @iskolaErdekuSzamit,
 | 
						|
		@isReszletesMulasztasok		= @isReszletesMulasztasok
 | 
						|
 | 
						|
  /*gondviselo elérhetoségei */
 | 
						|
 | 
						|
	SELECT DISTINCT
 | 
						|
		 Gondviselok.TanuloId	Id
 | 
						|
		,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' C_NEV
 | 
						|
		,cim.Cimtipusa		C_CIMTIPUSA
 | 
						|
		,cim.cim			C_OSSZETETTCIM
 | 
						|
		,telefon.telefon	C_TELEFONSZAM
 | 
						|
		,email.emailcim		C_EMAILCIM
 | 
						|
	FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') Gondviselok
 | 
						|
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId
 | 
						|
		LEFT JOIN #EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId
 | 
						|
		LEFT JOIN #GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId
 | 
						|
		LEFT JOIN #GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId
 | 
						|
	WHERE (@tanuloId IS NULL OR Gondviselok.TanuloId = @tanuloId)
 | 
						|
	ORDER BY Cimtipusa
 | 
						|
 | 
						|
  /*TANULÓ osztályzatai*/
 | 
						|
 | 
						|
	CREATE TABLE #Tantargyak(
 | 
						|
  		 ID					INT
 | 
						|
		,C_FOTARGYID		INT
 | 
						|
		,C_NEV				NVARCHAR(255) COLLATE DATABASE_DEFAULT
 | 
						|
		,C_NEVNYOMTATVANYBAN	NVARCHAR(255) COLLATE DATABASE_DEFAULT
 | 
						|
		,C_TARGYKATEGORIA 	INT
 | 
						|
    ,c_tanuloid int
 | 
						|
    ,c_tanulocsoportid  int
 | 
						|
    ,RENDEZ1 int
 | 
						|
    ,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT
 | 
						|
    ,RENDEZ3 int
 | 
						|
    ,RENDEZ4 int
 | 
						|
    ,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT
 | 
						|
		,C_INTEZMENYID	 	INT
 | 
						|
		,C_TANEVID 			INT
 | 
						|
	);
 | 
						|
  --Osztályhoz tartozó értékelések
 | 
						|
EXEC uspGetDokumentumErtekelesekIdoszakonkent
 | 
						|
	@tanevId						= @tanevId,
 | 
						|
	@osztalyCsoportId				= @osztalyId,
 | 
						|
	@ertekelesTipusa				= NULL,
 | 
						|
	@csakTanorai					= 1,
 | 
						|
	@csakKivalasztottOsztalyCsoport	= 0,
 | 
						|
	@atsoroltTanuloErtekelesek		= 0,
 | 
						|
	@fuggolegesTantargyak			= @fuggolegesTantargyak,
 | 
						|
    @intezmenyId                    = @intezmenyId
 | 
						|
 | 
						|
  /* TANULÓ záradékai */
 | 
						|
  CREATE TABLE #Zaradekok(
 | 
						|
     TanuloId int 
 | 
						|
    ,TanuloCsoportId int
 | 
						|
    ,Bejegyzes nvarchar(max)
 | 
						|
    ,BejegyzesIdegenNyelven nvarchar(max)
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #Zaradekok (
 | 
						|
     TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,Bejegyzes
 | 
						|
    ,BejegyzesIdegenNyelven
 | 
						|
  ) EXEC dbo.uspGetDokumentumTanuloZaradekai
 | 
						|
     @tanevId = @tanevId
 | 
						|
    ,@osztalyId = @osztalyId
 | 
						|
    ,@kellVegzaradek = 1
 | 
						|
    ,@kellAtsorolasiZaradek = 1
 | 
						|
    ,@idegenNyelvId = 0
 | 
						|
 | 
						|
  SELECT
 | 
						|
     TanuloId
 | 
						|
    ,TanuloCsoportId
 | 
						|
    ,Bejegyzes AS Zaradek
 | 
						|
  FROM #Zaradekok
 | 
						|
  WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
  /*Szöveges minosítések*/
 | 
						|
	SELECT
 | 
						|
		 a.tanuloId
 | 
						|
		,a.TanuloCsoportId
 | 
						|
		,a.Honap
 | 
						|
		,a.Tantargy
 | 
						|
		,a.Ertekeles
 | 
						|
		,a.Tipus
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT
 | 
						|
		s.id tanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,szoveges.Honap
 | 
						|
		,szoveges.Tantargy
 | 
						|
		,szoveges.Ertekeles
 | 
						|
		,szoveges.Tipus
 | 
						|
		,szoveges.RendezHonap
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
	INNER JOIN (SELECT
 | 
						|
					TanuloId tanuloId
 | 
						|
					,TanuloCsoportId
 | 
						|
					,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
 | 
						|
					,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) Tantargy
 | 
						|
					,ErtekelesSzovegFormazott + ISNULL(' *' + ErtekelesTema, '')			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
 | 
						|
					ErtekelesSzovegFormazott IS NOT NULL
 | 
						|
			) szoveges on szoveges.TANULOID=s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
 | 
						|
	UNION
 | 
						|
	SELECT
 | 
						|
		 s.id tanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,szoveges.Honap
 | 
						|
		,szoveges.Tantargy
 | 
						|
		,szoveges.Ertekeles
 | 
						|
		,szoveges.Tipus
 | 
						|
		,szoveges.RendezHonap
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
	INNER JOIN (SELECT
 | 
						|
					 ErtekelesTemp.TanuloId tanuloId
 | 
						|
					,ErtekelesTemp.TanuloCsoportId
 | 
						|
					,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
 | 
						|
					,'Magatartás' Tantargy
 | 
						|
					,ErtekelesTemp.MagatartasSzovegFormazott + ISNULL(' *' + ErtekelesTema, '')	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
 | 
						|
					ErtekelesTemp.MagatartasSzovegFormazott IS NOT NULL
 | 
						|
			) szoveges on szoveges.TANULOID=s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
 | 
						|
	UNION
 | 
						|
	SELECT
 | 
						|
		 s.id tanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,szoveges.Honap
 | 
						|
		,szoveges.Tantargy
 | 
						|
		,szoveges.Ertekeles
 | 
						|
		,szoveges.Tipus
 | 
						|
		,szoveges.RendezHonap
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
	INNER JOIN (SELECT
 | 
						|
					ErtekelesTemp.TanuloId tanuloId
 | 
						|
					,TanuloCsoportId
 | 
						|
					,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
 | 
						|
					,'Szorgalom' Tantargy
 | 
						|
					,ErtekelesTemp.SzorgalomSzovegFormazott	+ ISNULL(' *' + ErtekelesTema, '')			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
 | 
						|
					ErtekelesTemp.SzorgalomSzovegFormazott IS NOT NULL
 | 
						|
			) szoveges on szoveges.TANULOID = s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
 | 
						|
	)a
 | 
						|
	ORDER BY RendezHonap, Tantargy
 | 
						|
 | 
						|
--Közösségi szolgálat
 | 
						|
	SELECT
 | 
						|
		 TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,Datum
 | 
						|
		,ISNULL(' - ' + Megjegyzes, '') Megjegyzes
 | 
						|
		,Oraszam
 | 
						|
		,TeljesitesHelye
 | 
						|
		,FeljegyzoNeve
 | 
						|
		,Tipus
 | 
						|
	FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId, 0) KozossegiSzolgalat
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
	ORDER BY IntervallumKezdete
 | 
						|
 | 
						|
--Félévi, év végi mulasztások
 | 
						|
	CREATE TABLE #FeleviMulasztasok (
 | 
						|
		TanuloId  int
 | 
						|
		,TanuloCsoportId  int
 | 
						|
		,Igazolt  int
 | 
						|
		,Igazolatlan  int
 | 
						|
		,ElmeletIgazolt int
 | 
						|
		,ElmeletIgazolatlan int
 | 
						|
		,GyakorlatIgazolt int
 | 
						|
		,GyakorlatIgazolatlan	int
 | 
						|
		,ElmeletOsszes  int
 | 
						|
		,GyakorlatOsszes  int
 | 
						|
		,Osszes int
 | 
						|
		)
 | 
						|
 | 
						|
	INSERT INTO #FeleviMulasztasok
 | 
						|
	EXEC sp_GetDokumentumMulasztasok
 | 
						|
		@osztalyId  = @osztalyId,
 | 
						|
		@tanevId  = @tanevId,
 | 
						|
		@elmeletiOraPercben = 45,
 | 
						|
		@gyakorlatiOraPercben = 45,
 | 
						|
		@ertekelesTipus = 1519,
 | 
						|
		@iskolaErdekuSzamit = @iskolaErdekuSzamit
 | 
						|
 | 
						|
  CREATE TABLE #EvVegiMulasztasok (
 | 
						|
     TanuloId  int
 | 
						|
		,TanuloCsoportId  int
 | 
						|
		,Igazolt  int
 | 
						|
		,Igazolatlan  int
 | 
						|
		,ElmeletIgazolt int
 | 
						|
		,ElmeletIgazolatlan int
 | 
						|
		,GyakorlatIgazolt int
 | 
						|
		,GyakorlatIgazolatlan int
 | 
						|
		,ElmeletOsszes  int
 | 
						|
		,GyakorlatOsszes  int
 | 
						|
		,Osszes int
 | 
						|
		)
 | 
						|
 | 
						|
	INSERT INTO #EvVegiMulasztasok
 | 
						|
	EXEC sp_GetDokumentumMulasztasok
 | 
						|
		@osztalyId  = @osztalyId,
 | 
						|
		@tanevId  = @tanevId,
 | 
						|
		@elmeletiOraPercben = 45,
 | 
						|
		@gyakorlatiOraPercben	 = 45,
 | 
						|
		@ertekelesTipus = 1520,
 | 
						|
		@iskolaErdekuSzamit = @iskolaErdekuSzamit
 | 
						|
 | 
						|
	SELECT
 | 
						|
		TanuloAlapAdatok.tanuloId AS TanuloId
 | 
						|
		,ISNULL(FeleviMulasztasok.ElmeletIgazolt, 0) AS FeleviElmeletIgazolt
 | 
						|
		,ISNULL(FeleviMulasztasok.ElmeletIgazolatlan, 0) AS FeleviElmeletIgazolatlan
 | 
						|
		,ISNULL(FeleviMulasztasok.GyakorlatIgazolT, 0) AS FeleviGyakorlatIgazolt
 | 
						|
		,ISNULL(FeleviMulasztasok.GyakorlatIgazolatlan, 0) AS FeleviGyakorlatIgazolatlan
 | 
						|
		,ISNULL(FeleviMulasztasok.ElmeletIgazolt + FeleviMulasztasok.ElmeletIgazolatlan, 0) AS FeleviElmelet
 | 
						|
		,ISNULL(FeleviMulasztasok.GyakorlatIgazolt + FeleviMulasztasok.GyakorlatIgazolatlan, 0) AS FeleviGyakorlat
 | 
						|
		,ISNULL(EvVegiMulasztasok.ElmeletIgazolt, 0) AS EvVegiElmeletIgazolt
 | 
						|
		,ISNULL(EvVegiMulasztasok.ElmeletIgazolatlan, 0) AS EvVegiElmeletIgazolatlan
 | 
						|
		,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt, 0) AS EvVegiGyakorlatIgazolt
 | 
						|
		,ISNULL(EvVegiMulasztasok.GyakorlatIgazolatlan, 0) AS EvVegiGyakorlatIgazolatlan
 | 
						|
		,ISNULL(EvVegiMulasztasok.ElmeletIgazolt + EvVegiMulasztasok.ElmeletIgazolatlan, 0) AS EvVegiElmelet
 | 
						|
		,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt + EvVegiMulasztasok.GyakorlatIgazolatlan, 0) AS EvVegiGyakorlat
 | 
						|
		,ISNULL(FeleviMulasztasok.Osszes, 0) AS FeleviOsszes
 | 
						|
		,ISNULL(FeleviMulasztasok.Igazolt, 0) AS FeleviIgazolt
 | 
						|
		,ISNULL(FeleviMulasztasok.Igazolatlan, 0) AS FeleviIgazolatlan
 | 
						|
		,ISNULL(EvVegiMulasztasok.Osszes, 0) AS EvVegiOsszes
 | 
						|
		,ISNULL(EvVegiMulasztasok.Igazolt, 0) AS EvVegiIgazolt
 | 
						|
		,ISNULL(EvVegiMulasztasok.Igazolatlan, 0) AS EvVegiIgazolatlan
 | 
						|
		,oktAzon AS oktAzon
 | 
						|
		,tanuloNeve AS tanuloNeve
 | 
						|
	FROM #TanuloAlapAdatok TanuloAlapAdatok
 | 
						|
		LEFT JOIN #EvVegiMulasztasok EvVegiMulasztasok ON EvVegiMulasztasok.TanuloId = TanuloAlapAdatok.TanuloId AND EvVegiMulasztasok.TanuloCsoportId = TanuloAlapAdatok.TanuloCsoportId
 | 
						|
		LEFT JOIN #FeleviMulasztasok FeleviMulasztasok ON FeleviMulasztasok.TanuloId = TanuloAlapAdatok.TanuloId AND FeleviMulasztasok.TanuloCsoportId = TanuloAlapAdatok.TanuloCsoportId
 | 
						|
	ORDER BY tanuloNeve
 | 
						|
 | 
						|
	--értékelésekhez tartozó feljegyzések 1. félév
 | 
						|
	SELECT DISTINCT
 | 
						|
		TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,STUFF((SELECT DISTINCT ', ' +  JelolesAndErtekelesTema
 | 
						|
					FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
 | 
						|
				WHERE
 | 
						|
					LEN(JelolesAndErtekelesTema) > 0
 | 
						|
					AND Datum <= @FelevVege
 | 
						|
					AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
 | 
						|
					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 Datum <= @FelevVege
 | 
						|
			AND (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
 | 
						|
 | 
						|
	--értékelésekhez tartozó feljegyzések 2. félév
 | 
						|
	SELECT DISTINCT
 | 
						|
		TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,STUFF((SELECT DISTINCT ', ' +  JelolesAndErtekelesTema
 | 
						|
					FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
 | 
						|
				WHERE
 | 
						|
					LEN(JelolesAndErtekelesTema) > 0
 | 
						|
					AND Datum >= @FelevVege
 | 
						|
					AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
 | 
						|
					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 Datum >= @FelevVege
 | 
						|
			AND (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
 | 
						|
 | 
						|
	--értékelésekhez tartozó feljegyzések
 | 
						|
	SELECT DISTINCT
 | 
						|
		TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,STUFF((SELECT DISTINCT ', ' +  JelolesAndErtekelesTema
 | 
						|
					FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
 | 
						|
				WHERE
 | 
						|
					LEN(JelolesAndErtekelesTema) > 0
 | 
						|
					AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
 | 
						|
					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)
 | 
						|
 | 
						|
	--összefüggo szakmai gyakorlat
 | 
						|
	SELECT
 | 
						|
		 TanuloId
 | 
						|
		,TanuloCsoportId
 | 
						|
		,isTeljesitett
 | 
						|
		,Ertekeles
 | 
						|
		,Megjegyzes
 | 
						|
		,Datum
 | 
						|
	FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@tanevId, @osztalyId)
 | 
						|
	WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
 | 
						|
 | 
						|
	--Tanuló tanult tantárgyai
 | 
						|
   	SELECT DISTINCT
 | 
						|
		 TANULO.ID						TanuloId
 | 
						|
		,TANULO.TanuloCsoportId			TanuloCsoportId
 | 
						|
		,STUFF((SELECT ', ' + '¤' + IIF(LEN(TANTARGYAK.C_NEV) > 128, SUBSTRING(TANTARGYAK.C_NEV,1,120) + '...', TANTARGYAK.C_NEV) + '¤' TantargyNev
 | 
						|
					FROM #Tantargyak TANTARGYAK
 | 
						|
          LEFT JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = TANTARGYAK.c_tanuloid AND tcs.C_OSZTALYCSOPORTID = @osztalyId
 | 
						|
					WHERE
 | 
						|
						TANTARGYAK.c_tanuloid = TANULO.Id
 | 
						|
						AND tcs.ID = TANULO.TanuloCsoportId
 | 
						|
                        AND TANTARGYAK.C_NEV NOT IN ('Magatartás', 'Szorgalom')
 | 
						|
					ORDER BY TANTARGYAK.C_NEV
 | 
						|
						FOR XML PATH(''), TYPE)
 | 
						|
				.value('.','NVARCHAR(MAX)'),1,2,'')  TantargyNev
 | 
						|
	FROM #studentsWithTanuloCsoport TANULO
 | 
						|
-- Osztály és csoportok a naplóban, az iktatáskor szükséges többszörös Csoport név kulcsszóhoz
 | 
						|
	select * from #osztalycsoportok where OsztalyCsoportId != @osztalyId;
 | 
						|
 | 
						|
	-- gyors feljegyzés statisztikák
 | 
						|
	-- Házifeladat hiány
 | 
						|
	SELECT
 | 
						|
		 s.ID AS TanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,feljegyzes.Tantargy
 | 
						|
		,feljegyzes.Szeptember
 | 
						|
		,feljegyzes.Oktober
 | 
						|
		,feljegyzes.November
 | 
						|
		,feljegyzes.December
 | 
						|
		,feljegyzes.Januar
 | 
						|
		,feljegyzes.Februar
 | 
						|
		,feljegyzes.Marcius
 | 
						|
		,feljegyzes.Aprilis
 | 
						|
		,feljegyzes.Majus
 | 
						|
		,feljegyzes.Junius
 | 
						|
		,feljegyzes.Felev
 | 
						|
		,feljegyzes.Ossz
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
    CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6325, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
 | 
						|
	WHERE feljegyzes.TanuloId = s.ID
 | 
						|
 | 
						|
	-- Felszerelés hiány
 | 
						|
	SELECT
 | 
						|
		 s.ID AS TanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,feljegyzes.Tantargy
 | 
						|
		,feljegyzes.Szeptember
 | 
						|
		,feljegyzes.Oktober
 | 
						|
		,feljegyzes.November
 | 
						|
		,feljegyzes.December
 | 
						|
		,feljegyzes.Januar
 | 
						|
		,feljegyzes.Februar
 | 
						|
		,feljegyzes.Marcius
 | 
						|
		,feljegyzes.Aprilis
 | 
						|
		,feljegyzes.Majus
 | 
						|
		,feljegyzes.Junius
 | 
						|
		,feljegyzes.Felev
 | 
						|
		,feljegyzes.Ossz
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
    CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6324, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
 | 
						|
	WHERE feljegyzes.TanuloId = s.ID
 | 
						|
 | 
						|
	-- Felmentés
 | 
						|
	SELECT
 | 
						|
		 s.ID AS TanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,feljegyzes.Tantargy
 | 
						|
		,feljegyzes.Szeptember
 | 
						|
		,feljegyzes.Oktober
 | 
						|
		,feljegyzes.November
 | 
						|
		,feljegyzes.December
 | 
						|
		,feljegyzes.Januar
 | 
						|
		,feljegyzes.Februar
 | 
						|
		,feljegyzes.Marcius
 | 
						|
		,feljegyzes.Aprilis
 | 
						|
		,feljegyzes.Majus
 | 
						|
		,feljegyzes.Junius
 | 
						|
		,feljegyzes.Felev
 | 
						|
		,feljegyzes.Ossz
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
    CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1542, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
 | 
						|
	WHERE feljegyzes.TanuloId = s.ID
 | 
						|
 | 
						|
	--Dicséret
 | 
						|
	SELECT
 | 
						|
		 s.ID AS TanuloId
 | 
						|
		,s.TanuloCsoportId
 | 
						|
		,feljegyzes.Tantargy
 | 
						|
		,feljegyzes.Szeptember
 | 
						|
		,feljegyzes.Oktober
 | 
						|
		,feljegyzes.November
 | 
						|
		,feljegyzes.December
 | 
						|
		,feljegyzes.Januar
 | 
						|
		,feljegyzes.Februar
 | 
						|
		,feljegyzes.Marcius
 | 
						|
		,feljegyzes.Aprilis
 | 
						|
		,feljegyzes.Majus
 | 
						|
		,feljegyzes.Junius
 | 
						|
		,feljegyzes.Felev
 | 
						|
		,feljegyzes.Ossz
 | 
						|
	FROM #studentsWithTanuloCsoport s
 | 
						|
    CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1536, 1, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
 | 
						|
	WHERE feljegyzes.TanuloId = s.ID
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
GO |