SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE IF EXISTS uspTanuloEvfolyamTipusaLetezik;
GO

CREATE PROCEDURE uspTanuloEvfolyamTipusaLetezik
   @pIntezmenyId int
  ,@pTanevId int
  ,@pTanuloId int
  ,@pEvfolyamtipusIdList nvarchar(250)
AS
BEGIN
SET NOCOUNT ON;

  DECLARE @items TABLE(id INT NOT NULL PRIMARY KEY CLUSTERED);

  INSERT INTO @items(id)
  SELECT VALUE FROM STRING_SPLIT(@pEvfolyamtipusIdList, ',');

  SELECT COUNT(1)
    FROM T_TANULO_OSSZES tanulo
    INNER JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID AND tanuloCsoport.TOROLT = 'F' AND tanuloCsoport.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND tanuloCsoport.C_TANEVID = tanulo.C_ALTANEVID
    INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F' AND osztalyCsoport.C_TANEVID = tanuloCsoport.C_TANEVID AND osztalyCsoport.C_INTEZMENYID = tanuloCsoport.C_INTEZMENYID
    INNER JOIN T_EVFOLYAMTIPUS_OSSZES evfolyamtipus ON  osztalyCsoport.C_EVFOLYAMTIPUSA = evfolyamtipus.ID AND evfolyamtipus.TOROLT = 'F' AND evfolyamtipus.C_ALINTEZMENYID = osztalyCsoport.C_INTEZMENYID AND evfolyamtipus.C_ALTANEVID = osztalyCsoport.C_TANEVID
    INNER JOIN T_DICTIONARYITEMBASE evfolyamtipusDic on evfolyamtipusDic.ID = evfolyamtipus.ID AND evfolyamtipusDic.TOROLT = 'F' AND evfolyamtipusDic.C_TANEVID = evfolyamtipus.C_ALTANEVID AND evfolyamtipusDic.C_INTEZMENYID = evfolyamtipus.C_ALINTEZMENYID
    INNER JOIN @items i on i.id = evfolyamtipusDic.ID
  WHERE tanuloCsoport.C_BELEPESDATUM <= GETDATE() 
    AND (tanuloCsoport.C_KILEPESDATUM > GETDATE() OR tanuloCsoport.C_KILEPESDATUM IS NULL)
    AND tanulo.ID = @pTanuloId
    AND tanulo.C_ALINTEZMENYID = @pIntezmenyId
    AND tanulo.C_ALTANEVID = @pTanevId
END
