﻿DROP FUNCTION IF EXISTS dbo.fnGetDokumentumGondviselok;  
GO

CREATE FUNCTION fnGetDokumentumGondviselok (@osztalyCsoportId INT, @tanevId INT, @isCsokkentettGondviselo NVARCHAR(1), @isTorvenyesGondviselo NVARCHAR(1))
RETURNS @Result TABLE (  
   GondviseloId		INT NOT NULL  
  ,GondviseloNev	NVARCHAR(MAX) NOT NULL  
  ,TanuloId			INT NOT NULL
  ,RokonsagifokId	INT
) AS  
BEGIN
INSERT INTO @Result (GondviseloId, GondviseloNev, TanuloId, RokonsagifokId)
SELECT DISTINCT 
	 Gondviselo.ID				GondviseloId
	,Gondviselo.C_NEV			GondviseloNev
	,Gondviselo.C_TANULOID		TanuloId
	,Gondviselo.C_ROKONSAGFOKA	RokonsagifokId
FROM T_GONDVISELO_OSSZES Gondviselo
	LEFT JOIN T_FELHASZNALOBELEPES FelhasznaloBelepes ON Gondviselo.ID = FelhasznaloBelepes.C_GONDVISELOID AND FelhasznaloBelepes.TOROLT = 'F' AND FelhasznaloBelepes.C_TANEVID = @tanevID
	INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyTanuloi ON OsztalyTanuloi.TanuloId = Gondviselo.C_TANULOID
WHERE
	Gondviselo.TOROLT = 'F'
	AND Gondviselo.C_ISTORVENYESKEPVISELO = @isTorvenyesGondviselo	
	AND (FelhasznaloBelepes.C_ISCSOKKENTETTGONDVISELO IS NULL OR FelhasznaloBelepes.C_ISCSOKKENTETTGONDVISELO = @isCsokkentettGondviselo)
	AND Gondviselo.C_TANEVID = @tanevId
	
RETURN
END
GO