127 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
GO
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('sp_GetDokumentumErtekelesek') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE [sp_GetDokumentumErtekelesek] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_GetDokumentumErtekelesek
 | 
						|
	@osztalyId int,
 | 
						|
	@tanevId   int,
 | 
						|
	@ertekelesTipus int,
 | 
						|
	@isBizonyitvany int = 0
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
	
 | 
						|
--Osztályhoz tartozó tanulók
 | 
						|
	DECLARE @Tanulok TABLE (TanuloId INT PRIMARY KEY)
 | 
						|
	INSERT INTO @Tanulok
 | 
						|
	SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') 
 | 
						|
 | 
						|
--Tanulóhoz kapcsolódó óraszámok
 | 
						|
	DECLARE @Oraszamok TABLE (TanuloId int, Tantargy INT, Oraszam INT)
 | 
						|
 | 
						|
	INSERT INTO @Oraszamok
 | 
						|
	SELECT * FROM fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@tanevId, @osztalyId)
 | 
						|
 | 
						|
--Értékelések	
 | 
						|
	SELECT 
 | 
						|
		ERTEKELES.C_TANULOID	TANULOID
 | 
						|
		, 'MAGATARTAS'			TARGY
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) Ertekeles
 | 
						|
		, NULL					Jegyzet
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) ErtekelesJegyzettel
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) SzovegesErtekeles
 | 
						|
		, NULL					Oraszam
 | 
						|
		, 1						RENDEZ
 | 
						|
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
 | 
						|
		INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID 
 | 
						|
		INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID 
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_MAGATARTAS AND ERT.C_TANEVID = @tanevId
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON JEGY.ID=ERTEKELES.C_OSZTALYZAT AND JEGY.C_TANEVID = @tanevId
 | 
						|
	WHERE 
 | 
						|
		ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
 | 
						|
		AND ERTEKELES.C_TANEVID = @tanevId
 | 
						|
		AND ERTEKELES.TOROLT='F'
 | 
						|
		AND OSZTALYZAT.TOROLT = 'F'
 | 
						|
		AND C_ERTEKELESSZOVEG IS NULL
 | 
						|
 | 
						|
	UNION
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		ERTEKELES.C_TANULOID	TANULOID
 | 
						|
		, 'SZORGALOM'			TARGY
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) Ertekeles
 | 
						|
		, NULL					Jegyzet
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) ErtekelesJegyzettel
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) SzovegesErtekeles
 | 
						|
		, NULL					Oraszam
 | 
						|
		, 2						RENDEZ
 | 
						|
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
 | 
						|
		INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID 
 | 
						|
		INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID 
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_SZORGALOM AND ERT.C_TANEVID = @tanevId
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON JEGY.ID=ERTEKELES.C_OSZTALYZAT AND JEGY.C_TANEVID = @tanevId
 | 
						|
	WHERE 
 | 
						|
		 ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
 | 
						|
		AND ERTEKELES.C_TANEVID = @TanevId
 | 
						|
		AND ERTEKELES.TOROLT='F'
 | 
						|
		AND OSZTALYZAT.TOROLT = 'F'
 | 
						|
		AND C_ERTEKELESSZOVEG IS NULL
 | 
						|
 | 
						|
	UNION
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		ERTEKELES.C_TANULOID				TANULOID
 | 
						|
		, 'Magatartás / Szorgalom'			TARGY
 | 
						|
		, ERTEKELES.C_ERTEKELESSZOVEG Ertekeles
 | 
						|
		, NULL					Jegyzet
 | 
						|
		, ERTEKELES.C_ERTEKELESSZOVEG ErtekelesJegyzettel
 | 
						|
		, ERTEKELES.C_ERTEKELESSZOVEG SzovegesErtekeles
 | 
						|
		, NULL					Oraszam
 | 
						|
		, 3						RENDEZ
 | 
						|
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
 | 
						|
		INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID 
 | 
						|
		INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID 
 | 
						|
	WHERE 
 | 
						|
		 ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
 | 
						|
		AND ERTEKELES.C_TANEVID = @TanevId
 | 
						|
		AND ERTEKELES.TOROLT='F'
 | 
						|
		AND OSZTALYZAT.TOROLT = 'F'
 | 
						|
		AND C_ERTEKELESSZOVEG IS NOT NULL
 | 
						|
 | 
						|
	UNION 
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		ERTEKELES.C_TANULOID									TANULOID
 | 
						|
		, ISNULL(TARGY.C_NEVNYOMTATVANYBAN, TARGY.TARGYNEV)	TARGY
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % '))	Ertekeles	   
 | 
						|
		, ertekelesMegjegyzes.C_TEMA							Jegyzet
 | 
						|
		, ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % ')) + IIF(ertekelesMegjegyzes.C_TEMA IS NULL, '', +' * '+ertekelesMegjegyzes.C_TEMA) ErtekelesJegyzettel
 | 
						|
		, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, ERT.C_NAME)	SzovegesErtekeles
 | 
						|
		, Oraszam											Oraszam
 | 
						|
		, TARGY.KAT											RENDEZ
 | 
						|
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
 | 
						|
		INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID 
 | 
						|
		INNER JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT, C_ALTANTARGYKENTNYOMTATVANYBAN, C_FOTARGYE, C_NEVNYOMTATVANYBAN FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY 
 | 
						|
													ON TARGY.ID = ERTEKELES.C_TANTARGYID
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT AND ERT.C_TANEVID = @tanevId
 | 
						|
		LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
 | 
						|
		LEFT JOIN @Oraszamok oraszam ON oraszam.Tantargy = ERTEKELES.C_TANTARGYID AND oraszam.TanuloId = ERTEKELES.C_TANULOID
 | 
						|
	WHERE 	
 | 
						|
		ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus 
 | 
						|
		AND ERTEKELES.C_TANEVID = @tanevId
 | 
						|
		AND ERTEKELES.TOROLT='F'
 | 
						|
		AND (TARGY.C_FOTARGYE = 'T' OR TARGY.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
 | 
						|
	ORDER BY TANULOID, RENDEZ
 | 
						|
	
 | 
						|
END
 | 
						|
 | 
						|
GO |