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

52 lines
1.7 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetDKTFileJogosultsag
GO
CREATE PROCEDURE uspGetDKTFileJogosultsag
@pTanuloId INT
,@pFileId INT
,@pTanevId INT
AS
BEGIN
SET NOCOUNT ON;
SELECT COUNT(1)
FROM (
SELECT oraf.C_OSZTALYCSOPORTID OsztalyCsoportId
FROM T_ORAFILE_OSSZES oraf
INNER JOIN T_DKT_FILE_OSSZES f ON oraf.C_DKT_FILEID = f.ID
INNER JOIN T_TANULOCSOPORT_OSSZES tanuloOsztalyCsoportok ON tanuloOsztalyCsoportok.C_TANULOID = @pTanuloId
AND tanuloOsztalyCsoportok.TOROLT = 'F'
AND tanuloOsztalyCsoportok.C_OSZTALYCSOPORTID = oraf.C_OSZTALYCSOPORTID
AND tanuloOsztalyCsoportok.C_BELEPESDATUM <= f.C_FELTOLTESDATUM
AND (
tanuloOsztalyCsoportok.C_KILEPESDATUM IS NULL
OR tanuloOsztalyCsoportok.C_KILEPESDATUM >= f.C_FELTOLTESDATUM
)
WHERE oraf.C_DKT_FILEID = @pFileId
AND oraf.C_ISTANULOLATHATO = 'T'
AND oraf.TOROLT = 'F'
AND f.TOROLT = 'F'
AND f.C_TANEVID = @pTanevId
UNION
SELECT f.C_OSZTALYCSOPORTID OsztalyCsoportId
FROM T_DKT_FELADATFILE_OSSZES ff
INNER JOIN T_DKT_FELADAT_OSSZES f ON ff.C_FELADATID = f.ID
INNER JOIN T_TANULOCSOPORT_OSSZES tanuloOsztalyCsoportok ON tanuloOsztalyCsoportok.C_TANULOID = @pTanuloId
AND tanuloOsztalyCsoportok.TOROLT = 'F'
AND tanuloOsztalyCsoportok.C_OSZTALYCSOPORTID = f.C_OSZTALYCSOPORTID
AND tanuloOsztalyCsoportok.C_BELEPESDATUM <= f.C_BEADASHATARIDO
AND (
tanuloOsztalyCsoportok.C_KILEPESDATUM IS NULL
OR tanuloOsztalyCsoportok.C_KILEPESDATUM > f.C_BEADASHATARIDO
)
WHERE ff.C_FILEID = @pFileId
AND ff.TOROLT = 'F'
AND f.TOROLT = 'F'
AND ff.C_TANEVID = @pTanevId
) osztalyCsoportok
END
GO