kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Functions/fnGetTanuloOsztaly.sql
2024-03-13 00:33:46 +01:00

46 lines
1.7 KiB
Transact-SQL

DROP FUNCTION IF EXISTS fnGetTanuloOsztaly
GO
CREATE FUNCTION fnGetTanuloOsztaly (
@pTanuloId int
,@pDatum date = NULL
,@pFeladatKategoriaId int = NULL
,@pKiiratkozottNeJelenjenMeg bit = 1
,@pOktatasiNevelesiFeladatId int = NULL
)
RETURNS @ResultTable TABLE (
ID int
,EvfolyamTipusId int
,OsztalyNev nvarchar (255)
,BelepesDatuma datetime
)
AS BEGIN
INSERT INTO @ResultTable (
ID
,EvfolyamTipusId
,OsztalyNev
,BelepesDatuma
)
SELECT
OsztalyCsoport.ID
,OsztalyCsoport.C_EVFOLYAMTIPUSA
,OsztalyCsoport.C_NEV
,TanuloCsoport.C_BELEPESDATUM
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
AND Osztaly.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
AND OsztalyCsoport.TOROLT = 'F'
AND (OsztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
INNER JOIN T_FELADATELLATASIHELY_OSSZES FeladatEllatasiHely ON FeladatEllatasiHely.ID = OsztalyCsoport.C_FELADATELLATASIHELYID
AND (FeladatEllatasiHely.C_OKTATASINEVELESIFELADATTIPUS = @pOktatasiNevelesiFeladatId OR @pOktatasiNevelesiFeladatId IS NULL)
WHERE TanuloCsoport.C_TANULOID = @pTanuloId
AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_BELEPESDATUM <= ISNULL(@pDatum, CONVERT(date, GETDATE()))
AND ((TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM > ISNULL(@pDatum, CONVERT(date, GETDATE()))) OR @pKiiratkozottNeJelenjenMeg = 0)
RETURN
END
GO