130 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
-- =============================================
 | 
						|
-- Description:	<Előszedjük a tanuló értékeléseket részletesen>
 | 
						|
-- =============================================
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanuloErtekelesDetailDataSet]
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanuloErtekelesDetailDataSet]
 | 
						|
	 @pIntezmenyId											INT
 | 
						|
	,@pTanevId												INT
 | 
						|
	,@pTanuloId												INT
 | 
						|
	,@pTantargyId											INT = NULL
 | 
						|
	,@pShowToroltElemek										BIT
 | 
						|
	,@pTanarId												INT
 | 
						|
	,@pErtekelesMegjelenesFajtaEnumTantargyId				INT
 | 
						|
	,@pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId	INT
 | 
						|
	,@pErtekelesMegjelenesFajtaId							INT
 | 
						|
	,@pDatum												DATE = NULL
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
 | 
						|
	SET NOCOUNT ON;
 | 
						|
	
 | 
						|
	IF @pDatum IS NULL
 | 
						|
		SET @pDatum = CONVERT(DATE, GETDATE())
 | 
						|
 | 
						|
	DECLARE @evfolyamTipusId INT = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(@pTanuloId, @pDatum))
 | 
						|
 | 
						|
	DECLARE @sql NVARCHAR(MAX)
 | 
						|
 | 
						|
	SET @sql = N'
 | 
						|
		SELECT
 | 
						|
			 TanuloErtekeles.ID								ID
 | 
						|
			,TanuloErtekeles.C_DATUM						Datum
 | 
						|
			,TanuloErtekeles.C_ROGZITESDATUM				RogzitesDatum
 | 
						|
			,TanuloErtekeles.C_TIPUSID						TipusId
 | 
						|
			,TanuloErtekeles.C_TANORAID						TanoraId
 | 
						|
			,TanuloErtekeles.C_ERTEKELESOSZTALYZATID		ErtekelesOsztalyzatId
 | 
						|
			,TanuloErtekeles.C_ERTEKELESSZOVEG				ErtekelesSzoveg
 | 
						|
			,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV		ErtekelesSzovegRovidNev
 | 
						|
			,TanuloErtekeles.C_ERTEKELESSZAZALEK			ErtekelesSzazalek
 | 
						|
			,TanuloErtekeles.C_ERTEKELESMODID				ErtekelesModId
 | 
						|
			,TanuloErtekeles.C_ERTEKELESTEMA				ErtekelesTema
 | 
						|
			,TanuloErtekeles.C_MAGATARTASOSZTALYZATID		MagatartasOsztalyzatId
 | 
						|
			,TanuloErtekeles.C_MAGATARTASSZOVEG				MagatartasSzoveg
 | 
						|
			,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV		MagatartasSzovegRovidNev
 | 
						|
			,TanuloErtekeles.C_MAGATARTASERTEKID			MagatartasErtekId
 | 
						|
			,TanuloErtekeles.C_SZORGALOMOSZTALYZATID		SzorgalomOsztalyzatId
 | 
						|
			,TanuloErtekeles.C_SZORGALOMSZOVEG				SzorgalomSzoveg
 | 
						|
			,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV		SzorgalomSzovegRovidNev
 | 
						|
			,TanuloErtekeles.C_SZORGALOMERTEKID				SzorgalomErtekId
 | 
						|
			,TanuloErtekeles.C_ISMAGATARTASSZORGALOM		IsMagatartasSzorgalom
 | 
						|
			,TanuloErtekeles.TOROLT							Torolt
 | 
						|
			,TanuloErtekeles.C_TANULOID						TanuloId
 | 
						|
			,TanariAtlagSuly.C_SULY							Suly
 | 
						|
			,Felhasznalo.C_NYOMTATASINEV					ErtekeloNyomtatasiNev
 | 
						|
			,CASE
 | 
						|
				WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
 | 
						|
					THEN ''T''
 | 
						|
					ELSE ''F''
 | 
						|
			END												Modosithato
 | 
						|
		FROM 
 | 
						|
			T_TANULOERTEKELES_OSSZES AS TanuloErtekeles 
 | 
						|
		
 | 
						|
		INNER JOIN 
 | 
						|
			T_OSZTALYCSOPORT Osztaly ON
 | 
						|
					Osztaly.ID								= TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
 | 
						|
				AND	Osztaly.TOROLT							= ''F''
 | 
						|
				AND Osztaly.C_INTEZMENYID					= @pIntezmenyId
 | 
						|
				AND Osztaly.C_TANEVID						= @pTanevId
 | 
						|
				AND Osztaly.C_EVFOLYAMTIPUSA				= @evfolyamTipusId
 | 
						|
		INNER JOIN 
 | 
						|
			T_FELHASZNALO_OSSZES AS Felhasznalo ON
 | 
						|
					Felhasznalo.TOROLT						= ''F''
 | 
						|
				AND Felhasznalo.C_INTEZMENYID				= @pIntezmenyId
 | 
						|
				AND Felhasznalo.C_TANEVID					= @pTanevId
 | 
						|
				AND Felhasznalo.ID							= TanuloErtekeles.C_ERTEKELOID
 | 
						|
		LEFT JOIN 
 | 
						|
			T_TANARIATLAGSULY_OSSZES AS TanariAtlagSuly ON
 | 
						|
					TanariAtlagSuly.TOROLT					= ''F''
 | 
						|
				AND TanariAtlagSuly.C_INTEZMENYID			= @pIntezmenyId
 | 
						|
				AND TanariAtlagSuly.C_TANEVID				= @pTanevId
 | 
						|
				AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F''
 | 
						|
				AND	TanariAtlagSuly.C_ERTEKELESMODID		= TanuloErtekeles.C_ERTEKELESMODID
 | 
						|
		WHERE	
 | 
						|
					--Ha a @pShowToroltElemek változó True, akkor a törölt elemeket is visszaadjuk!
 | 
						|
					TanuloErtekeles.TOROLT					= IIF(@pShowToroltElemek = 1, TanuloErtekeles.TOROLT, ''F'')
 | 
						|
				AND TanuloErtekeles.C_INTEZMENYID			= @pIntezmenyId
 | 
						|
				AND TanuloErtekeles.C_TANEVID				= @pTanevId
 | 
						|
				AND TanuloErtekeles.C_TANULOID				= @pTanuloId
 | 
						|
	' + 
 | 
						|
	CASE
 | 
						|
		WHEN @pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTantargyId
 | 
						|
		THEN N' AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F'' AND TanuloErtekeles.C_TANTARGYID = @pTantargyId)' 
 | 
						|
		WHEN @pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId
 | 
						|
		THEN N' AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''T'' AND TanuloErtekeles.C_TANTARGYID IS NULL)'
 | 
						|
		ELSE N' AND ((TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F''AND TanuloErtekeles.C_TANTARGYID = @pTantargyId AND @pTantargyId IS NOT NULL) OR 
 | 
						|
					(TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''T'' AND TanuloErtekeles.C_TANTARGYID IS NULL AND @pTantargyId IS NULL))'
 | 
						|
	END
 | 
						|
	+ ' ORDER BY
 | 
						|
			 Datum DESC
 | 
						|
			,RogzitesDatum DESC'
 | 
						|
 | 
						|
	EXEC sp_executesql @sql, N'
 | 
						|
		 @pIntezmenyId		INT
 | 
						|
		,@pTanevId			INT
 | 
						|
		,@pTanuloId			INT
 | 
						|
		,@pTantargyId		INT = NULL
 | 
						|
		,@pShowToroltElemek	BIT
 | 
						|
		,@pTanarId			INT
 | 
						|
		,@evfolyamTipusId	INT'
 | 
						|
		,@pIntezmenyId		= @pIntezmenyId
 | 
						|
		,@pTanevId			= @pTanevId
 | 
						|
		,@pTanuloId			= @pTanuloId
 | 
						|
		,@pTantargyId		= @pTantargyId
 | 
						|
		,@pShowToroltElemek = @pShowToroltElemek
 | 
						|
		,@pTanarId			= @pTanarId
 | 
						|
		,@evfolyamTipusId	= @evfolyamTipusId
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |