﻿-- =============================================
-- Description:	<Előszedjük a tanuló alap adatait>
-- =============================================
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloiAlapadatok]
GO

CREATE PROCEDURE [dbo].[uspGetTanuloiAlapadatok]
	 @pTanuloId		INT
  ,@pTanevId		INT
  ,@pIntezmenyId	INT
  ,@pOsztalyCsoportId int
AS
BEGIN
  -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
  SET NOCOUNT ON;
  DECLARE @OsztalyCsoport_Evfolyam int

  SET @OsztalyCsoport_Evfolyam = (SELECT C_EVFOLYAMTIPUSA FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId);
  
  --NOTE: 0. tábla - Alapadatok
  SELECT
     Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito
    ,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
    ,ISNULL(tanugyiAdatok.C_TORZSLAPSZAM,'') AS Torzslapszam
    ,ISNULL(tanugyiAdatok.C_NAPLOSORSZAM,'') AS Naplosorszam
    ,Felhasznalo.C_SZULETESIHELY AS SzuletesiHely
    ,Felhasznalo.C_SZULETESIDATUM AS SzuletesiIdo
    ,ISNULL(tanugyiAdatok.C_BEIRASINAPLOSORSZAM,Tanulo.C_BEIRASINAPLOSORSZAM) AS BeirasiNaploSorszam
    ,IIF(@OsztalyCsoport_Evfolyam IS NOT NULL AND @OsztalyCsoport_Evfolyam <> 7366,@OsztalyCsoport_Evfolyam,ISNULL(tanugyiAdatok.C_TANULOEVFOLYAMTIPUSID, @OsztalyCsoport_Evfolyam)) AS Evfolyam
  FROM T_TANULO_OSSZES Tanulo
  INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID
    AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
    AND Felhasznalo.C_TANEVID = @pTanevId
    AND Felhasznalo.TOROLT = 'F'
  LEFT JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulo.ID
    AND TanuloCsoport.C_OSZTALYCSOPORTID =  @pOsztalyCsoportId
    AND TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
    AND TanuloCsoport.C_TANEVID = @pTanevId
    AND TanuloCsoport.TOROLT = 'F'
  LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID 
    AND tanugyiAdatok.TOROLT = 'F'
  WHERE Tanulo.ID = @pTanuloId
    AND Tanulo.TOROLT = 'F'

  --NOTE: 1. tábla - Címek
  SELECT
     Cim.C_IRANYITOSZAM + ', ' +		--
     Cim.C_VAROS + ', ' +				--
     Cim.C_KOZTERULET + ' ' +			--
     Cim.C_KOZTERULETJELLEGENEV + ' ' +	--
     ISNULL(Cim.C_HAZSZAM, '') AS CimText
    ,CimTipus.C_NAME AS CimTipus
    ,Cim.C_CIMTIPUSA AS CimTipusId
  FROM T_CIM_OSSZES Cim
  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 Cim.C_FELHASZNALOID = @pTanuloId
    AND Cim.C_GONDVISELOID IS NULL
    AND Cim.C_INTEZMENYID = @pIntezmenyId
    AND Cim.C_TANEVID = @pTanevId
    AND Cim.TOROLT = 'F'

  --NOTE: 2. tábla - Email címek
  SELECT DISTINCT
    Email.C_EMAILCIM AS EmailCim
  FROM T_EMAIL_OSSZES Email
  WHERE Email.C_FELHASZNALOID = @pTanuloId
    AND Email.C_INTEZMENYID = @pIntezmenyId
    AND Email.C_TANEVID = @pTanevId
    AND Email.TOROLT = 'F'

  --NOTE: 3. tábla - Telefonszámok
  SELECT DISTINCT
    Telefon.C_TELEFONSZAM AS Telefonszam
  FROM T_TELEFON_OSSZES Telefon
  WHERE Telefon.C_FELHASZNALOID = @pTanuloId
    AND Telefon.C_INTEZMENYID = @pIntezmenyId
    AND Telefon.C_TANEVID = @pTanevId
    AND Telefon.TOROLT = 'F'

END
GO

