﻿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,
  @pTanuloId INT
AS
BEGIN

	SET NOCOUNT ON;
     
/*TANULO*/
SELECT DISTINCT
  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
  ,Cim.C_IRANYITOSZAM + ', ' +		--
  	 Cim.C_VAROS + ', ' +				--
  	 Cim.C_KOZTERULET + ' ' +			--
  	 KozteruletJelleg.C_NAME + ' ' +	--
  	 ISNULL(Cim.C_HAZSZAM, '')  AS	CimText
   ,Email.C_EMAILCIM				    AS	EmailCim
	,Telefon.C_TELEFONSZAM		    AS	Telefonszam
  ,IIF(t.C_SZAKKEPESITESSZAMA IS NOT NULL, 'van, '
  + 'OKJ száma: ............., megnevezése:   ', 'nincs')    AS okj
  FROM T_TANULO_OSSZES t 
  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'
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES KozteruletJelleg ON
				KozteruletJelleg.ID = Cim.C_KOZTERULETJELLEGE
			AND KozteruletJelleg.C_INTEZMENYID = @pIntezmenyId
			AND KozteruletJelleg.C_TANEVID = @pTanevId
			AND KozteruletJelleg.TOROLT = 'F'
  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'
	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'
    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_TANULOCSOPORT_OSSZES cs ON cs.C_TANULOID = t.ID  AND cs.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
  WHERE
    t.ID = @pTanuloId
    AND Cim.C_GONDVISELOID is null
  
  /*GONDVISELO*/
  SELECT
		 Gondviselo.C_NEV					      GondviseloNeve
		,Email.C_EMAILCIM					      EmailCim
		,Telefon.C_TELEFONSZAM				  Telefonszam
    ,Cim.C_IRANYITOSZAM + ', ' +		--
		 Cim.C_VAROS + ', ' +				--
		 Cim.C_KOZTERULET + ' ' +			--
		 KozteruletJelleg.C_NAME + ' ' +	--
		 ISNULL(Cim.C_HAZSZAM, '')			CimText
	FROM T_GONDVISELO_OSSZES Gondviselo
	LEFT 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'
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES KozteruletJelleg ON
				KozteruletJelleg.ID = Cim.C_KOZTERULETJELLEGE
			AND KozteruletJelleg.C_INTEZMENYID = @pIntezmenyId
			AND KozteruletJelleg.C_TANEVID = @pTanevId
			AND KozteruletJelleg.TOROLT = 'F'
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES CimTipus ON
				CimTipus.ID = Cim.C_CIMTIPUSA
			AND CimTipus.C_INTEZMENYID = @pIntezmenyId
			AND CimTipus.C_TANEVID = @pTanevId
			AND CimTipus.TOROLT = 'F'
	WHERE
			Gondviselo.C_TANULOID = @pTanuloId
		AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
		AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
		AND Gondviselo.C_TANEVID = @pTanevId
		AND Gondviselo.TOROLT = 'F'

/*INTEZMENYADATOK*/
  SELECT DISTINCT
    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
  FROM T_TANEV_osszes TANEV
    INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID 
  WHERE 
    TANEV.ID = @pTanevId
    
 /*TAGINTEZMENYADATOK*/
 SELECT DISTINCT
  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
FROM T_TANEV TANEV 
  INNER JOIN T_INTEZMENY INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
  INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID 
WHERE 
  TANEV.ID = @pTanevId
   
/*BESOROLAS*/
SELECT
  OKTATASINEVELESIFELADAT.C_NAME                     FeladatEllatasiHely
  ,MUNKAREND.C_NAME                                  NappaliRend
  ,EVFOLYAM.C_NAME                                   Evfolyam
FROM T_TANULOCSOPORT TANCSOP
  INNER JOIN T_OSZTALY OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
  INNER JOIN T_OSZTALYCSOPORT OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID
  INNER JOIN T_FELADATELLATASIHELY ON T_FELADATELLATASIHELY.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY.C_INTEZMENYID = @pIntezmenyId
  INNER JOIN T_DICTIONARYITEMBASE  MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
  INNER JOIN T_DICTIONARYITEMBASE AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY.C_TANEVID AND OKTATASINEVELESIFELADAT.TOROLT = 'F'
  INNER JOIN T_DICTIONARYITEMBASE_OSSZES EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOP.C_EVFOLYAMTIPUSA
WHERE
  TANCSOP.C_TANULOID = @pTanuloId
  AND OSZTALYCSOP.C_TANEVID = @pTanevId
  AND OSZTALYCSOP.C_INTEZMENYID = @pIntezmenyId
  
END