91 lines
No EOL
3.7 KiB
Transact-SQL
91 lines
No EOL
3.7 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('sp_GetDokumentumHelyettesitesekByDateInterval') IS NOT NULL BEGIN
|
|
DROP PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
|
|
END
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
|
|
@tanevId INT,
|
|
@helyettesitesListaFormatumId INT = 0, --0 helyettesitett, 1 helyettesito
|
|
@idoszakKezdete DATE,
|
|
@idoszakVege DATE
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT
|
|
helyettesito.ID HelyettesitoId
|
|
,helyettesitesett.ID HelyettesitettId
|
|
,dbo.fnGetDokumentumDatumFormatum(hi.C_HELYETTESITESNAPJA) HetNapja
|
|
,ISNULL(CONVERT(NVARCHAR(5), orarendiOra.C_ORASZAM) + '.', '')Oraszam
|
|
,helyettesito.C_NYOMTATASINEV HelyettesitoNeve
|
|
,helyettesitesett.C_NYOMTATASINEV HelyettesitettNeve
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tantargy.C_NEV TantargyNev
|
|
,terem.C_NEV TeremNev
|
|
,HelyettesitesTipusa.C_NAME HelyettesitesTipusa
|
|
,helyettesito.C_OKTATASIAZONOSITO HelyettesitoOktatasiAzon
|
|
,helyettesitesett.C_OKTATASIAZONOSITO HelyettesitettOktatasiAzon
|
|
INTO #adatok
|
|
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
|
|
LEFT JOIN T_ORARENDIORA_OSSZES orarendiOra ON orarendiOra.Id = hi.C_HELYETTESITETTORARENDID AND orarendiOra.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = hi.C_HELYETTESTANAROKID AND helyettesito.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES helyettesitesett ON helyettesitesett.ID = orarendiOra.C_TANARID AND helyettesitesett.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = orarendiOra.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = orarendiOra.C_TANTARGYID AND tantargy.TOROLT = 'F'
|
|
LEFT JOIN T_TEREM_OSSZES terem ON terem.Id = orarendiOra.C_TEREMID AND terem.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES HelyettesitesTipusa ON HelyettesitesTipusa.ID = hi.C_HELYETTESITESTIPUS AND HelyettesitesTipusa.C_TANEVID = @tanevId
|
|
WHERE
|
|
hi.TOROLT = 'F'
|
|
AND hi.C_TANEVID = @tanevId
|
|
AND hi.C_HELYETTESITESNAPJA BETWEEN @idoszakKezdete AND @idoszakVege
|
|
ORDER BY dbo.fnGetDokumentumDatumFormatum(hi.C_HELYETTESITESNAPJA), orarendiOra.C_ORASZAM
|
|
|
|
-- elmaradt órák hozzáadása
|
|
INSERT INTO #adatok
|
|
SELECT
|
|
NULL HelyettesitoId
|
|
,tanar.ID HelyettesitettId
|
|
,dbo.fnGetDokumentumDatumFormatum(ora.C_DATUM) HetNapja
|
|
,ISNULL(CONVERT(NVARCHAR(5), ora.C_ORASZAM) + '.', '')Oraszam
|
|
,'Elmaradt óra' HelyettesitoNeve
|
|
,tanar.C_NYOMTATASINEV HelyettesitettNeve
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tantargy.C_NEV TantargyNev
|
|
,terem.C_NEV TeremNev
|
|
,'' HelyettesitesTipusa
|
|
,NULL HelyettesitoOktatasiAzon
|
|
,tanar.C_OKTATASIAZONOSITO HelyettesitettOktatasiAzon
|
|
FROM T_TANITASIORA_OSSZES ora
|
|
LEFT JOIN T_FELHASZNALO_OSSZES tanar ON tanar.ID = ora.C_TANARID AND tanar.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.Id = ora.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = ora.C_TANTARGYID AND tantargy.TOROLT = 'F'
|
|
LEFT JOIN T_TEREM_OSSZES terem ON terem.Id = ora.C_TEREMID AND terem.TOROLT = 'F'
|
|
WHERE
|
|
ora.TOROLT = 'F'
|
|
AND ora.C_MEGTARTOTT = 'F'
|
|
AND ora.C_TANEVID = @tanevId
|
|
AND ora.C_DATUM BETWEEN @idoszakKezdete AND @idoszakVege
|
|
ORDER BY dbo.fnGetDokumentumDatumFormatum(ora.C_DATUM), ora.C_ORASZAM
|
|
|
|
SELECT DISTINCT HetNapja FROM #adatok
|
|
|
|
IF @helyettesitesListaFormatumId = 0
|
|
BEGIN
|
|
SELECT DISTINCT HelyettesitettId PedagogusId, HelyettesitettNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitettNeve
|
|
SELECT * FROM #adatok ORDER BY HetNapja, Oraszam
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT DISTINCT HelyettesitoId PedagogusId, HelyettesitoNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitoNeve
|
|
SELECT * FROM #adatok ORDER BY HetNapja, Oraszam
|
|
END
|
|
|
|
END
|
|
|
|
GO |