148 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('sp_GetErtesitesAltEsMulAdatok') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE [sp_GetErtesitesAltEsMulAdatok] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetErtesitesAltEsMulAdatok]
 | 
						|
	@pOsztalyId				INT,
 | 
						|
	@pTanevId				INT,
 | 
						|
	@pTankoteles			BIT,
 | 
						|
	@pIskolaErdekuSzamit	BIT
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	--Mulasztasok
 | 
						|
	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 = @pOsztalyId,
 | 
						|
		@tanevId = @pTanevId,
 | 
						|
		@elmeletGyakorlat = 0,
 | 
						|
		@kesesTipus = 1499,
 | 
						|
		@elmeletiOraPercben = 45,
 | 
						|
		@gyakorlatiOraPercben = 60,
 | 
						|
		@ertekelesTipus = 1520, --évvégi
 | 
						|
		@iskolaErdekuSzamit = @pIskolaErdekuSzamit
 | 
						|
 | 
						|
	--Tanulói adatok
 | 
						|
		SELECT 
 | 
						|
			tanulo.ID,
 | 
						|
			tanulo.C_NYOMTATASINEV TANULONEV,
 | 
						|
			tanulo.C_ANYJANEVE ANYJANEVE,
 | 
						|
			tanulo.C_SZULETESIHELY SZULETESIHELY,
 | 
						|
			tanulo.C_SZULETESIDATUM SZULETESIDATUM,
 | 
						|
			tanulo.C_NYILVANTARTASISZAM TorzslapSzam,
 | 
						|
			AllandoLakcim.IranyitoSzam1,
 | 
						|
			AllandoLakcim.Varos1,
 | 
						|
			AllandoLakcim.Kozterulet1,
 | 
						|
			AllandoLakcim.KozteruletJellege1,
 | 
						|
			AllandoLakcim.Hazszam1,
 | 
						|
			AllandoLakcim.Emelet1,
 | 
						|
			AllandoLakcim.Ajto1,
 | 
						|
			TartozkodasiHely.IranyitoSzam2,
 | 
						|
			TartozkodasiHely.Varos2,
 | 
						|
			TartozkodasiHely.Kozterulet2,
 | 
						|
			TartozkodasiHely.KozteruletJellege2,
 | 
						|
			TartozkodasiHely.Hazszam2,
 | 
						|
			TartozkodasiHely.Emelet2,
 | 
						|
			TartozkodasiHely.Ajto2,
 | 
						|
			Gondviselo.GondvNeve,
 | 
						|
			Gondviselo.GondvTelefon,
 | 
						|
			Gondviselo.GondvCim,
 | 
						|
			T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE as INT_IGAZGATO_NEV,
 | 
						|
			T_INTEZMENYADATOK_OSSZES.C_NEV as INT_NEV,
 | 
						|
			T_INTEZMENYADATOK_OSSZES.C_OMKOD as INT_OMKOD,
 | 
						|
			T_INTEZMENYADATOK_OSSZES.C_VAROS as INT_VAROS,
 | 
						|
			dbo.fnGetDokumentumIntezmenyCime(@pTanevId) as INT_CIM,
 | 
						|
			T_OSZTALYCSOPORT_OSSZES.C_NEV as OSZTALYCSOPORT_NEV,
 | 
						|
			osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV as OSZTFO_NEV,
 | 
						|
			ISNULL(mulasztas.Igazolt,0) IGAZOLT,
 | 
						|
			ISNULL(mulasztas.Igazolatlan,0) IGAZOLATLAN
 | 
						|
		FROM T_TANULOCSOPORT_OSSZES
 | 
						|
			LEFT JOIN T_FELHASZNALO_OSSZES tanulo on tanulo.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID AND tanulo.TOROLT = 'F'
 | 
						|
			LEFT JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = tanulo.ID AND T_TANULO_OSSZES.TOROLT = 'F'
 | 
						|
			LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
 | 
						|
			LEFT JOIN T_INTEZMENYADATOK_OSSZES on T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID = T_TANULOCSOPORT_OSSZES.C_INTEZMENYID 
 | 
						|
													AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = T_TANULOCSOPORT_OSSZES.C_TANEVID 
 | 
						|
													AND T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
 | 
						|
			LEFT JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID AND T_OSZTALY_OSSZES.TOROLT = 'F'
 | 
						|
			LEFT JOIN T_FELHASZNALO_OSSZES osztf on osztf.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID AND osztf.TOROLT = 'F'
 | 
						|
			LEFT JOIN --Állandó lakcím
 | 
						|
				(SELECT
 | 
						|
						T_CIM_OSSZES.C_FELHASZNALOID TanuloID,
 | 
						|
						T_CIM_OSSZES.C_IRANYITOSZAM IranyitoSzam1,
 | 
						|
						T_CIM_OSSZES.C_VAROS Varos1,
 | 
						|
						T_CIM_OSSZES.C_KOZTERULET Kozterulet1,
 | 
						|
						T_CIM_OSSZES.C_KOZTERULETJELLEGE KozteruletJellege1,
 | 
						|
						T_CIM_OSSZES.C_HAZSZAM Hazszam1,
 | 
						|
						T_CIM_OSSZES.C_EMELET Emelet1,
 | 
						|
						T_CIM_OSSZES.C_AJTO Ajto1
 | 
						|
					FROM T_CIM_OSSZES 
 | 
						|
					WHERE 
 | 
						|
						T_CIM_OSSZES.TOROLT = 'F' 
 | 
						|
						AND T_CIM_OSSZES.C_CIMTIPUSA = 907
 | 
						|
				) AllandoLakcim ON AllandoLakcim.TanuloID = tanulo.ID
 | 
						|
			LEFT JOIN -- Tartózkodási hely
 | 
						|
				(SELECT
 | 
						|
					T_CIM_OSSZES.C_FELHASZNALOID TanuloID,
 | 
						|
					T_CIM_OSSZES.C_IRANYITOSZAM IranyitoSzam2,
 | 
						|
					T_CIM_OSSZES.C_VAROS Varos2,
 | 
						|
					T_CIM_OSSZES.C_KOZTERULET Kozterulet2,
 | 
						|
					T_CIM_OSSZES.C_KOZTERULETJELLEGE KozteruletJellege2,
 | 
						|
					T_CIM_OSSZES.C_HAZSZAM Hazszam2,
 | 
						|
					T_CIM_OSSZES.C_EMELET Emelet2,
 | 
						|
					T_CIM_OSSZES.C_AJTO Ajto2
 | 
						|
				FROM T_CIM_OSSZES 
 | 
						|
				WHERE 
 | 
						|
					T_CIM_OSSZES.TOROLT = 'F' 
 | 
						|
					AND T_CIM_OSSZES.C_CIMTIPUSA = 909
 | 
						|
				) TartozkodasiHely on TartozkodasiHely.TanuloID = tanulo.ID
 | 
						|
			LEFT JOIN @Mulasztasok mulasztas on mulasztas.TanuloId = tanulo.ID --Mulasztások
 | 
						|
			LEFT JOIN -- Gondviselő adatok
 | 
						|
			(
 | 
						|
				SELECT
 | 
						|
					T_GONDVISELO_OSSZES.ID,
 | 
						|
					T_GONDVISELO_OSSZES.C_TANULOID Tanulo, 
 | 
						|
					T_GONDVISELO_OSSZES.C_NEV GondvNeve,
 | 
						|
					ISNULL(T_TELEFON_OSSZES.C_TELEFONSZAM,'') GondvTelefon,
 | 
						|
					ISNULL(T_CIM_OSSZES.C_OSSZETETTCIM,'') GondvCim
 | 
						|
				FROM T_GONDVISELO_OSSZES
 | 
						|
					LEFT JOIN T_TELEFON_OSSZES on T_TELEFON_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID and T_TELEFON_OSSZES.TOROLT = 'F'
 | 
						|
					LEFT JOIN T_CIM_OSSZES on T_CIM_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID and T_CIM_OSSZES.TOROLT = 'F'
 | 
						|
				WHERE
 | 
						|
					T_GONDVISELO_OSSZES.TOROLT = 'F'
 | 
						|
			) Gondviselo on Gondviselo.Tanulo = T_TANULO_OSSZES.ID 
 | 
						|
		WHERE
 | 
						|
			T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = @pOsztalyId  
 | 
						|
			AND T_TANULOCSOPORT_OSSZES.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'F'))
 | 
						|
			AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F' 
 | 
						|
			AND T_TANULO_OSSZES.C_TANKOTELEZETT = IIF(@pTankoteles = 0, 'F', 'T')
 | 
						|
			AND T_TANULOCSOPORT_OSSZES.C_TANEVID = @pTanevId
 | 
						|
		ORDER BY tanulo.C_NYOMTATASINEV
 | 
						|
 | 
						|
 | 
						|
		--Mulasztások részletezése
 | 
						|
		SELECT 
 | 
						|
			* 
 | 
						|
		FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit)
 | 
						|
		WHERE 
 | 
						|
			Igazolt = 'F'
 | 
						|
	END
 | 
						|
 | 
						|
GO |