104 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL
 | 
						|
BEGIN
 | 
						|
	DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyId INT)
 | 
						|
RETURNS TABLE
 | 
						|
RETURN (
 | 
						|
	SELECT 
 | 
						|
		 tanuloErtekeles.C_DATUM																				Datum
 | 
						|
		,tanuloErtekeles.C_TIPUSID																				TipusId
 | 
						|
		,tanuloErtekeles.C_ERTEKELESSZOVEG																		ErtekelesSzoveg
 | 
						|
		,tanuloErtekeles.C_ERTEKELESOSZTALYZATID																ErtekelesOsztalyzatId
 | 
						|
		,ertekelesOsztalyzat.C_VALUE																			ErtekelesOsztalyzatValue
 | 
						|
		,ertekelesOsztalyzat.C_NAME																			    ErtekelesOsztalyzatNev
 | 
						|
		,IIF(tanuloErtekeles.C_ERTEKELESSZAZALEK IS NOT NULL													--
 | 
						|
			,CONVERT(NVARCHAR(3), tanuloErtekeles.C_ERTEKELESSZAZALEK) + '%'									--
 | 
						|
			,NULL)																								ErtekelesSzazalek
 | 
						|
		,tanuloErtekeles.C_MAGATARTASOSZTALYZATID																MagatartasOsztalyzatId
 | 
						|
		,magatartasOsztalyzat.C_VALUE																			MagatartasOsztalyzatValue
 | 
						|
		,magatartasOsztalyzat.C_NAME																			MagatartasOsztalyzatNev
 | 
						|
		,tanuloErtekeles.C_MAGATARTASSZOVEG																		MagatartasSzoveg
 | 
						|
		,tanuloErtekeles.C_MAGATARTASERTEKID																	MagatartasErtekId
 | 
						|
		,magatartasErtek.C_NAME																					MagatartasErtek
 | 
						|
		,tanuloErtekeles.C_SZORGALOMOSZTALYZATID																SzorgalomOsztalyzatId
 | 
						|
		,szorgalomOsztalyzat.C_VALUE																			SzorgalomOsztalyzatValue
 | 
						|
		,szorgalomOsztalyzat.C_NAME																				SzorgalomOsztalyzatNev
 | 
						|
		,tanuloErtekeles.C_SZORGALOMSZOVEG																		SzorgalomSzoveg
 | 
						|
		,tanuloErtekeles.C_SZORGALOMERTEKID																		SzorgalomErtekId
 | 
						|
		,szorgalomErtek.C_NAME																					SzorgalomErtek
 | 
						|
		,tanuloErtekeles.C_TANULOID																				TanuloId
 | 
						|
		,tanuloErtekeles.C_OSZTALYCSOPORTID																		OsztalyCsoportId
 | 
						|
		,tanuloErtekeles.C_TANTARGYID																			TantargyId
 | 
						|
		,IIF(tantargy.C_NEV <> tantargy.C_NEVNYOMTATVANYBAN AND tantargy.C_NEVNYOMTATVANYBAN IS NOT NULL		--
 | 
						|
			,C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')'													--
 | 
						|
			,tantargy.C_NEV)																					TantargyNevZarojellel
 | 
						|
		,tantargy.C_NEV																							TantargyNev
 | 
						|
		,tantargy.C_NEVNYOMTATVANYBAN																			TantargyNevNyomtatvanyban
 | 
						|
		,tantargy.C_TARGYKATEGORIA																				TargyKategoriaId
 | 
						|
		,tantargy.C_FOTARGYE																					FotargyE
 | 
						|
		,tantargy.C_FOTARGYID																					FotargyId
 | 
						|
		,tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN																Altantargy
 | 
						|
		,tanuloErtekeles.C_ERTEKELESTEMA																		ErtekelesTema
 | 
						|
		,IIF(																									--
 | 
						|
			tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520), '<i>(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>', ''
 | 
						|
		 )																										Jeloles
 | 
						|
		,IIF(																									--
 | 
						|
			tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520), '<i>(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>: ' + tanuloErtekeles.C_ERTEKELESTEMA, ''
 | 
						|
		 )																										JelolesAndErtekelesTema 
 | 
						|
		 ,tanuloErtekeles.C_ISMAGATARTASSZORGALOM																isMagatartasSzorgalom
 | 
						|
	FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles
 | 
						|
		INNER JOIN 
 | 
						|
			fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulo ON 
 | 
						|
				tanulo.TanuloId = tanuloErtekeles.C_TANULOID
 | 
						|
		LEFT JOIN 
 | 
						|
			T_TANTARGY_OSSZES tantargy ON 
 | 
						|
					tantargy.Id = tanuloErtekeles.C_TANTARGYID
 | 
						|
				AND (tantargy.C_TARGYKATEGORIA <> 1248 OR tantargy.C_TARGYKATEGORIA IS NULL)
 | 
						|
		LEFT JOIN 
 | 
						|
			T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON 
 | 
						|
					ertekelesOsztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID 
 | 
						|
				AND ertekelesOsztalyzat.C_TANEVID = @tanevId
 | 
						|
				AND ertekelesOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
 | 
						|
		LEFT JOIN 
 | 
						|
			T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON 
 | 
						|
					magatartasOsztalyzat.ID = tanuloErtekeles.C_MAGATARTASOSZTALYZATID 
 | 
						|
				AND magatartasOsztalyzat.C_TANEVID = @tanevId
 | 
						|
				AND magatartasOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
 | 
						|
		LEFT JOIN 
 | 
						|
			T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON 
 | 
						|
					szorgalomOsztalyzat.ID = tanuloErtekeles.C_SZORGALOMOSZTALYZATID 
 | 
						|
				AND szorgalomOsztalyzat.C_TANEVID = @tanevId
 | 
						|
				AND szorgalomOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
 | 
						|
		LEFT JOIN 
 | 
						|
			T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON
 | 
						|
					magatartasErtek.ID = tanuloErtekeles.C_MAGATARTASERTEKID 
 | 
						|
				AND magatartasErtek.C_TANEVID = @tanevId	
 | 
						|
				AND magatartasErtek.C_TYPE LIKE 'MagatartasErtekelesTipus'	
 | 
						|
		LEFT JOIN 
 | 
						|
			T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON
 | 
						|
					szorgalomErtek.ID = tanuloErtekeles.C_SZORGALOMERTEKID 
 | 
						|
				AND szorgalomErtek.C_TANEVID = @tanevId
 | 
						|
				AND szorgalomErtek.C_TYPE LIKE 'SzorgalomErtekelesTipus'
 | 
						|
		LEFT JOIN 
 | 
						|
			T_CSOPORT_OSSZES csoport ON 
 | 
						|
					csoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
 | 
						|
				AND (csoport.ID IS NULL OR csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
 | 
						|
	WHERE
 | 
						|
			tanuloErtekeles.Torolt = 'F'
 | 
						|
		AND tanuloErtekeles.C_DATUM >= BelepesDatum 
 | 
						|
		AND (tanuloErtekeles.C_DATUM <= KilepesDatum OR KilepesDatum IS NULL)		
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
 |