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

44 lines
2.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetCsoportTanuloiByMunkarend
GO
CREATE PROCEDURE uspGetCsoportTanuloiByMunkarend
@pOsztalycsoportId int
,@pHasMunkarend bit
,@pIsAktivTanev bit
AS BEGIN
SET NOCOUNT ON;
SELECT
osztalyDetails.TanuloNev
,osztalyDetails.OktatasiAzonosito
,osztalyDetails.SzuletesiDatum
,osztalyDetails.Munkarend
FROM T_TANULOCSOPORT_OSSZES csoporTanuloi
INNER JOIN T_OSZTALYCSOPORT_OSSZES csoportDetails on csoportDetails.ID = csoporTanuloi.C_OSZTALYCSOPORTID AND csoportDetails.TOROLT = 'F'
OUTER APPLY (
SELECT
felhasznalo.C_NYOMTATASINEV TanuloNev
,felhasznalo.C_OKTATASIAZONOSITO OktatasiAzonosito
,C_SZULETESIDATUM SzuletesiDatum
,dic.C_NAME Munkarend
FROM T_TANULOCSOPORT_OSSZES osztalyBesorolas
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = osztalyBesorolas.ID AND tta.TOROLT = 'F'
INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalyBesorolas.C_OSZTALYCSOPORTID AND osztaly.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyDetails ON osztalyDetails.ID = osztalyBesorolas.C_OSZTALYCSOPORTID AND osztalyDetails.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = osztalyBesorolas.C_TANULOID AND felhasznalo.TOROLT ='F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.ID = tta.C_TANTERVIJELLEGID AND dic.C_TANEVID = osztalyBesorolas.C_TANEVID AND dic.TOROLT = 'F'
WHERE
osztalyBesorolas.TOROLT = 'F'
AND (@pIsAktivTanev = 0 OR osztalyBesorolas.C_BELEPESDATUM <= GETDATE())
AND (osztalyBesorolas.C_KILEPESDATUM IS NULL OR osztalyBesorolas.C_KILEPESDATUM > GETDATE())
AND osztalyBesorolas.C_TANULOID = csoporTanuloi.C_TANULOID
AND ((@pHasMunkarend = 1 AND tta.C_TANTERVIJELLEGID IS NOT NULL) OR (@pHasMunkarend = 0 AND tta.C_TANTERVIJELLEGID IS NULL))
AND csoportDetails.C_FELADATKATEGORIAID = osztalyDetails.C_FELADATKATEGORIAID
) osztalyDetails
WHERE
csoporTanuloi.C_OSZTALYCSOPORTID = @pOsztalycsoportId
AND csoporTanuloi.TOROLT = 'F'
AND (@pIsAktivTanev = 0 OR csoporTanuloi.C_BELEPESDATUM <= GETDATE())
AND (csoporTanuloi.C_KILEPESDATUM IS NULL OR csoporTanuloi.C_KILEPESDATUM > GETDATE())
END
GO