kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190224182556_OM_2195/uspGetTanuloOsztalyCsoportjai.sql
2024-03-13 00:33:46 +01:00

48 lines
1.5 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetTanuloOsztalyCsoportjai
GO
CREATE PROCEDURE uspGetTanuloOsztalyCsoportjai
@pTanuloId int
,@pTanevId int
,@pIsAktiv bit
,@pFeladatKategoriaId int
AS
BEGIN
DECLARE
@tanevNev nvarchar(30)
,@sql nvarchar(max)
SET @sql = N'
SELECT
tcs.ID
,ocs.C_NEV Nev
,ocs.C_EVFOLYAMTIPUSA EvfolyamTipus
,@tanevNev Tanev
,tcs.C_BELEPESDATUM ErvKezd
,tcs.C_KILEPESDATUM ErvVeg
,cs.C_TIPUSA CsoportTipus
,ob.C_NEV AS Osztalybontas
,o.C_KEPZESIFORMA AS KepzesiForma
,CASE WHEN o.ID IS NOT NULL THEN ''F'' ELSE ''T'' END AS IsCsoport
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = ''F''
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ob ON ob.ID = cs.C_OSZTALYBONTASID AND ob.TOROLT = ''F''
LEFT JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = ''F''
WHERE tcs.TOROLT = ''F''
AND tcs.C_TANULOID = @tanuloId
' + IIF(@pIsAktiv = 1, 'AND tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM is null or tcs.C_KILEPESDATUM >= GETDATE())', '')
EXEC sp_executesql @sql, N'
@tanuloId int
,@tanevNev nvarchar(30)
,@tanevId int
,@pFeladatKategoriaId int'
,@tanuloId = @pTanuloId
,@tanevNev = @tanevNev
,@tanevId = @pTanevId
,@pFeladatKategoriaId = @pFeladatKategoriaId
END
GO