DROP PROCEDURE IF EXISTS uspGetEszkozIgenylesGondviseloRiportExportData GO CREATE PROCEDURE uspGetEszkozIgenylesGondviseloRiportExportData @pTanevId int ,@pIntezmenyId int ,@pEvfolyamtipusIds nvarchar (max) ,@pGondviseloLetezik char(1) = null ,@pGondviseloBelepesLetezik char(1) = null ,@pGondviseloTorvenyesKepviselo char(1) = null ,@pGondviseloEszkozIgenylesElfogadottASZF char(1) = null AS BEGIN SET NOCOUNT ON; CREATE TABLE #EvfolyamtipusIds (EvfolyamtipusId int) CREATE TABLE #TanuloNyersAdatok ( Tanulo nvarchar (255) ,TanuloOktatasiAzonositoja nvarchar (20) ,Osztaly nvarchar (255) ,TanuloOsztalyanakEvfolyama nvarchar (250) ,GondviseloLetezik char (1) ,GondviseloBelepesLetezik char (1) ,GondviseloTorvenyesKepviselo char (1) ,GondviseloEszkozIgenylesElfogadottASZF char (1) ) IF @pEvfolyamtipusIds IS NOT NULL BEGIN INSERT INTO #EvfolyamtipusIds(EvfolyamtipusId) SELECT value FROM STRING_SPLIT(@pEvfolyamtipusIds,',') END INSERT INTO #TanuloNyersAdatok SELECT felhasznalo.C_NYOMTATASINEV AS Tanulo ,felhasznalo.C_OKTATASIAZONOSITO AS TanuloOktatasiAzonositoja ,osztalyCsoport.C_NEV AS Osztaly ,evfolyamtipusDic.C_NAME_1 AS TanuloOsztalyanakEvfolyama ,IIF(gondviselo.ID IS NULL, 'F', 'T') AS GondviseloLetezik ,IIF(gondviseloBelepes.ID IS NULL, 'F', 'T') AS GondviseloBelepesLetezik ,IIF(gondviselo.C_ISTORVENYESKEPVISELO = 'T', 'T', 'F') AS GondviseloTorvenyesKepviselo ,IIF(eszkozIgenyles.C_ISELFOGADOTTASZF = 'T', 'T', 'F') AS GondviseloEszkozIgenylesElfogadottASZF FROM T_TANULO_OSSZES tanulo INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID AND felhasznalo.TOROLT = 'F' AND felhasznalo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND felhasznalo.C_TANEVID = tanulo.C_ALTANEVID 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 AND tanuloCsoport.C_TANULOID = tanulo.ID AND tanuloCsoport.C_BELEPESDATUM <= GETDATE() AND (tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM > GETDATE()) 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_OSZTALY osztaly ON osztaly.ID = osztalyCsoport.ID AND osztaly.TOROLT = 'F' AND osztaly.C_ALTANEVID = osztalyCsoport.C_TANEVID AND osztaly.C_ALINTEZMENYID = osztalyCsoport.C_INTEZMENYID INNER JOIN T_EVFOLYAMTIPUS_OSSZES evfolyamtipus ON evfolyamtipus.ID = osztalyCsoport.C_EVFOLYAMTIPUSA AND evfolyamtipus.TOROLT = 'F' AND evfolyamtipus.C_ALINTEZMENYID = osztalyCsoport.C_INTEZMENYID AND evfolyamtipus.C_ALTANEVID = osztalyCsoport.C_TANEVID INNER JOIN #EvfolyamtipusIds validEvfolyamok ON validEvfolyamok.EvfolyamtipusId = evfolyamtipus.ID 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 LEFT JOIN T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID AND gondviselo.C_TANEVID = tanulo.C_ALTANEVID AND gondviselo.C_INTEZMENYID = tanulo.C_ALINTEZMENYID AND gondviselo.TOROLT = 'F' LEFT JOIN T_FELHASZNALOBELEPES_OSSZES gondviseloBelepes ON gondviseloBelepes.C_GONDVISELOID = gondviselo.ID AND gondviseloBelepes.TOROLT = 'F' AND gondviseloBelepes.C_INTEZMENYID = gondviselo.C_INTEZMENYID AND gondviseloBelepes.C_TANEVID = gondviselo.C_TANEVID AND gondviseloBelepes.C_BEJELENTKEZESINEV IS NOT NULL LEFT JOIN T_ESZKOZIGENYLES_OSSZES eszkozIgenyles ON eszkozIgenyles.C_GONDVISELOID = gondviselo.ID AND eszkozIgenyles.C_INTEZMENYID = gondviselo.C_INTEZMENYID AND eszkozIgenyles.C_TANEVID = gondviselo.C_TANEVID AND eszkozIgenyles.TOROLT = 'F' WHERE tanulo.C_ALINTEZMENYID = @pIntezmenyId AND tanulo.C_ALTANEVID = @pTanevId SELECT Tanulo ,TanuloOktatasiAzonositoja ,Osztaly ,TanuloOsztalyanakEvfolyama FROM #TanuloNyersAdatok GROUP BY Tanulo ,TanuloOktatasiAzonositoja ,Osztaly ,TanuloOsztalyanakEvfolyama HAVING (@pGondviseloLetezik IS NULL OR @pGondviseloLetezik = MAX(GondviseloLetezik)) AND (@pGondviseloBelepesLetezik IS NULL OR @pGondviseloBelepesLetezik = MAX(GondviseloBelepesLetezik)) AND (@pGondviseloTorvenyesKepviselo IS NULL OR @pGondviseloTorvenyesKepviselo = MAX(GondviseloTorvenyesKepviselo)) AND (@pGondviseloEszkozIgenylesElfogadottASZF IS NULL OR @pGondviseloEszkozIgenylesElfogadottASZF = MAX(GondviseloEszkozIgenylesElfogadottASZF)) DROP TABLE #EvfolyamtipusIds DROP TABLE #TanuloNyersAdatok END GO