init
This commit is contained in:
+113
@@ -0,0 +1,113 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetOralatogatasData
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetOralatogatasData
|
||||
@pTanevId int
|
||||
,@pFelhasznaloId int
|
||||
,@pTol datetime = NULL
|
||||
,@pIg datetime = NULL
|
||||
,@pIsTanar bit
|
||||
,@pTanarId int = NULL
|
||||
,@pLatogatottPedagogusId int = NULL
|
||||
,@pOsztalyCsoportId int = NULL
|
||||
,@pIsKellKapcsolodoCsoportok bit
|
||||
,@pTantargyId int = NULL
|
||||
,@pFeladatKategoriaId int = NULL
|
||||
,@pFeladatEllatasiHelyId int = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @sql nvarchar(max)
|
||||
,@ertekeloId int
|
||||
|
||||
SET @sql = N'
|
||||
SELECT
|
||||
Oralatogatas.ID
|
||||
,TanitasiOra.ID AS TanitasiOraId
|
||||
,Oralatogatas.C_DATUM AS Datum
|
||||
,CONVERT(nvarchar(25), Oralatogatas.C_DATUM, 102) AS DatumST
|
||||
,ISNULL(DIB_VezetoiOraszamok.C_NAME, DIB_Beosztas.C_NAME) AS Beosztas
|
||||
,TanitasiOra.C_ORASZAM AS Oraszam
|
||||
,Felhasznalo.C_NYOMTATASINEV AS Alkalmazott
|
||||
,Felhasznalo.ID AS AlkalmazottId
|
||||
,Felhasznalo.C_VEZETEKNEV + '' '' + Felhasznalo.C_UTONEV AS AlkalmazottElotagNelkul
|
||||
,Tantargy.C_NEV AS Tantargy
|
||||
,OsztalyCsoport.C_NEV AS OsztalyCsoport
|
||||
,IIF(Oralatogatas.C_ERTEKELOID = @pFelhasznaloId, ''T'', ''F'') AS IsSajatErtekeles
|
||||
,LatogatottPedagogus.C_NYOMTATASINEV AS LatogatottPedagogus
|
||||
,LatogatottPedagogus.Id AS LatogatottPedagogusId
|
||||
FROM T_ORALATOGATAS_OSSZES Oralatogatas
|
||||
INNER JOIN T_TANITASIORA_OSSZES TanitasiOra ON TanitasiOra.ID = Oralatogatas.C_MEGTARTOTTORAID AND TanitasiOra.TOROLT = ''F''
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanitasiOra.C_OSZTALYCSOPORTID AND OsztalyCsoport.TOROLT = ''F''
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = TanitasiOra.C_TANTARGYID AND Tantargy.TOROLT = ''F''
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Oralatogatas.C_ERTEKELOID AND Felhasznalo.TOROLT = ''F''
|
||||
INNER JOIN T_MUNKAUGYIADATOK_OSSZES MunkaugyiAdatok ON MunkaugyiAdatok.C_ALKALMAZOTTID = Oralatogatas.C_ERTEKELOID AND MunkaugyiAdatok.TOROLT = ''F''
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIB_VezetoiOraszamok ON DIB_VezetoiOraszamok.ID = MunkaugyiAdatok.C_VEZETOIORASZAMOK AND MunkaugyiAdatok.C_VEZETOIORASZAMOK <> 6571 AND DIB_VezetoiOraszamok.TOROLT = ''F'' AND DIB_VezetoiOraszamok.C_TANEVID = MunkaugyiAdatok.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIB_Beosztas ON DIB_Beosztas.ID = MunkaugyiAdatok.C_MUNKAKORTIPUSA AND DIB_Beosztas.TOROLT = ''F'' AND DIB_Beosztas.C_TANEVID = MunkaugyiAdatok.C_TANEVID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES LatogatottPedagogus ON LatogatottPedagogus.ID = TanitasiOra.C_TANARID AND LatogatottPedagogus.TOROLT = ''F''
|
||||
WHERE Oralatogatas.TOROLT = ''F''
|
||||
AND Oralatogatas.C_TANEVID = @pTanevId
|
||||
'
|
||||
SET @sql += IIF(@pTol IS NOT NULL, N'
|
||||
AND Oralatogatas.C_DATUM >= @pTol', '')
|
||||
SET @sql += IIF(@pIg IS NOT NULL, N'
|
||||
AND Oralatogatas.C_DATUM <= @pIg', '')
|
||||
|
||||
--NOTE: Tanár esetén azok az óralátogatások kellenek, ahol vagy ő volt az értékelő,
|
||||
--vagy az ő óráját értékelték (a kiválasztott tanár).
|
||||
SET @sql +=
|
||||
CASE
|
||||
WHEN (@pIsTanar = 1) AND (@pTanarId IS NOT NULL) THEN N'
|
||||
AND (Oralatogatas.C_ERTEKELOID = @pErtekeloId AND TanitasiOra.C_TANARID = @pFelhasznaloId)'
|
||||
WHEN (@pIsTanar = 1) AND (@pTanarId IS NULL) THEN N'
|
||||
AND (Oralatogatas.C_ERTEKELOID = @pErtekeloId OR TanitasiOra.C_TANARID = @pFelhasznaloId)'
|
||||
WHEN (@pIsTanar = 0) AND (@pTanarId IS NOT NULL) THEN N'
|
||||
AND Oralatogatas.C_ERTEKELOID = @pErtekeloId'
|
||||
ELSE ''
|
||||
END
|
||||
SET @ertekeloId =
|
||||
CASE
|
||||
WHEN (@pIsTanar = 1) AND (@pTanarId IS NOT NULL) THEN @pTanarId
|
||||
WHEN (@pIsTanar = 1) AND (@pTanarId IS NULL) THEN @pFelhasznaloId
|
||||
WHEN (@pIsTanar = 0) AND (@pTanarId IS NOT NULL) THEN @pTanarId
|
||||
END
|
||||
|
||||
SET @sql += IIF(@pOsztalyCsoportId IS NOT NULL, IIF(@pIsKellKapcsolodoCsoportok = 0, N'
|
||||
AND TanitasiOra.C_OSZTALYCSOPORTID = @pOsztalyCsoportId', N'
|
||||
AND TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@pOsztalyCsoportId))'), '')
|
||||
|
||||
SET @sql += IIF(@pTantargyId IS NOT NULL, N'
|
||||
AND TanitasiOra.C_TANTARGYID = @pTantargyId', '')
|
||||
SET @sql += IIF(@pFeladatKategoriaId IS NOT NULL, N'
|
||||
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId', '')
|
||||
SET @sql += IIF(@pFeladatEllatasiHelyId IS NOT NULL, N'
|
||||
AND OsztalyCsoport.C_FELADATELLATASIHELYID = @pFeladatEllatasiHelyId', '')
|
||||
SET @sql += IIF(@pLatogatottPedagogusId IS NOT NULL, N'
|
||||
AND LatogatottPedagogus.Id = @pLatogatottPedagogusId', '')
|
||||
|
||||
EXEC sp_executesql @sql
|
||||
,N'
|
||||
@pTanevId int
|
||||
,@pFelhasznaloId int
|
||||
,@pTol datetime
|
||||
,@pIg datetime
|
||||
,@pErtekeloId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTantargyId int
|
||||
,@pLatogatottPedagogusId int
|
||||
,@pFeladatKategoriaId int
|
||||
,@pFeladatEllatasiHelyId int
|
||||
'
|
||||
,@pTanevId = @pTanevId
|
||||
,@pFelhasznaloId = @pFelhasznaloId
|
||||
,@pTol = @pTol
|
||||
,@pIg = @pIg
|
||||
,@pErtekeloId = @ertekeloId
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pLatogatottPedagogusId = @pLatogatottPedagogusId
|
||||
,@pFeladatKategoriaId = @pFeladatKategoriaId
|
||||
,@pFeladatEllatasiHelyId = @pFeladatEllatasiHelyId
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user