241 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_GetTanuloiAdatlapAdatok]') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
 | 
						|
	@osztCsopID int,
 | 
						|
	@TanevId	int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	--Fejléc
 | 
						|
	SELECT 
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_NEV				IntezmenyNeve,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_VAROS			IntezmenyVaros,
 | 
						|
		dbo.fnGetDokumentumIntezmenyCime(@tanevId)	IntezmenyCime,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_OMKOD			OMKod,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM		TELEFON,
 | 
						|
		T_INTEZMENYADATOK_OSSZES.C_EMAILCIM			EMAILCIM,
 | 
						|
		T_TANEV_OSSZES.C_NEV						TANEV,
 | 
						|
		(SELECT T_OSZTALY_OSSZES.C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID,
 | 
						|
		(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES INNER JOIN T_FELHASZNALO_OSSZES OFO 
 | 
						|
			ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID and OFO.TOROLT = 'F'
 | 
						|
		 WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
 | 
						|
		(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztCsopID and to2.TOROLT = 'F') OSZTALYNEV
 | 
						|
	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_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
 | 
						|
		AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
 | 
						|
 | 
						|
	DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
 | 
						|
	INSERT INTO @EmailCimTableTemp
 | 
						|
	SELECT 
 | 
						|
		TanuloId
 | 
						|
		,C_EMAILCIM 
 | 
						|
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
 | 
						|
		INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
 | 
						|
	WHERE
 | 
						|
		email.TOROLT = 'F'
 | 
						|
		AND email.C_TANEVID = @TanevId
 | 
						|
		AND LEN(C_EMAILCIM) > 0
 | 
						|
 | 
						|
	DECLARE @EmailCimTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
 | 
						|
	INSERT INTO @EmailCimTable
 | 
						|
	SELECT DISTINCT
 | 
						|
		FelhasznaloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT DISTINCT CAST(Btemp.EmailCim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
 | 
						|
			FROM @EmailCimTableTemp btemp
 | 
						|
			WHERE 
 | 
						|
				temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,0,'') Email
 | 
						|
	FROM @EmailCimTableTemp temp
 | 
						|
 | 
						|
	DECLARE @TelefonszamTableTemp TABLE (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
 | 
						|
	INSERT INTO @TelefonszamTableTemp
 | 
						|
	SELECT 
 | 
						|
		TanuloId
 | 
						|
		,C_TELEFONSZAM 
 | 
						|
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
 | 
						|
		INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
 | 
						|
	WHERE
 | 
						|
		telefon.TOROLT = 'F'
 | 
						|
		AND telefon.C_TANEVID = @TanevId
 | 
						|
		AND LEN(C_TELEFONSZAM) > 0
 | 
						|
 | 
						|
	DECLARE @TelefonszamTable TABLE (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
 | 
						|
	INSERT INTO @TelefonszamTable
 | 
						|
	SELECT DISTINCT
 | 
						|
		FelhasznaloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT DISTINCT CAST(Btemp.Telefonszam AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
 | 
						|
			FROM @TelefonszamTableTemp btemp
 | 
						|
			WHERE 
 | 
						|
				temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,0,'') Telefonszam
 | 
						|
	FROM @TelefonszamTableTemp temp
 | 
						|
 | 
						|
	DECLARE @TartozkodasiHelyTableTemp TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX))
 | 
						|
	INSERT INTO @TartozkodasiHelyTableTemp
 | 
						|
	SELECT 
 | 
						|
		TanuloId
 | 
						|
		,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM
 | 
						|
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
 | 
						|
		INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloId
 | 
						|
		INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @TanevId
 | 
						|
	WHERE
 | 
						|
		cim.TOROLT = 'F'
 | 
						|
		AND C_CIMTIPUSA = 909
 | 
						|
		AND cim.C_TANEVID = @TanevId
 | 
						|
 | 
						|
	DECLARE @TartozkodasiHelyTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX))
 | 
						|
	INSERT INTO @TartozkodasiHelyTable
 | 
						|
	SELECT DISTINCT
 | 
						|
		FelhasznaloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT CAST(Btemp.Cim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
 | 
						|
			FROM @TartozkodasiHelyTableTemp btemp
 | 
						|
			WHERE 
 | 
						|
				temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,0,'') Email
 | 
						|
	FROM @TartozkodasiHelyTableTemp temp
 | 
						|
 | 
						|
	DECLARE @GondviselokTableTemp TABLE (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
 | 
						|
	INSERT INTO @GondviselokTableTemp 
 | 
						|
	SELECT
 | 
						|
		tanulo.TanuloId													TanuloId
 | 
						|
		,gondviselo.C_NEV + ISNULL('('+rokonsagiFoka.C_NAME+')', '')	Gondviselo
 | 
						|
	FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
 | 
						|
		INNER JOIN T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.TanuloId
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsagiFoka ON gondviselo.C_ROKONSAGFOKA = rokonsagiFoka.ID AND rokonsagiFoka.C_TANEVID = @TanevId
 | 
						|
	WHERE
 | 
						|
		gondviselo.TOROLT ='F'
 | 
						|
	AND gondviselo.C_TANEVID = @TanevId
 | 
						|
	AND gondviselo.C_ISTORVENYESKEPVISELO ='T'
 | 
						|
 | 
						|
	DECLARE @GondviselokTable TABLE(FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
 | 
						|
	INSERT INTO @GondviselokTable
 | 
						|
	SELECT DISTINCT 
 | 
						|
		FelhasznaloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT ', ' + btemp.Gondviselo 
 | 
						|
			FROM @GondviselokTableTemp btemp
 | 
						|
			WHERE
 | 
						|
				temp.FelhasznaloId = btemp.FelhasznaloId
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,2,'') Gondviselo
 | 
						|
	FROM @GondviselokTableTemp temp
 | 
						|
 | 
						|
 | 
						|
	--Tanulók Adatai
 | 
						|
	SELECT DISTINCT
 | 
						|
		T_TANULO_OSSZES.C_BEIRASINAPLOSORSZAM,
 | 
						|
		T_FELHASZNALO_OSSZES.C_NYILVANTARTASISZAM,
 | 
						|
		T_TANULO_OSSZES.C_NAPLOSORSZAM,
 | 
						|
		T_TANEV_OSSZES.C_NEV TANEV,
 | 
						|
		T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
 | 
						|
		T_OSZTALY_OSSZES.C_KEPZESIFORMA Kepzesiforma,
 | 
						|
		T_FELHASZNALO_OSSZES.C_NYOMTATASINEV NEV,
 | 
						|
		gondviselo.Gondviselo GONDVISELO,
 | 
						|
		T_FELHASZNALO_OSSZES.C_SZULETESINEV SZULETESINEV,
 | 
						|
		T_FELHASZNALO_OSSZES.C_ANYJANEVE ANYJANEVE,
 | 
						|
		T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO,
 | 
						|
		T_FELHASZNALO_OSSZES.C_SZULETESIHELY,
 | 
						|
		T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG Szuletesiorszag,
 | 
						|
		FORMAT(T_FELHASZNALO_OSSZES.C_SZULETESIDATUM, 'yyyy.MM.dd.') C_SZULETESIDATUM,
 | 
						|
		T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
 | 
						|
		T_FELHASZNALO_OSSZES.C_ANYANYELVE Anyanyelv,
 | 
						|
		T_FELHASZNALO_OSSZES.C_NYILVANTARTASKEZDETE,
 | 
						|
		T_TANULO_OSSZES.C_TANKOTELEZETT Tankotelezett,
 | 
						|
		T_TANULO_OSSZES.C_TANKOTELEZETTSEGVEGE,
 | 
						|
		T_TANULO_OSSZES.C_JOGVISZONYVARHATOBEFEJEZESE,
 | 
						|
		T_TANULO_OSSZES.C_DIAKIGAZOLVANYSZAM,
 | 
						|
		T_TANULO_OSSZES.C_DIAKIGAZOLVANYKELTE,
 | 
						|
		T_TANULO_OSSZES.C_BANKSZAMLASZAM,
 | 
						|
 | 
						|
		AllandoLakcim.Cim,
 | 
						|
 | 
						|
		TartozkodasiHely.CIM TartozkodasiHely,
 | 
						|
 | 
						|
		telefon.Telefonszam C_TELEFONSZAM,
 | 
						|
		email.EmailCim C_EMAILCIM,
 | 
						|
 | 
						|
		T_TANULO_OSSZES.C_BEJARO Bejaro,
 | 
						|
		T_TANULO_OSSZES.C_SZAKMAIGYAKORLATON Szakmaigyak,
 | 
						|
		T_TANULO_OSSZES.C_VENDEG Vendeg,
 | 
						|
		T_TANULO_OSSZES.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
 | 
						|
		T_TANULO_OSSZES.C_MAGANTANULO Magantanulo,
 | 
						|
		T_TANULO_OSSZES.C_MAGANTANULOSAGANAKOKA,
 | 
						|
		T_TANULO_OSSZES.C_MAGANTANULOSAGKEZDETE,
 | 
						|
		T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA,
 | 
						|
		T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT,
 | 
						|
		T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA,
 | 
						|
		T_TANULO_OSSZES.C_EVISMETLO Evismetlo,
 | 
						|
		T_TANULO_OSSZES.C_SZOCIALISTAMOGATAS Szoctam,
 | 
						|
		T_TANULO_OSSZES.C_HATRANYOSHELYZETU,
 | 
						|
		T_TANULO_OSSZES.C_VESZELYEZTETETT Veszelyeztetett,
 | 
						|
		T_TANULO_OSSZES.C_HALMOZOTTANFOGYATEKOS Halmfogyatekos,
 | 
						|
		T_TANULO_OSSZES.C_ETKEZESIKEDVEZMENY,
 | 
						|
		T_TANULO_OSSZES.C_TERITESIDIJATFIZETO Teriteses,
 | 
						|
		T_TANULO_OSSZES.C_TANDIJATFIZETO Tandijas,
 | 
						|
		T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
 | 
						|
		T_TANULO_OSSZES.C_TANULOSZERZODESES Tanszerzodeses,
 | 
						|
		T_TANULO_OSSZES.C_POLGARISZERZODESES Polgszerzodeses,
 | 
						|
		T_TANULO_OSSZES.C_RENDSZERESGYERMEKVEDELMIKEDV,
 | 
						|
		T_TANULO_OSSZES.C_ALLAMIGONDOZOTT Allamigond,
 | 
						|
		T_TANULO_OSSZES.C_KOLLEGIUMIELLATASOS Kollegiumi,
 | 
						|
		T_TANULO_OSSZES.C_TARTOSGYOGYKEZELESSZAMA,
 | 
						|
		T_TANULO_OSSZES.C_SAJATOSNEVELESU Sajatosnevelesu,
 | 
						|
		T_TANULO_OSSZES.C_SNILETSZAMSULY,
 | 
						|
		T_TANULO_OSSZES.C_SNIKIALLITOINTEZMENY,
 | 
						|
		FORMAT(T_TANULO_OSSZES.C_SNIOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_SNIOKMANYERVENYESSEGKEZDETE,
 | 
						|
		T_TANULO_OSSZES.C_BTMPROBLEMAS Btmproblemas,
 | 
						|
		T_TANULO_OSSZES.C_BTMLETSZAMSULY,
 | 
						|
		T_TANULO_OSSZES.C_BTMHATAROZATOKMANYSZAM,
 | 
						|
		FORMAT(T_TANULO_OSSZES.C_BTMOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_BTMOKMANYERVENYESSEGKEZDETE,
 | 
						|
		T_TANULO_OSSZES.C_BTMKIALLITOINTEZMENY,
 | 
						|
		T_TANULO_OSSZES.C_ELSOINTEZMENYOMKOD,
 | 
						|
		T_FELHASZNALO_OSSZES.C_IGAZOLVANYSZAM,
 | 
						|
		igazolvanyTipusa.C_NAME AS IgazolvanyTipusa
 | 
						|
	--megjegyzés
 | 
						|
	FROM T_FELHASZNALO_OSSZES
 | 
						|
		INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulok ON tanulok.TanuloId = T_FELHASZNALO_OSSZES.Id
 | 
						|
		INNER JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID
 | 
						|
		INNER JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID
 | 
						|
		LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
 | 
						|
		INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
 | 
						|
		LEFT JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
 | 
						|
		LEFT JOIN @TelefonszamTable telefon on telefon.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
 | 
						|
		LEFT JOIN @EmailCimTable email on email.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
 | 
						|
		LEFT JOIN @GondviselokTable gondviselo on gondviselo.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES igazolvanyTipusa ON T_FELHASZNALO_OSSZES.C_IGAZOLVANYTIPUSA = igazolvanyTipusa.ID AND igazolvanyTipusa.C_TANEVID = @TanevId
 | 
						|
	LEFT JOIN 
 | 
						|
		(SELECT
 | 
						|
			C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM	Cim
 | 
						|
			, C_FELHASZNALOID	TanuloId
 | 
						|
		FROM T_CIM_OSSZES 
 | 
						|
			INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @tanevId
 | 
						|
		WHERE T_CIM_OSSZES.TOROLT = 'F' AND T_CIM_OSSZES.C_CIMTIPUSA = 907 AND T_CIM_OSSZES.C_GONDVISELOID IS NULL
 | 
						|
		) AllandoLakcim ON AllandoLakcim.TanuloID = T_FELHASZNALO_OSSZES.ID
 | 
						|
	LEFT JOIN @TartozkodasiHelyTable TartozkodasiHely ON TartozkodasiHely.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
 | 
						|
	WHERE 
 | 
						|
		T_FELHASZNALO_OSSZES.TOROLT = 'F'
 | 
						|
		AND T_TANEV_OSSZES.TOROLT = 'F'
 | 
						|
		AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
 | 
						|
		AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
 | 
						|
	ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
 | 
						|
END
 | 
						|
 | 
						|
GO |