112 lines
No EOL
4.2 KiB
Transact-SQL
112 lines
No EOL
4.2 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS sp_GetDokumentumHelyettesitesekByDateInterval
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
|
|
@tanevId INT
|
|
,@intezmenyId INT
|
|
,@helyettesitesListaFormatumId INT = 0 --0 helyettesitett, 1 helyettesito
|
|
,@idoszakKezdete DATE
|
|
,@idoszakVege DATE
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #OrarendAdatok (
|
|
Datum datetime
|
|
,HetNapja int
|
|
,OraKezdete datetime
|
|
,OraVege datetime
|
|
,Oraszam int
|
|
,Megtartott char(1)
|
|
,OsztalyNev nvarchar(255)
|
|
,TanarNev nvarchar(255)
|
|
,TeremNev nvarchar(255)
|
|
,OraTipus nvarchar(200)
|
|
,HelyettesitoTanarID int
|
|
,HelyettesitoTanarNev nvarchar(255)
|
|
,HelyettesitesId int
|
|
,TanarID int
|
|
,TantargyId int
|
|
)
|
|
|
|
INSERT INTO #OrarendAdatok (
|
|
Datum
|
|
,HetNapja
|
|
,OraKezdete
|
|
,OraVege
|
|
,Oraszam
|
|
,Megtartott
|
|
,OsztalyNev
|
|
,TanarNev
|
|
,TeremNev
|
|
,OraTipus
|
|
,HelyettesitoTanarID
|
|
,HelyettesitoTanarNev
|
|
,HelyettesitesId
|
|
,TanarID
|
|
,TantargyId
|
|
)
|
|
EXEC
|
|
dbo.sp_GetOrarend
|
|
@pIntezmenyId = @IntezmenyId
|
|
,@pTanevId = @TanevId
|
|
,@pIdoszakKezdete = @IdoszakKezdete
|
|
,@pIdoszakVege = @IdoszakVege
|
|
,@pTanarId = NULL
|
|
,@pIsHelyettesitesNelkul = 0
|
|
,@pOsztalyCsoportId = NULL
|
|
,@pTanuloId = NULL
|
|
,@pTantargyId = NULL
|
|
,@pTeremId = NULL
|
|
,@pCsakOrarendiOrak = 0
|
|
,@pIsNapirend = NULL
|
|
,@pOszlopok = 'Datum,HetNapja,OraKezdete,OraVege,Oraszam,Megtartott,OsztalyNev,TanarNev,TeremNev,OraTipus,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,TantargyId'
|
|
|
|
SELECT
|
|
hely.HelyettesitoTanarID AS HelyettesitoId
|
|
,hely.TanarID AS HelyettesitettId
|
|
,dbo.fnGetDokumentumDatumFormatum(hely.Datum) AS HetNapja
|
|
,HetNapja.C_NAME AS HetNapjaMegnevezes
|
|
,IIF(hely.Oraszam IS NOT NULL,CONVERT(NVARCHAR(5), hely.Oraszam) + '.',
|
|
CONCAT(CONVERT(NVARCHAR(5), hely.OraKezdete, 108), '-', CONVERT(NVARCHAR(5), hely.OraVege, 108))) AS Oraszam
|
|
,IIF(hely.OraTipus = 'TanitasiOra' AND hely.Megtartott = 'F', 'Elmaradt óra', hely.HelyettesitoTanarNev) AS HelyettesitoNeve
|
|
,hely.TanarNev AS HelyettesitettNeve
|
|
,hely.OsztalyNev AS OsztalyCsoportNev
|
|
,tantargy.C_NEV AS TantargyNev
|
|
,hely.TeremNev AS TeremNev
|
|
,HelyettesitesTipusa.C_NAME AS HelyettesitesTipusa
|
|
,helyettesito.C_OKTATASIAZONOSITO AS HelyettesitoOktatasiAzon
|
|
,helyettesitesett.C_OKTATASIAZONOSITO AS HelyettesitettOktatasiAzon
|
|
,Rendez = CASE ISNUMERIC(hely.Oraszam)
|
|
WHEN 1 THEN CAST(hely.Oraszam AS INT)
|
|
ELSE 999999999999999 END
|
|
INTO #adatok
|
|
FROM
|
|
#OrarendAdatok hely
|
|
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = hely.TantargyId AND tantargy.TOROLT = 'F'
|
|
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hi ON hi.ID = hely.HelyettesitesId and hi.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = hely.HelyettesitoTanarID AND helyettesito.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES helyettesitesett ON helyettesitesett.ID = hely.TanarID AND helyettesitesett.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HelyettesitesTipusa ON HelyettesitesTipusa.ID = hi.C_HELYETTESITESTIPUS AND HelyettesitesTipusa.C_TANEVID = @TanevId AND HelyettesitesTipusa.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = hely.HetNapja AND HetNapja.C_TANEVID = @TanevId AND HetNapja.TOROLT = 'F'
|
|
WHERE (hely.OraTipus = 'TanitasiOra' AND (hely.HelyettesitoTanarID IS NOT NULL OR hely.Megtartott = 'F'))
|
|
OR (hely.OraTipus = 'OrarendiOra' AND hely.HelyettesitoTanarID IS NOT NULL)
|
|
ORDER BY hely.HetNapja, hely.Oraszam
|
|
|
|
SELECT DISTINCT HetNapja, HetNapjaMegnevezes FROM #adatok
|
|
|
|
IF @helyettesitesListaFormatumId = 0
|
|
BEGIN
|
|
SELECT DISTINCT HelyettesitettId PedagogusId, HelyettesitettNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitettNeve
|
|
SELECT * FROM #adatok
|
|
ORDER BY HetNapja, Rendez, Oraszam
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT DISTINCT HelyettesitoId PedagogusId, HelyettesitoNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitoNeve
|
|
SELECT * FROM #adatok
|
|
ORDER BY HetNapja, Rendez, Oraszam
|
|
END
|
|
END
|
|
GO |