﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

CREATE PROCEDURE [dbo].[sp_GetIgazolasInfo] 
	@pIgazolasId	INT

AS 
BEGIN
SET NOCOUNT ON;

DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/

  SELECT 
                    igazolas.ID								                          ID
                    ,tanulo.ID          					                          TanuloId
                    ,tanulo.C_NYOMTATASINEV					                          Nev
                    ,IIF(tanulo.C_NEVSORREND = 'T',                                   --
                         tanulo.C_UTONEV + ' ' + tanulo.C_VEZETEKNEV,                 --
                         tanulo.C_VEZETEKNEV + ' ' + tanulo.C_UTONEV)                 NevElotagNelkul
                    ,tanuloCsoport.C_OSZTALYCSOPORTID		                          OsztalyCsoportId
                    ,osztalyCsoport.C_NEV					                          OsztalyCsoport
                    ,igazolas.C_KEZDETE						                          Kezdete
                    ,igazolas.C_VEGE						                          Vege
                    ,igazolas.C_IGAZOLASTIPUSA				                          IgazolasTipusa
                    ,igazolas.C_MEGJEGYZES					                          Megjegyzes
                    ,igazolas.C_ROGZITESDATUMA				                          RogzitesDatuma
                    ,felhasznalo.C_NYOMTATASINEV			                          Rogzito
                    ,IIF(felhasznalo.C_NEVSORREND = 'T',                              --
                         felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV,       --
                         felhasznalo.C_VEZETEKNEV + ' ' + felhasznalo.C_UTONEV)       RogzitoElotagNelkul

            FROM T_IGAZOLAS igazolas            
            INNER JOIN T_FELHASZNALO felhasznalo ON felhasznalo.ID = igazolas.C_ROGZITOID 
            INNER JOIN T_FELHASZNALO tanulo ON tanulo.ID = igazolas.C_TANULOID
            LEFT JOIN T_TANULOCSOPORT tanuloCsoport ON tanulocsoport.C_TANULOID = igazolas.C_TANULOID 
            Left JOIN T_OSZTALYCSOPORT osztalyCsoport ON tanuloCsoport.C_OSZTALYCSOPORTID = osztalyCsoport.ID AND osztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
            WHERE igazolas.ID = @pIgazolasId AND igazolas.Torolt='F' AND tanuloCsoport.C_BELEPESDATUM <= igazolas.C_KEZDETE 
                AND (tanuloCsoport.C_KILEPESDATUM > igazolas.C_KEZDETE  OR tanuloCsoport.C_KILEPESDATUM IS NULL) 
                AND tanulocsoport.C_OSZTALYCSOPORTID IN (
                    SELECT 
                        T_OSZTALY.ID
                    FROM T_OSZTALY
                    INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId)
				ORDER BY igazolas.ID DESC
END

GO