﻿IF OBJECT_ID('[dbo].[sp_GetTanuloszerzodes]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetTanuloszerzodes]
END  
GO

CREATE PROCEDURE [dbo].[sp_GetTanuloszerzodes]
	@pIntezmenyId	INT,
	@pTanevId	    INT,
	@pTanuloIdXML	XML
AS
BEGIN

	SET NOCOUNT ON;
     
  DECLARE @Tanulok TABLE(Id int PRIMARY KEY)
  INSERT INTO @Tanulok(Id)
  SELECT Data FROM fnConvertXmlIntListToTable(@pTanuloIdXML, 'a', 'b')
  
/*TANULO*/
SELECT DISTINCT
	t.ID							tanuloId
	,f.C_NYILVANTARTASISZAM			AS torzslapSzam
	,f.C_OKTATASIAZONOSITO		    AS oktAzon
	,f.C_TAJSZAM				    AS tajSzam
	,f.C_ANYJANEVE				    AS anyjaNeve
	,f.C_SZULETESIHELY			    AS szulHely
	,dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM)        AS szulIdo
	,tt.C_NEV					    AS kepzes
	,f.C_NYOMTATASINEV			    AS tanuloNeve
	,f.C_SZULETESINEV				AS szuletesiNev
	,d.C_NAME					    AS allampolgarsaga
	,ISNULL(Cim.C_OSSZETETTCIM, '')	AS	tanuloCimText
	,ISNULL(Email.C_EMAILCIM, '')		AS	tanuloEmailCim
	,ISNULL(Telefon.C_TELEFONSZAM, '')	AS	tanuloTelefonszam
	,IIF(t.C_SZAKKEPESITESSZAMA IS NOT NULL, 'van, '
	+ 'OKJ száma: ............., megnevezése:   ', 'nincs')		 AS okj
  FROM T_TANULO_OSSZES t
  INNER JOIN @Tanulok Tanulok ON t.ID = Tanulok.Id
  LEFT JOIN T_CIM_OSSZES Cim ON 
				Cim.C_FELHASZNALOID = t.ID
			AND Cim.C_INTEZMENYID = @pIntezmenyId
			AND Cim.C_TANEVID = @pTanevId
			AND Cim.TOROLT = 'F'
			AND Cim.C_ALAPERTELMEZETT = 'T'
			AND Cim.C_GONDVISELOID IS NULL
	LEFT JOIN
		T_EMAIL_OSSZES Email ON
				Email.C_FELHASZNALOID = t.ID
			AND Email.C_INTEZMENYID = @pIntezmenyId
			AND Email.C_TANEVID = @pTanevId
			AND Email.TOROLT = 'F'
			AND Email.C_ALAPERTELMEZETT = 'T'
	LEFT JOIN
		T_TELEFON_OSSZES Telefon ON
				Telefon.C_FELHASZNALOID = t.ID
			AND Telefon.C_INTEZMENYID = @pIntezmenyId
			AND Telefon.C_TANEVID = @pTanevId
			AND Telefon.TOROLT = 'F'
			AND Telefon.C_ALAPERTELMEZETT= 'T'
    INNER JOIN T_TANTERV_OSSZES tt ON 
				tt.ID = t.C_TANTERVID 
			AND tt.TOROLT ='F'
    INNER JOIN T_FELHASZNALO_OSSZES f ON 
				f.ID = t.ID 
			AND f.TOROLT = 'F'
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON 
				d.id=f.C_ALLAMPOLGARSAGA 
			AND d.C_TANEVID = f.C_TANEVID
			AND d.C_INTEZMENYID = f.C_INTEZMENYID
  
    
  /*GONDVISELO*/
  SELECT
    Tanulok.Id										 tanuloId
	,Gondviselo.C_NEV	  				             GondviseloNeve
	,ISNULL(Email.C_EMAILCIM, '') 					 gondviseloEmailCim
	,ISNULL(Telefon.C_TELEFONSZAM, '') 				 gondviseloTelefonszam
    ,ISNULL(Cim.C_OSSZETETTCIM, '') 		         gondviseloCimText
  FROM @Tanulok Tanulok
	INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON 
				Gondviselo.C_TANULOID = Tanulok.Id
		AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
		AND Gondviselo.C_TANEVID = @pTanevId
		AND Gondviselo.TOROLT = 'F'
		AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
		AND Gondviselo.C_ISCSOKKENTETTGONDVISELO = 'F'
	INNER JOIN T_FELHASZNALOBELEPES_OSSZES Felhasznalo ON
				Felhasznalo.C_GONDVISELOID = Gondviselo.ID
			AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
			AND Felhasznalo.C_TANEVID = @pTanevId
			AND Felhasznalo.TOROLT = 'F'
	LEFT JOIN T_EMAIL_OSSZES Email ON
				Email.C_GONDVISELOID = Gondviselo.ID
			AND Email.C_INTEZMENYID = @pIntezmenyId
			AND Email.C_TANEVID = @pTanevId
			AND Email.TOROLT = 'F'
	LEFT JOIN T_TELEFON_OSSZES Telefon ON
				Telefon.C_GONDVISELOID = Gondviselo.ID
			AND Telefon.C_INTEZMENYID = @pIntezmenyId
			AND Telefon.C_TANEVID = @pTanevId
			AND Telefon.TOROLT = 'F'
  LEFT JOIN T_CIM_OSSZES Cim ON 
				Cim.C_GONDVISELOID = Gondviselo.ID
			AND Cim.C_INTEZMENYID = @pIntezmenyId
			AND Cim.C_TANEVID = @pTanevId
			AND Cim.TOROLT = 'F'
		

/*INTEZMENYADATOK*/
  SELECT DISTINCT
    INTEZMENY.C_INTEZMENYID                           intezmenyId
    ,INTEZMENY.C_NEV                                  Nev
    ,INTEZMENY.C_IGAZGATONEVE                         IgazgatoNev
    ,dbo.fnGetDokumentumIntezmenyCime (@pTanevId)     IntezmenyCim
  	,INTEZMENY.C_TELEFONSZAM                          IntezmenyTelefonszam
    ,INTEZMENY.C_EMAILCIM                             IntezmenyEmail
    ,INTEZMENY.C_OMKOD                                OktAzon
    ,TANEV.C_NEV
  INTO #IntemenyAdatok
  FROM T_TANEV_OSSZES TANEV
    INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID 
  WHERE 
    TANEV.ID = @pTanevId
   AND INTEZMENY.C_INTEZMENYID = @pIntezmenyId
  
    
 /*TAGINTEZMENYADATOK*/
SELECT DISTINCT
  TAGINTEZMENY.C_INTEZMENYID                                      intezmenyId
  ,TAGINTEZMENY.C_NEV                                          AS TagintezmenyNev                    
  ,TAGINTEZMENY.C_IRANYITOSZAM + ' ' + TAGINTEZMENY.C_VAROS + ', ' 
  + TAGINTEZMENY.C_KOZTERULETNEV + ' ' +  TAGINTEZMENY.C_HAZSZAM  
  + ISNULL(', ' + TAGINTEZMENY.C_EMELET + '. EMELET', '') 
  + ISNULL(', ' + TAGINTEZMENY.C_AJTO + '. AJTÓ', '')           AS TagintezmenyCim
  INTO #TagintezmenyAdatok
FROM T_TANEV_OSSZES TANEV 
  INNER JOIN T_INTEZMENY_OSSZES INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
  INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID 
WHERE 
    TANEV.ID = @pTanevId
AND TAGINTEZMENY.C_INTEZMENYID = @pIntezmenyId

   
/*==============INTÉZMÉNY/TAGINTÉZMÉNY==================*/   
   
  SELECT DISTINCT 
  *   
  FROM #IntemenyAdatok intezmeny
  INNER JOIN #TagintezmenyAdatok tagintezmeny ON intezmeny.intezmenyId = tagintezmeny.intezmenyId
   
   
/*BESOROLAS*/
SELECT DISTINCT /*TODO:Tobb Osztaly*//*OM-1608*/
  TANCSOP.C_TANULOID                                 tanuloId 
  ,OKTATASINEVELESIFELADAT.C_NAME                    FeladatEllatasiHely
  ,MUNKAREND.C_NAME                                  NappaliRend
  ,EVFOLYAM.C_NAME_1                                 Evfolyam
FROM T_TANULOCSOPORT_OSSZES TANCSOP
  INNER JOIN @Tanulok Tanulok ON TANCSOP.C_TANULOID = Tanulok.Id
  INNER JOIN T_OSZTALY_OSSZES OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
  INNER JOIN T_OSZTALYCSOPORT_OSSZES OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID AND OSZTALYCSOP.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = OSZTALYCSOP.C_TANEVID)
  INNER JOIN T_FELADATELLATASIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY_OSSZES.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY_OSSZES.C_INTEZMENYID = @pIntezmenyId
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES  MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY_OSSZES.C_TANEVID AND OKTATASINEVELESIFELADAT.TOROLT = 'F'
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOP.C_EVFOLYAMTIPUSA
WHERE
      OSZTALYCSOP.C_TANEVID = @pTanevId
  AND OSZTALYCSOP.C_INTEZMENYID = @pIntezmenyId
  AND TANCSOP.TOROLT = 'F'
  AND TANCSOP.C_TANEVID = @pTanevId

END