154 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
-- =============================================
 | 
						|
-- Description:	<Előszedjük a tanuló értékeléseket részletesen>
 | 
						|
-- =============================================
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_GetTanuloErtekelesDetailDataSet]') IS NOT NULL
 | 
						|
BEGIN
 | 
						|
	DROP PROCEDURE [dbo].[sp_GetTanuloErtekelesDetailDataSet]
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanuloErtekelesDetailDataSet]
 | 
						|
	 @pIntezmenyId											INT
 | 
						|
	,@pTanevId												INT
 | 
						|
	,@pTanuloId												INT
 | 
						|
	,@pTantargyId											INT = NULL
 | 
						|
	,@pShowToroltElemek										BIT
 | 
						|
	,@pIsFotargyAltargyLekerdezes							BIT
 | 
						|
	,@pTanarId												INT
 | 
						|
	,@pErtekelesMegjelenesFajtaEnumTantargyId				INT
 | 
						|
	,@pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId	INT
 | 
						|
	,@pErtekelesMegjelenesFajtaEnumTanuloId					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())
 | 
						|
 | 
						|
	SELECT
 | 
						|
		 TanuloErtekeles.ID								ID
 | 
						|
		,TanuloErtekeles.C_DATUM						Datum
 | 
						|
		,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
 | 
						|
		,TanuloCsoport.C_TANULOID						TanuloId
 | 
						|
		,TanariAtlagSuly.C_SULY							Suly
 | 
						|
		,Felhasznalo.C_NYOMTATASINEV					ErtekeloNyomtatasiNev
 | 
						|
		,CASE
 | 
						|
			WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
 | 
						|
				THEN 'T'
 | 
						|
				ELSE 'F'
 | 
						|
		END												Modosithato
 | 
						|
	FROM (
 | 
						|
		SELECT DISTINCT
 | 
						|
			C_TANULOID
 | 
						|
		FROM
 | 
						|
			T_TANULOCSOPORT
 | 
						|
		WHERE
 | 
						|
				TOROLT = 'F'
 | 
						|
			AND C_TANULOID = @pTanuloId
 | 
						|
			AND C_INTEZMENYID = @pIntezmenyId
 | 
						|
			AND C_TANEVID = @pTanevId
 | 
						|
	) AS TanuloCsoport
 | 
						|
		INNER JOIN (
 | 
						|
			SELECT
 | 
						|
				 TanuloErtekeles.ID
 | 
						|
				,TanuloErtekeles.C_DATUM
 | 
						|
				,TanuloErtekeles.C_TIPUSID
 | 
						|
				,TanuloErtekeles.C_ERTEKELESOSZTALYZATID
 | 
						|
				,TanuloErtekeles.C_ERTEKELESSZOVEG
 | 
						|
				,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV
 | 
						|
				,TanuloErtekeles.C_ERTEKELESSZAZALEK
 | 
						|
				,TanuloErtekeles.C_ERTEKELESMODID
 | 
						|
				,TanuloErtekeles.C_ERTEKELESTEMA
 | 
						|
				,TanuloErtekeles.C_MAGATARTASOSZTALYZATID
 | 
						|
				,TanuloErtekeles.C_MAGATARTASSZOVEG
 | 
						|
				,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV
 | 
						|
				,TanuloErtekeles.C_MAGATARTASERTEKID
 | 
						|
				,TanuloErtekeles.C_SZORGALOMOSZTALYZATID
 | 
						|
				,TanuloErtekeles.C_SZORGALOMSZOVEG
 | 
						|
				,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV
 | 
						|
				,TanuloErtekeles.C_SZORGALOMERTEKID
 | 
						|
				,TanuloErtekeles.C_ISMAGATARTASSZORGALOM
 | 
						|
				,TanuloErtekeles.C_OSZTALYCSOPORTID
 | 
						|
				,TanuloErtekeles.C_TANULOID
 | 
						|
				,TanuloErtekeles.C_ERTEKELOID
 | 
						|
				,TanuloErtekeles.C_TANORAID
 | 
						|
				,TanuloErtekeles.TOROLT
 | 
						|
				,TanuloErtekeles.CREATOR
 | 
						|
			FROM
 | 
						|
				T_TANULOERTEKELES_OSSZES TanuloErtekeles
 | 
						|
			INNER JOIN T_OSZTALYCSOPORT Osztaly ON
 | 
						|
					Osztaly.ID					= TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
 | 
						|
				AND	Osztaly.TOROLT				= 'F'
 | 
						|
				AND Osztaly.C_EVFOLYAMTIPUSA	= (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(TanuloErtekeles.C_TANULOID, @pDatum))
 | 
						|
			WHERE
 | 
						|
					(
 | 
						|
					 (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTantargyId AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F' AND TanuloErtekeles.C_TANTARGYID = @pTantargyId) OR
 | 
						|
					 (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T' AND TanuloErtekeles.C_TANTARGYID IS NULL) OR
 | 
						|
					 (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTanuloId AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F' AND @pTantargyId IS NOT NULL AND TanuloErtekeles.C_TANTARGYID = @pTantargyId) OR (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T' AND TanuloErtekeles.C_TANTARGYID IS NULL AND @pTantargyId IS NULL))
 | 
						|
					)
 | 
						|
				--Ha a @pShowToroltElemek változó True, akkor a törölt elemeket is visszaadjuk!
 | 
						|
				AND TanuloErtekeles.TOROLT = IIF(@pShowToroltElemek = 1, TanuloErtekeles.TOROLT, 'F')
 | 
						|
				AND TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
 | 
						|
				AND TanuloErtekeles.C_TANEVID = @pTanevId
 | 
						|
		) AS TanuloErtekeles 
 | 
						|
			ON TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
 | 
						|
		INNER JOIN (
 | 
						|
			SELECT
 | 
						|
				 ID
 | 
						|
				,C_NYOMTATASINEV
 | 
						|
			FROM
 | 
						|
				T_FELHASZNALO
 | 
						|
			WHERE
 | 
						|
					TOROLT = 'F'
 | 
						|
				AND C_INTEZMENYID = @pIntezmenyId
 | 
						|
				AND C_TANEVID = @pTanevId
 | 
						|
		) AS Felhasznalo
 | 
						|
			ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
 | 
						|
		LEFT JOIN (
 | 
						|
			SELECT
 | 
						|
				 C_SULY
 | 
						|
				,C_ERTEKELESMODID
 | 
						|
			FROM
 | 
						|
				T_TANARIATLAGSULY_OSSZES
 | 
						|
			WHERE
 | 
						|
					TOROLT = 'F'
 | 
						|
				AND C_INTEZMENYID = @pIntezmenyId
 | 
						|
				AND C_TANEVID = @pTanevId
 | 
						|
		) AS TanariAtlagSuly ON
 | 
						|
				TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
 | 
						|
			AND	TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
 | 
						|
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |