249 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			249 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS sp_GetTanuloiAdatlapAdatok
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
 | 
						|
	@osztCsopID INT,
 | 
						|
	@TanevId	INT
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
	CREATE TABLE #JogviszonyVege (TanuloId int,Datum date)
 | 
						|
	INSERT INTO #JogviszonyVege
 | 
						|
	SELECT
 | 
						|
		 TanuloId
 | 
						|
		,MAX(C_KILEPESDATUM)
 | 
						|
	FROM  fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') Tanulok
 | 
						|
		INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulok.TanuloId AND TanuloCsoport.TOROLT = 'F' AND TanuloCsoport.C_TANEVID = @TanevId
 | 
						|
		INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.TOROLT = 'F' AND C_ALTANEVID = @TanevId
 | 
						|
	GROUP BY TanuloId
 | 
						|
 | 
						|
	DECLARE @DefaultFeladatKategoriaId int =  (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztCsopID)
 | 
						|
	--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,
 | 
						|
		o.C_OSZTALYFONOKID PartnerID,
 | 
						|
		f.C_NYOMTATASINEV OSZTALYFONOK,
 | 
						|
		ocs.C_NEV OSZTALYNEV
 | 
						|
    ,@osztCsopID  OsztalyId
 | 
						|
	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'
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = @osztCsopID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
 | 
						|
    LEFT JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
 | 
						|
    LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID AND f.TOROLT = 'F'
 | 
						|
	WHERE
 | 
						|
		T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
 | 
						|
		AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
 | 
						|
 | 
						|
	CREATE TABLE #EmailCimTableTemp (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
 | 
						|
 | 
						|
	CREATE TABLE #EmailCimTable (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
 | 
						|
 | 
						|
	CREATE TABLE #TelefonszamTableTemp (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
 | 
						|
 | 
						|
	CREATE TABLE #TelefonszamTable  (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
 | 
						|
 | 
						|
	CREATE TABLE #TanuloCimTable (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa INT)
 | 
						|
	INSERT INTO #TanuloCimTable
 | 
						|
	SELECT DISTINCT
 | 
						|
		TanuloId
 | 
						|
		,STUFF((
 | 
						|
			SELECT CAST(Btemp.Cim AS NVARCHAR(MAX))  + CHAR(13) + CHAR(10)
 | 
						|
			FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) btemp
 | 
						|
			WHERE
 | 
						|
				temp.TanuloId = btemp.TanuloId
 | 
						|
			AND temp.CimTipusa = btemp.CimTipusa
 | 
						|
			FOR XML PATH(''), TYPE)
 | 
						|
		.value('.','NVARCHAR(MAX)'),1,0,'') Cim
 | 
						|
		,temp.CimTipusa
 | 
						|
	FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) temp
 | 
						|
 | 
						|
	CREATE TABLE #GondviselokTableTemp  (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
 | 
						|
	INSERT INTO #GondviselokTableTemp
 | 
						|
	SELECT
 | 
						|
		Gondviselo.TanuloId													TanuloId
 | 
						|
		,Gondviselo.GondviseloNev + ISNULL('('+rokonsagiFoka.C_NAME+')', '')	Gondviselo
 | 
						|
	FROM fnGetDokumentumGondviselok (@osztCsopID, @tanevId, 'F', 'T') Gondviselo
 | 
						|
		LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsagiFoka ON Gondviselo.RokonsagifokId = rokonsagiFoka.ID AND rokonsagiFoka.C_TANEVID = @TanevId
 | 
						|
 | 
						|
	CREATE TABLE #GondviselokTable (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
 | 
						|
		tta.C_BEIRASINAPLOSORSZAM,
 | 
						|
		tanulok.NaploSorszam		NaploSorszam,
 | 
						|
		tanulok.TorzslapSzam		TorzslapSzam,
 | 
						|
		T_TANEV_OSSZES.C_NEV TANEV,
 | 
						|
		T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
 | 
						|
		T_OSZTALYCSOPORT_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,
 | 
						|
		tta.C_NYILVANTARTASKEZDETE,
 | 
						|
		tta.C_TANKOTELEZETT Tankotelezett,
 | 
						|
		tta.C_TANKOTELEZETTSEGVEGE,
 | 
						|
		tta.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,
 | 
						|
		tta.C_BEJARO Bejaro,
 | 
						|
		tta.C_SZAKMAIGYAKORLATON Szakmaigyak,
 | 
						|
		tta.C_VENDEG Vendeg,
 | 
						|
		tta.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
 | 
						|
		tta.C_MAGANTANULO Magantanulo,
 | 
						|
		maganTanuloOk.C_NAME as C_MAGANTANULOSAGANAKOKA,
 | 
						|
		tta.C_MAGANTANULOSAGKEZDETE,
 | 
						|
		T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA,
 | 
						|
		T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT,
 | 
						|
		T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA,
 | 
						|
		tta.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,
 | 
						|
		tta.C_TERITESIDIJATFIZETO Teriteses,
 | 
						|
		tta.C_TANDIJATFIZETO Tandijas,
 | 
						|
		T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
 | 
						|
		tta.C_TANULOSZERZODESES Tanszerzodeses,
 | 
						|
		tta.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
 | 
						|
		,T_TANULO_OSSZES.ID AS TanuloId
 | 
						|
		,@osztCsopID  AS OsztalyId
 | 
						|
		,JogviszonyVege.Datum JogviszonyVege
 | 
						|
	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 AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
 | 
						|
        INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
 | 
						|
		LEFT JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai (@osztCsopID,default) tta ON tta.TanuloId=T_FELHASZNALO_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 T_DICTIONARYITEMBASE_OSSZES maganTanuloOk ON tta.C_MAGANTANULOSAGANAKOKAID = maganTanuloOk.ID AND maganTanuloOk.C_TANEVID = @TanevId AND maganTanuloOk.TOROLT='F'
 | 
						|
		LEFT JOIN #TanuloCimTable AllandoLakcim ON AllandoLakcim.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND AllandoLakcim.Cimtipusa = 907
 | 
						|
		LEFT JOIN #TanuloCimTable TartozkodasiHely ON TartozkodasiHely.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND TartozkodasiHely.Cimtipusa = 909
 | 
						|
		INNER JOIN #JogviszonyVege JogviszonyVege ON JogviszonyVege.TanuloId = tanulok.TanuloId
 | 
						|
	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
 | 
						|
 | 
						|
  SELECT
 | 
						|
    o.ID AS OsztalyId
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
    ,ocs.C_KEPZESIFORMA AS KepzesiForma
 | 
						|
    ,o.C_OSZTALYFONOKID AS OsztalyfonokId
 | 
						|
    ,o.C_TANTERVID AS TantervId
 | 
						|
    ,o.C_SZAKMACSOPORT AS SzakmaCsoport
 | 
						|
    ,o.C_AGAZAT AS Agazat
 | 
						|
    ,o.C_SZAKKEPESITES AS Szakkepesites
 | 
						|
	,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
 | 
						|
	,ocs.C_KERESZTFELEVES	OJCSJKeresztfeleves
 | 
						|
	,ocs.C_VEGZOSEVFOLYAM	CSJVegzosEvfolyamu
 | 
						|
	,o.C_TECHNIKAIOSZTALY	OJTechnikaiOsztaly
 | 
						|
	,o.C_NEMZETISEGI		OJNemzetisegi
 | 
						|
	,o.C_KETTANNYELVU		OJKettannyelvu
 | 
						|
	,o.C_NYELVIELOKESZITO	OJNyelviElokeszito
 | 
						|
	,o.C_LOGOPEDIAI			OJLogopediai
 | 
						|
	,o.C_SPORT				OJSportOsztaly
 | 
						|
	,o.C_AJPROGRAM			OJAranyJanosProgram
 | 
						|
	,o.C_GYOGYPEDAGOGIAI	OJGyogypedagogiai
 | 
						|
  FROM T_OSZTALY_OSSZES AS o
 | 
						|
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
 | 
						|
  WHERE o.ID = @osztCsopID
 | 
						|
END
 | 
						|
 | 
						|
GO |