﻿IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL BEGIN
  DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent
END
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyId INT)
  RETURNS TABLE
RETURN (
	SELECT 
		C_ERTEKELESDATUM							Datum
		,C_ERTEKELESTIPUSA							Tipusa
		,C_ERTEKELESSZOVEG							SzovegesErtekeles
		,C_OSZTALYZAT								OsztalyzatId
		,jegy.C_VALUE								Osztalyzat
		,CONVERT(NVARCHAR(MAX),C_SZAZALEK)+' %'		Szazalek
		,C_TANTARGYID								TantargyId
		,C_TARGYKATEGORIA							TargyKategoriaId
		,IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) TantargyNev
		,C_FOTARGYE									FotargyE
		,C_ALTANTARGYKENTNYOMTATVANYBAN				Altantargy
		,te.C_TANULOID								TanuloId
		,te.C_OSZTALYCSOPORTID						OsztalyCsoportId
		,C_SZORGALOM								SzorgalomId
		,C_MAGATARTAS								MagatartasId
		,szorgalom.C_NAME							Szorgalom
		,magatartas.C_NAME							Magatartas
		,C_TEMA										Megjegyzes
	FROM T_TANULOERTEKELES_OSSZES te
		INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulo ON tanulo.TanuloId = te.C_TANULOID
		LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON oe.Id = te.Id
		LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES ofoe ON ofoe.Id = te.Id
		LEFT JOIN T_TANTARGY_OSSZES t ON t.Id = te.C_TANTARGYID
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jegy ON jegy.Id = C_OSZTALYZAT AND jegy.C_TANEVID = @tanevId
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalom ON szorgalom.Id = C_SZORGALOM AND szorgalom.C_TANEVID = @tanevId
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartas ON magatartas.Id = C_MAGATARTAS AND magatartas.C_TANEVID = @tanevId		
	WHERE
		te.Torolt = 'F'
		AND C_ERTEKELESDATUM >= BelepesDatum AND (C_ERTEKELESDATUM <= KilepesDatum OR KilepesDatum IS NULL)		
)
