﻿DROP PROCEDURE IF EXISTS uspGetTanuloJogviszonyAdatok 
GO
  CREATE PROCEDURE uspGetTanuloJogviszonyAdatok      
     @pTanevId int
    ,@pIntezmenyId int
  AS
  BEGIN
    SET NOCOUNT ON;

     SELECT
       jogviszony.ID AS JogviszonyId
      ,jogviszonyTipusDic.C_NAME AS JogviszonyTipusa
      ,jogviszony.C_TBJOGVISZONYTIPUSID AS JogviszonyTipusaId
      ,jogviszony.C_KEZDETE AS JogviszonyKezdete
      ,jogviszonyKeletkezeseJogcimTipusDic.C_NAME AS JogviszonyKeletkezesenekJogcime
      ,jogviszony.C_JOGVKELETKEZESEJOGCIMTIPUSID AS JogviszonyKeletkezesenekJogcimeId
      ,jogviszony.C_VEGE AS JogviszonyVege
      ,jogviszonyMegszunesenekJogcimTipusDic.C_NAME AS JogviszonyMegszunesenekJogcime
      ,jogviszony.C_JOGVMEGSZUNESEJOGCIMTIPUSID AS JogviszonyMegszunesenekJogcimeId
      ,jogviszony.C_ISAKTIV AS JogviszonnyalRendelkezik
      ,jogviszony.C_MEGJEGYZES AS Megjegyzes
      ,tanulo.C_NYOMTATASINEV TanuloNev
      ,tanulo.C_OKTATASIAZONOSITO OktatasiAzonosito
      ,osztaly.OsztalyNev  AS Osztaly
	    ,osztaly.ID AS OsztalyId
    FROM T_TBJOGVISZONY_OSSZES jogviszony
      INNER JOIN T_FELHASZNALO_OSSZES tanulo ON
                      tanulo.ID = jogviszony.C_TANULOID
                  AND tanulo.TOROLT ='F'
                  AND tanulo.C_TANEVID = @pTanevId
                  AND tanulo.C_INTEZMENYID = @pIntezmenyId
      INNER JOIN T_TBJOGVISZONYTIPUS_OSSZES jogviszonyTipus ON 
                      jogviszonyTipus.ID = jogviszony.C_TBJOGVISZONYTIPUSID 
                  AND jogviszonyTipus.TOROLT = 'F' 
                  AND jogviszonyTipus.C_ALTANEVID = jogviszony.C_TANEVID 
                  AND jogviszonyTipus.C_ALINTEZMENYID = jogviszony.C_INTEZMENYID
      INNER JOIN T_DICTIONARYITEMBASE_OSSZES jogviszonyTipusDic ON 
                      jogviszonyTipusDic.ID = jogviszonyTipus.ID 
                  AND jogviszonyTipusDic.TOROLT = 'F' 
                  AND jogviszonyTipusDic.C_TANEVID = jogviszonyTipus.C_ALTANEVID 
                  AND jogviszonyTipusDic.C_INTEZMENYID = jogviszonyTipus.C_ALINTEZMENYID
                  AND jogviszonyTipusDic.C_DICTIONARYTYPEID = 183
      INNER JOIN T_JOGVKELETKEZESEJOGCIMTIPUS_OSSZES jogviszonyKeletkezeseJogcimTipus ON 
                      jogviszonyKeletkezeseJogcimTipus.ID = jogviszony.C_JOGVKELETKEZESEJOGCIMTIPUSID 
                  AND jogviszonyKeletkezeseJogcimTipus.TOROLT = 'F' 
                  AND jogviszonyKeletkezeseJogcimTipus.C_ALTANEVID = jogviszony.C_TANEVID 
                  AND jogviszonyKeletkezeseJogcimTipus.C_ALINTEZMENYID = jogviszony.C_INTEZMENYID
      INNER JOIN T_DICTIONARYITEMBASE_OSSZES jogviszonyKeletkezeseJogcimTipusDic ON 
                      jogviszonyKeletkezeseJogcimTipusDic.ID = jogviszonyKeletkezeseJogcimTipus.ID 
                  AND jogviszonyKeletkezeseJogcimTipusDic.TOROLT = 'F' 
                  AND jogviszonyKeletkezeseJogcimTipusDic.C_TANEVID = jogviszony.C_TANEVID 
                  AND jogviszonyKeletkezeseJogcimTipusDic.C_INTEZMENYID = jogviszony.C_INTEZMENYID
                  AND jogviszonyKeletkezeseJogcimTipusDic.C_DICTIONARYTYPEID = 184
      LEFT JOIN T_JOGVMEGSZUNESEJOGCIMTIPUS_OSSZES jogviszonyMegszunesenekJogcimTipus ON 
                      jogviszonyMegszunesenekJogcimTipus.ID = jogviszony.C_JOGVMEGSZUNESEJOGCIMTIPUSID 
                  AND jogviszonyMegszunesenekJogcimTipus.TOROLT = 'F' 
                  AND jogviszonyMegszunesenekJogcimTipus.C_ALTANEVID = jogviszony.C_TANEVID 
                  AND jogviszonyMegszunesenekJogcimTipus.C_ALINTEZMENYID = jogviszony.C_INTEZMENYID
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jogviszonyMegszunesenekJogcimTipusDic ON
                      jogviszonyMegszunesenekJogcimTipusDic.ID = jogviszonyMegszunesenekJogcimTipus.ID
                  AND jogviszonyMegszunesenekJogcimTipusDic.TOROLT = 'F'
                  AND jogviszonyMegszunesenekJogcimTipusDic.C_TANEVID = jogviszony.C_TANEVID
                  AND jogviszonyMegszunesenekJogcimTipusDic.C_INTEZMENYID = jogviszony.C_INTEZMENYID
                  AND jogviszonyMegszunesenekJogcimTipusDic.C_DICTIONARYTYPEID = 182
	    OUTER APPLY [fnGetTanuloOsztaly](tanulo.ID, NULL, NULL, 1, NULL) AS osztaly
    WHERE 
      jogviszony.C_INTEZMENYID = @pIntezmenyId
      AND jogviszony.C_TANEVID = @pTanevId
      AND jogviszony.TOROLT = 'F'
  END
GO
