94 lines
No EOL
4 KiB
Transact-SQL
94 lines
No EOL
4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanulokTantargyaiEsPedagogusaiExcelExport]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspGetTanulokTantargyaiEsPedagogusaiExcelExport]
|
|
@pTanevId int = NULL
|
|
,@pFeladatkategoriaId int = NULL
|
|
,@pDatum datetime = NULL
|
|
,@pAmiKategoriaId int = NULL
|
|
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@sql nvarchar(max) = ''
|
|
|
|
SET @sql += N'
|
|
SELECT
|
|
felhasznalotanulo.C_ELOTAG AS ''Előtag''
|
|
,felhasznalotanulo.C_VEZETEKNEV AS ''Vezetéknév''
|
|
,felhasznalotanulo.C_UTONEV AS ''Utónév''
|
|
,felhasznalotanulo.C_OKTATASIAZONOSITO AS ''Oktatási azonosító''
|
|
,osztalycsoport.C_NEV AS ''Osztály / Csoport''
|
|
,tantargy.C_NEV AS ''Tantárgy''
|
|
,felhasznalotanar.C_NYOMTATASINEV AS ''Pedagógus''
|
|
,felhasznalotanar.C_OKTATASIAZONOSITO AS ''Pedagógus oktatási azonosító'''
|
|
|
|
IF @pFeladatkategoriaId IS NOT NULL AND @pFeladatkategoriaId = @pAmiKategoriaId BEGIN
|
|
SET @sql += N'
|
|
,foglalkozas.C_ORASZAM AS ''Heti óraszám''
|
|
,IIF(foglalkozas.C_ISOSSZEVONTORA = ''F'', ''Nem'', IIF(foglalkozas.C_ISOSSZEVONTORA = ''T'', ''Igen'', '''')) AS ''TTF óraszám korrekció''
|
|
,fotargy.C_NAME AS ''Főtárgy''
|
|
,tagozat.C_NAME AS ''Tagozat''
|
|
,tantargykotelezoseg.C_NAME AS ''Tantárgy kötelezőség''
|
|
,evfolyamtipus.C_NAME AS ''Évfolyam típus'''
|
|
END
|
|
|
|
SET @sql += N'
|
|
FROM T_TANULO_OSSZES tanulo
|
|
INNER JOIN T_FELHASZNALO_OSSZES felhasznalotanulo ON felhasznalotanulo.ID = tanulo.ID
|
|
AND felhasznalotanulo.TOROLT = ''F''
|
|
AND tanulo.C_ALTANEVID = @pTanevId
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tancsop ON tancsop.C_TANULOID = tanulo.ID AND tancsop.C_BELEPESDATUM <= CONVERT(date, @pDatum) AND (C_KILEPESDATUM > CONVERT(date, @pDatum) OR C_KILEPESDATUM IS NULL)
|
|
AND tancsop.TOROLT = ''F''
|
|
AND tancsop.C_TANEVID = @pTanevId
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalycsoport ON osztalycsoport.ID = tancsop.C_OSZTALYCSOPORTID
|
|
AND osztalycsoport.TOROLT = ''F''
|
|
AND osztalycsoport.C_TANEVID = @pTanevId
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES foglalkozas ON foglalkozas.C_OSZTALYCSOPORTID = osztalycsoport.ID
|
|
AND foglalkozas.TOROLT = ''F''
|
|
AND foglalkozas.C_TANEVID = @pTanevId
|
|
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = foglalkozas.C_TANTARGYID
|
|
AND tantargy.TOROLT = ''F''
|
|
AND tantargy.C_TANEVID = @pTanevId
|
|
INNER JOIN T_FELHASZNALO_OSSZES felhasznalotanar ON felhasznalotanar.ID = foglalkozas.C_TANARID
|
|
AND felhasznalotanar.TOROLT = ''F''
|
|
AND felhasznalotanar.C_TANEVID = @pTanevId'
|
|
|
|
IF @pFeladatkategoriaId IS NOT NULL AND @pFeladatkategoriaId = @pAmiKategoriaId BEGIN
|
|
SET @sql += N'
|
|
LEFT JOIN T_FOGLALKOZASAMITANULO_OSSZES fat ON fat.C_FOGLALKOZASID = foglalkozas.ID
|
|
AND fat.C_TANULOID = tanulo.ID
|
|
AND fat.C_TANEVID = @pTanevId
|
|
AND fat.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES fotargy ON fotargy.ID = fat.C_AMIFOTARGYID
|
|
AND fotargy.C_TANEVID = fat.C_TANEVID
|
|
AND fotargy.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tagozat on tagozat.ID = fat.C_AMITAGOZATID
|
|
AND tagozat.C_TANEVID = fat.C_TANEVID
|
|
AND tagozat.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tantargykotelezoseg on tantargykotelezoseg.ID = fat.C_AMITANTARGYKOTELEZOSEGID
|
|
AND tantargykotelezoseg.C_TANEVID = fat.C_TANEVID
|
|
AND tantargykotelezoseg.TOROLT = ''F''
|
|
LEFT JOIN T_DICTIONARYITEMBASE evfolyamtipus ON evfolyamtipus.ID = fat.C_EVFOLYAMTIPUSID
|
|
AND evfolyamtipus.C_TANEVID = fat.C_TANEVID
|
|
AND evfolyamtipus.TOROLT = ''F'''
|
|
END
|
|
|
|
SET @sql += N'
|
|
WHERE tanulo.c_ALTANEVID = @pTanevId
|
|
AND (osztalycsoport.C_FELADATKATEGORIAID = @pFeladatkategoriaId OR @pFeladatkategoriaId IS NULL)
|
|
ORDER BY felhasznalotanulo.C_VEZETEKNEV, felhasznalotanulo.C_UTONEV'
|
|
|
|
EXEC sp_executesql @sql, N'
|
|
@pTanevId int = NULL
|
|
,@pFeladatkategoriaId int = NULL
|
|
,@pDatum datetime = NULL
|
|
,@pAmiKategoriaId int = NULL'
|
|
,@pTanevId = @pTanevId
|
|
,@pFeladatkategoriaId = @pFeladatkategoriaId
|
|
,@pDatum = @pDatum
|
|
,@pAmiKategoriaId = @pAmiKategoriaId
|
|
|
|
END
|
|
GO |