52 lines
No EOL
1.9 KiB
Transact-SQL
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 |