This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,71 @@
DROP PROCEDURE IF EXISTS uspGetTanuloOsztalyCsoportjai
GO
CREATE PROCEDURE uspGetTanuloOsztalyCsoportjai
@pTanuloIds nvarchar (max)
,@pTanevId int
,@pIsAktiv bit
,@pFeladatKategoriaId int
,@pOsztalyfonokIds nvarchar (max)
AS BEGIN
SET NOCOUNT ON;
DECLARE
@tanevNev nvarchar (30)
,@sql nvarchar (max)
SELECT
@tanevNev = C_NEV
FROM T_TANEV
WHERE ID = @pTanevId
SET @sql = N'
SELECT DISTINCT
CASE WHEN @pTanuloIds IS NULL THEN -1 ELSE tcs.ID END AS ID
,tcs.C_OSZTALYCSOPORTID AS OsztalyCsoportId
,ocs.C_NEV AS Nev
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipus
,ocs.C_FELADATKATEGORIAID AS FeladatKategoriaId
,@tanevNev AS Tanev
,CASE WHEN @pOsztalyfonokIds IS NULL THEN tcs.C_TANULOID ELSE -1 END AS TanuloId
,tcs.C_BELEPESDATUM AS ErvKezd
,tcs.C_KILEPESDATUM AS ErvVeg
,cs.C_TIPUSA AS 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
,o.C_OSZTALYFONOKID AS OsztalyfonokId
,cs.C_CSOPORTVEZETOID AS CsoportVezetoId
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)
AND ocs.TOROLT = ''F''
AND ocs.C_TANEVID = tcs.C_TANEVID
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
AND cs.TOROLT = ''F''
AND cs.C_ALTANEVID = tcs.C_TANEVID
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ob ON ob.ID = cs.C_OSZTALYBONTASID
AND ob.TOROLT = ''F''
AND ob.C_TANEVID = tcs.C_TANEVID
LEFT JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID
AND o.TOROLT = ''F''
AND o.C_ALTANEVID = tcs.C_TANEVID
WHERE tcs.TOROLT = ''F''
AND tcs.C_TANEVID = @tanevId'
+ IIF(@pTanuloIds IS NOT NULL, ' AND tcs.C_TANULOID IN (SELECT value FROM STRING_SPLIT(@pTanuloIds, '',''))', '')
+ IIF(@pOsztalyfonokIds IS NOT NULL, ' AND o.C_OSZTALYFONOKID IN (SELECT value FROM STRING_SPLIT(@pOsztalyfonokIds, '',''))', '')
+ IIF(@pIsAktiv = 1, ' AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())', '')
EXEC sp_executesql @sql, N'
@pTanuloIds nvarchar (max)
,@tanevNev nvarchar (30)
,@tanevId int
,@pFeladatKategoriaId int
,@pOsztalyfonokIds nvarchar (max)'
,@pTanuloIds = @pTanuloIds
,@tanevNev = @tanevNev
,@tanevId = @pTanevId
,@pFeladatKategoriaId = @pFeladatKategoriaId
,@pOsztalyfonokIds = @pOsztalyfonokIds
END
GO