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

52 lines
No EOL
1.9 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetTantargyFelosztasokByTanuloId
GO
CREATE PROCEDURE uspGetTantargyFelosztasokByTanuloId
@pTanevId int
,@pTanuloId int
,@pDatum datetime = NULL
,@pFeladatellatasihelyId int = NULL
,@pFeladatKategoriaId int = NULL
,@pTanarId int = NULL
,@pOsztalyCsoportId int = NULL
,@pTantargyId int = NULL
,@pOraszam NUMERIC(10,2) = NULL
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE #OsztalyCsoportIdList (ID INT PRIMARY KEY, Nev NVARCHAR(500))
INSERT INTO
#OsztalyCsoportIdList (ID, Nev)
SELECT DISTINCT
ocs.ID, ocs.C_NEV
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.C_TANEVID = @pTanevId
AND ocs.TOROLT = 'F'
AND ocs.ID = tcs.C_OSZTALYCSOPORTID
AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
AND (ocs.C_FELADATELLATASIHELYID = @pFeladatellatasihelyId OR @pFeladatellatasihelyId IS NULL)
WHERE tcs.C_TANULOID = @pTanuloId
AND tcs.C_TANEVID = @pTanevId
AND tcs.TOROLT = 'F'
AND tcs.C_BELEPESDATUM <= ISNULL(@pDatum, GETDATE())
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > ISNULL(@pDatum, GETDATE()) )
SELECT
ttf.C_ORASZAM as HetiOraszam
,ttf.C_NEV as TTFNev
,tt.C_NEV as TantargyNev
,alk.C_NYOMTATASINEV as AlkalmazottNev
,ocs.Nev as OsztalyCsoportNev
FROM T_FOGLALKOZAS_OSSZES ttf
INNER JOIN T_TANTARGY_OSSZES tt On tt.ID = ttf.C_TANTARGYID
AND tt.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES alk ON alk.ID = ttf.C_TANARID
AND alk.TOROLT = 'F'
INNER JOIN #OsztalyCsoportIdList ocs ON ocs.ID = ttf.C_OSZTALYCSOPORTID
WHERE ttf.TOROLT = 'F'
AND (alk.ID = @pTanarId OR @pTanarId IS NULL)
AND (ocs.ID = @pOsztalyCsoportId OR @pOsztalyCsoportId IS NULL)
AND (tt.ID = @pTantargyId OR @pTantargyId IS NULL)
AND (ttf.C_ORASZAM = @pOraszam OR @pOraszam IS NULL)
END
GO