189 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
GO
 | 
						|
 | 
						|
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('sp_GetTorzslap') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE [sp_GetTorzslap] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [sp_GetTorzslap]
 | 
						|
	@osztalyId int,
 | 
						|
	@tanevId	int,
 | 
						|
	@ertekelesTipus int,
 | 
						|
	@kesesTipus int,
 | 
						|
	@elmeletiOraPercben int = 45,
 | 
						|
    @gyakorlatiOraPercben int = 60,
 | 
						|
	@hatarozatTipus int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	--Intézmény, tanév
 | 
						|
	SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam, 
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod,
 | 
						|
		T_TANEV_OSSZES.C_NEV TANEV
 | 
						|
	FROM T_INTEZMENYADATOK_OSSZES
 | 
						|
		INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.TOROLT = 'F'
 | 
						|
	WHERE T_TANEV_OSSZES.ID = @tanevId
 | 
						|
 | 
						|
	--Osztály, évfolyam
 | 
						|
	SELECT 
 | 
						|
		T_OSZTALYCSOPORT_OSSZES.C_NEV,
 | 
						|
		T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA
 | 
						|
	FROM T_OSZTALYCSOPORT_OSSZES 
 | 
						|
	WHERE 
 | 
						|
		T_OSZTALYCSOPORT_OSSZES.ID = @osztalyId
 | 
						|
 | 
						|
	--Tanuló adatok
 | 
						|
	DECLARE @NaploSorszam TABLE (
 | 
						|
		TanuloId INT
 | 
						|
		,Sorszam INT	
 | 
						|
		)
 | 
						|
 | 
						|
	INSERT INTO @NaploSorszam
 | 
						|
	EXEC sp_GetDokumentumTanuloNaploSorszam
 | 
						|
		@osztalyId = @osztalyId
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		felhasznalo.ID TanuloId,
 | 
						|
		felhasznalo.Azonosito,
 | 
						|
		felhasznalo.Nev,
 | 
						|
		felhasznalo.SzuletesiDatum,
 | 
						|
		felhasznalo.SzuletesiHely,
 | 
						|
		felhasznalo.Allampolgarsag,
 | 
						|
		felhasznalo.Anyjaneve,
 | 
						|
		felhasznalo.SzuletesiOrszag,
 | 
						|
		felhasznalo.TorzslapSzam,
 | 
						|
		gondviselo.Nev GondviseloNeve,
 | 
						|
		gondviselo.Rokonsag,
 | 
						|
		naploSorszam.Sorszam NaploSorszam
 | 
						|
	FROM
 | 
						|
		(
 | 
						|
			SELECT 
 | 
						|
				 T_FELHASZNALO_OSSZES.ID AS ID,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO Azonosito,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_SZULETESIDATUM SzuletesiDatum,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_SZULETESIHELY SzuletesiHely,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG SzuletesiOrszag,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_ANYJANEVE Anyjaneve,
 | 
						|
				 T_FELHASZNALO_OSSZES.C_NYILVANTARTASISZAM TorzslapSzam
 | 
						|
				 FROM T_FELHASZNALO_OSSZES          
 | 
						|
					INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
 | 
						|
						ON TANCSOPORT.TanuloId = T_FELHASZNALO_OSSZES.ID 
 | 
						|
				 WHERE  
 | 
						|
					T_FELHASZNALO_OSSZES.C_TANEVID = @tanevId
 | 
						|
					AND T_FELHASZNALO_OSSZES.TOROLT='F'
 | 
						|
		) felhasznalo
 | 
						|
	LEFT JOIN 
 | 
						|
			(SELECT 
 | 
						|
				T_GONDVISELO_OSSZES.C_NEV Gondviselo,
 | 
						|
				T_GONDVISELO_OSSZES.C_ROKONSAGFOKA Rokonsag,
 | 
						|
				T_GONDVISELO_OSSZES.C_TANULOID Id,
 | 
						|
				T_GONDVISELO_OSSZES.C_NEV Nev
 | 
						|
				FROM T_GONDVISELO_OSSZES
 | 
						|
				WHERE T_GONDVISELO_OSSZES.TOROLT='F'
 | 
						|
			) gondviselo on felhasznalo.ID = gondviselo.ID
 | 
						|
	LEFT JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId = felhasznalo.ID
 | 
						|
	ORDER BY felhasznalo.Nev
 | 
						|
 | 
						|
	--Határozat
 | 
						|
	SELECT 
 | 
						|
		T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
 | 
						|
		T_TANULOESEMENY_OSSZES.C_TARTALOM BEJEGYZES
 | 
						|
	FROM T_TANULOESEMENY_OSSZES
 | 
						|
			INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
 | 
						|
						ON TANCSOPORT.TanuloId = T_TANULOESEMENY_OSSZES.C_TANULOID 
 | 
						|
	WHERE TOROLT='F'
 | 
						|
	AND T_TANULOESEMENY_OSSZES.C_TIPUS = @hatarozatTipus
 | 
						|
		
 | 
						|
	--Egyéb bejegyzések
 | 
						|
	SELECT 
 | 
						|
		T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
 | 
						|
		T_TANULOESEMENY_OSSZES.C_TARTALOM BEJEGYZES, 
 | 
						|
		T_TANULOESEMENY_OSSZES.C_TIPUS TIPUS
 | 
						|
	FROM T_TANULOESEMENY_OSSZES
 | 
						|
		INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
 | 
						|
						ON TANCSOPORT.TanuloId = T_TANULOESEMENY_OSSZES.C_TANULOID 
 | 
						|
	WHERE 
 | 
						|
		TOROLT='F'
 | 
						|
		AND T_TANULOESEMENY_OSSZES.C_TANEVID = @tanevId
 | 
						|
		AND T_TANULOESEMENY_OSSZES.C_TIPUS != @hatarozatTipus
 | 
						|
		AND T_TANULOESEMENY_OSSZES.C_TIPUS <> 1534
 | 
						|
	ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
 | 
						|
 | 
						|
	-- MULASZTÁSOK
 | 
						|
	DECLARE @Mulasztasok TABLE (
 | 
						|
		TanuloId INT
 | 
						|
		,Igazolt INT
 | 
						|
		,Igazolatlan INT
 | 
						|
		,ElmeletIgazolt INT
 | 
						|
		,ElmeletIgazolatlan INT
 | 
						|
		,GyakorlatIgazolt INT
 | 
						|
		,GyakorlatIgazolatlan INT
 | 
						|
		,Osszes INT		
 | 
						|
		)
 | 
						|
 | 
						|
	INSERT INTO @Mulasztasok
 | 
						|
	EXEC sp_GetDokumentumMulasztasok
 | 
						|
		@osztalyId = @osztalyId,
 | 
						|
		@tanevId = @tanevId,
 | 
						|
		@elmeletGyakorlat = 0,
 | 
						|
		@kesesTipus = @kesesTipus,
 | 
						|
		@elmeletiOraPercben = @elmeletiOraPercben,
 | 
						|
		@gyakorlatiOraPercben = @gyakorlatiOraPercben,
 | 
						|
		@ertekelesTipus = @ertekelesTipus
 | 
						|
	
 | 
						|
	SELECT 
 | 
						|
		TanuloId 
 | 
						|
		,Igazolt 
 | 
						|
		,Igazolatlan 
 | 
						|
		,ElmeletIgazolt 
 | 
						|
		,ElmeletIgazolatlan 
 | 
						|
		,GyakorlatIgazolt 
 | 
						|
		,GyakorlatIgazolatlan 
 | 
						|
		,Osszes	
 | 
						|
	FROM @Mulasztasok
 | 
						|
 | 
						|
	-- ÉRTÉKELÉSEK
 | 
						|
	DECLARE @Ertekelesek TABLE (
 | 
						|
		TanuloId			INT
 | 
						|
		,Targy				NVARCHAR(MAX)
 | 
						|
		,Ertekeles			NVARCHAR(MAX)
 | 
						|
		,Jegyzet			NVARCHAR(MAX)	
 | 
						|
		,ErtekelesJegyzettel NVARCHAR(MAX)	
 | 
						|
		,SzovegesErtekeles	NVARCHAR(MAX)
 | 
						|
		,Oraszam			INT
 | 
						|
		,RENDEZ				INT
 | 
						|
	)
 | 
						|
	
 | 
						|
	INSERT INTO @Ertekelesek
 | 
						|
	EXEC sp_GetDokumentumErtekelesek
 | 
						|
		@osztalyId = @osztalyId,
 | 
						|
		@tanevId = @tanevId,
 | 
						|
		@ertekelesTipus = @ertekelesTipus
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		TanuloId			
 | 
						|
		, Targy				
 | 
						|
		, Ertekeles	
 | 
						|
		, Jegyzet	
 | 
						|
		, ErtekelesJegyzettel				
 | 
						|
		,SzovegesErtekeles	
 | 
						|
		, Oraszam		
 | 
						|
		, RENDEZ
 | 
						|
	FROM 
 | 
						|
	@Ertekelesek
 | 
						|
END 
 | 
						|
 | 
						|
GO |