119 lines
6.5 KiB
Transact-SQL
119 lines
6.5 KiB
Transact-SQL
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
|