init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,334 @@
|
|||
IF OBJECT_ID('dbo.fnGetTanorak') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetTanorak
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- A Funkció visszaadja egy pedagógus, egy osztály vagy csoport, egy tantárgy vagy egy terem minden
|
||||
-- naplózatlan, naplózott, megtartott és nem-megtartott, helyettesített, vagy akármilyen óráját
|
||||
-- egy megadott időszakra
|
||||
CREATE FUNCTION dbo.fnGetTanorak
|
||||
(
|
||||
@tanevId INT, -- Kötelezően átadandó
|
||||
@kezdoDatum DATETIME = NULL, -- NULL esetén az adott tanév első napjától vizsgálja
|
||||
@vegDatum DATETIME = NULL, -- NULL esetén az adott tanév utolsó napjáig vizsgálja
|
||||
@tanarId INT = NULL, -- NULL esetén minden pedagógus órái lejönnek
|
||||
@tantargyId INT = NULL, -- NULL esetén minden pedagógus órái lejönnek
|
||||
@teremId INT = NULL, -- NULL esetén minden pedagógus órái lejönnek
|
||||
@osztalycsoportId INT = NULL, -- NULL esetén minden osztály vagy csoport órái lejönnek
|
||||
@isKapcsolodoCsoportok BIT = 0 -- 1 esetén az osztály vagy csoport kapcsolódó osztályait is csoportojait is lehozza,
|
||||
-- csak akkor értelmezhető, ha van @osztalycsoportId is.
|
||||
)
|
||||
RETURNS @retTable TABLE (
|
||||
OraDatuma DATETIME,
|
||||
OraKezdete DATETIME,
|
||||
OraVege DATETIME,
|
||||
HetNapjaId INT,
|
||||
CsengetesiRendId INT,
|
||||
CsengetesiRendOraId INT,
|
||||
Oraszam INT,
|
||||
OraTulajdonosId INT,
|
||||
TanarId INT,
|
||||
HelyettesitoId INT,
|
||||
OsztalyCsoportId INT,
|
||||
TantargyId INT,
|
||||
TeremId INT,
|
||||
IsHelyettesitett BIT,
|
||||
IsNaplozott BIT,
|
||||
IsMobilNaplozott BIT,
|
||||
IsElmaradt BIT,
|
||||
IsOrarendNelkul BIT,
|
||||
OrarendiOraId INT,
|
||||
TanitasiOraId INT
|
||||
)
|
||||
BEGIN
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Segédtáblák definiálása
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
DECLARE @Naptar TABLE
|
||||
(Datum DATETIME, HetirendId INT, HetnapjaId INT, CsengetesiRendId INT, IsTanitasiNap BIT, IsOrarendiNap BIT)
|
||||
DECLARE @OsztalyCsoportNaptar TABLE
|
||||
(Datum DATETIME, HetirendId INT, HetnapjaId INT, CsengetesiRendId INT, IsTanitasiNap BIT, IsOrarendiNap BIT, OsztalycsoportId INT)
|
||||
DECLARE @KapcsolodoOsztalyCsoportok TABLE
|
||||
(OsztalyCsoportId INT)
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Minden hét hetirend ID-jának beállítása
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
DECLARE @MindenHetHetirend INT = 1554
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Aktív csengetési rend megkeresése
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
DECLARE @AktivCsengetesiRendId INT
|
||||
SELECT TOP 1
|
||||
@AktivCsengetesiRendId = ID
|
||||
FROM T_CSENGETESIREND_OSSZES
|
||||
WHERE C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_AKTIV = 'T'
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Kezdődátum megkeresése, ha NULL
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
IF (@kezdoDatum IS NULL)
|
||||
BEGIN
|
||||
SELECT @kezdoDatum = C_KEZDONAP FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND ID = @tanevId
|
||||
END
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Végdátum megkeresése, ha NULL
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
IF (@vegDatum IS NULL)
|
||||
BEGIN
|
||||
SELECT @vegDatum = C_UTOLSONAP FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND ID = @tanevId
|
||||
END
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Kapcsolódó osztályok és csoportok megkeresése, ha szükséges
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
IF (@osztalycsoportId IS NOT NULL)
|
||||
BEGIN
|
||||
IF (@isKapcsolodoCsoportok = 1)
|
||||
BEGIN
|
||||
INSERT INTO @KapcsolodoOsztalyCsoportok (OsztalyCsoportId)
|
||||
SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate(@osztalycsoportId,@kezdoDatum,@vegDatum)
|
||||
END
|
||||
IF (@isKapcsolodoCsoportok = 0)
|
||||
BEGIN
|
||||
INSERT INTO @KapcsolodoOsztalyCsoportok (OsztalyCsoportId)
|
||||
VALUES (@osztalycsoportId)
|
||||
END
|
||||
END
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Az alapértelmezett naptári napok betétele a segédtáblába
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
INSERT INTO @Naptar
|
||||
(Datum, HetirendId, HetNapjaId, CsengetesiRendId, IsTanitasiNap, IsOrarendiNap)
|
||||
SELECT
|
||||
nn.C_NAPDATUMA,
|
||||
ISNULL(ISNULL(tr.C_HETIREND,nn.C_HETIREND),@MindenHetHetirend),
|
||||
ISNULL(tr.C_HETNAPJA,nn.C_HETNAPJA),
|
||||
ISNULL(tr.C_CSENGETESIRENDID,@AktivCsengetesiRendId),
|
||||
IIF(ISNULL(tr.C_NAPTIPUSA,nn.C_NAPTIPUSA) IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401),0,1),
|
||||
IIF(ISNULL(tr.C_ORARENDINAP,nn.C_ORARENDINAP) = 'T',1,0)
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr
|
||||
ON tr.C_DATUM = nn.C_NAPDATUMA
|
||||
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
AND tr.C_TANEVID = nn.C_TANEVID
|
||||
AND tr.TOROLT = 'F'
|
||||
WHERE nn.C_NAPDATUMA >= @kezdoDatum
|
||||
AND nn.C_NAPDATUMA <= @vegDatum
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
AND nn.TOROLT = 'F'
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Az OsztályCsoport-ok esetén érvényes naptári napok betétele a segédtáblába
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
INSERT INTO @OsztalyCsoportNaptar
|
||||
(Datum, HetirendId, HetNapjaId, CsengetesiRendId, IsTanitasiNap, IsOrarendiNap, OsztalycsoportId)
|
||||
SELECT
|
||||
nn.C_NAPDATUMA,
|
||||
ISNULL(ISNULL(tr.C_HETIREND,nn.C_HETIREND),@MindenHetHetirend),
|
||||
ISNULL(tr.C_HETNAPJA,nn.C_HETNAPJA),
|
||||
ISNULL(tr.C_CSENGETESIRENDID,@AktivCsengetesiRendId),
|
||||
IIF(ISNULL(tr.C_NAPTIPUSA,nn.C_NAPTIPUSA) IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401),0,1),
|
||||
IIF(ISNULL(tr.C_ORARENDINAP,nn.C_ORARENDINAP) = 'T',1,0),
|
||||
ocstr.C_OSZTALYCSOPORTID
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr
|
||||
ON tr.C_DATUM = nn.C_NAPDATUMA
|
||||
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
||||
AND tr.C_TANEVID = nn.C_TANEVID
|
||||
AND tr.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
||||
ON ocstr.C_TANEVRENDJEID = tr.ID
|
||||
WHERE nn.C_NAPDATUMA >= @kezdoDatum
|
||||
AND nn.C_NAPDATUMA <= @vegDatum
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
AND nn.TOROLT = 'F'
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Alapértelmezett órarend összeállítása, az egyedi OsztályCsoportok naptára nélkül
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
INSERT INTO @retTable (
|
||||
OraDatuma, OraKezdete, OraVege, HetNapjaId, CsengetesiRendId, CsengetesiRendOraId, Oraszam,
|
||||
OraTulajdonosId, TanarId, HelyettesitoId, OsztalyCsoportId, TantargyId, TeremId,
|
||||
IsHelyettesitett, IsNaplozott, IsMobilNaplozott, IsElmaradt, IsOrarendNelkul, OrarendiOraId, TanitasiOraId)
|
||||
SELECT
|
||||
-- Időpont adatok
|
||||
n.Datum AS OraDatuma,
|
||||
oo.C_ORAKEZDETE AS OraKezdete,
|
||||
oo.C_ORAVEGE AS OraVege,
|
||||
n.HetNapjaId AS HetNapjaId,
|
||||
oo.C_CSENGETESIRENDID AS CsengetesiRendId,
|
||||
oo.C_CSENGETESIRENDORAID AS CsengetesiRendOraId,
|
||||
oo.C_ORASZAM AS Oraszam,
|
||||
-- Kapcsolati adatok
|
||||
oo.C_ORATULAJDONOSID AS OraTulajdonosId,
|
||||
oo.C_TANARID AS TanarId,
|
||||
hi.C_HELYETTESTANAROKID AS HelyettesitoId,
|
||||
oo.C_OSZTALYCSOPORTID AS OsztalyCsoportId,
|
||||
oo.C_TANTARGYID AS TantargyId,
|
||||
oo.C_TEREMID AS TeremId,
|
||||
-- Egyéb adatok
|
||||
IIF(hi.ID IS NULL,0,1) AS IsHelyettesitett,
|
||||
0 AS IsNaplozott,
|
||||
0 AS IsMobilNaplozott,
|
||||
0 AS IsElmaradt,
|
||||
0 AS IsOrarendNelkul,
|
||||
oo.ID AS OrarendiOraId,
|
||||
NULL AS TanitasiOraId
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN @Naptar n
|
||||
ON n.HetNapjaId = oo.C_HETNAPJA
|
||||
AND (n.HetirendId = @MindenHetHetirend OR n.HetirendId = oo.C_HETIREND)
|
||||
AND n.Datum >= oo.C_ORAERVENYESSEGKEZDETE
|
||||
AND n.Datum <= oo.C_ORAERVENYESSEGVEGE
|
||||
AND n.IsTanitasiNap = 1
|
||||
AND n.IsOrarendiNap = 1
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
ON DATEDIFF(day, n.Datum, hi.C_HELYETTESITESNAPJA) = 0
|
||||
AND hi.C_HELYETTESITETTORARENDID = oo.ID
|
||||
AND hi.C_TANEVID = @tanevid
|
||||
AND hi.TOROLT = 'F'
|
||||
WHERE oo.C_TANEVID = @tanevid
|
||||
AND oo.TOROLT = 'F'
|
||||
AND oo.C_OSZTALYCSOPORTID NOT IN (SELECT OsztalycsoportId FROM @OsztalyCsoportNaptar ocsn WHERE ocsn.Datum = n.Datum)
|
||||
AND (@osztalycsoportId IS NULL OR (oo.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM @KapcsolodoOsztalyCsoportok)))
|
||||
AND (@tantargyId IS NULL OR oo.C_TANTARGYID = @tantargyId)
|
||||
AND (@tanarId IS NULL OR oo.C_TANARID = @tanarId OR hi.C_HELYETTESTANAROKID = @tanarId)
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Órarend kiegészítése az egyedi osztályok és csoportok órarendjével
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
INSERT INTO @retTable (
|
||||
OraDatuma, OraKezdete, OraVege, HetNapjaId, CsengetesiRendId, CsengetesiRendOraId, Oraszam,
|
||||
OraTulajdonosId, TanarId, HelyettesitoId, OsztalyCsoportId, TantargyId, TeremId,
|
||||
IsHelyettesitett, IsNaplozott, IsMobilNaplozott, IsElmaradt, IsOrarendNelkul, OrarendiOraId, TanitasiOraId)
|
||||
SELECT
|
||||
-- Időpont adatok
|
||||
n.Datum AS OraDatuma,
|
||||
oo.C_ORAKEZDETE AS OraKezdete,
|
||||
oo.C_ORAVEGE AS OraVege,
|
||||
n.HetNapjaId AS HetNapjaId,
|
||||
oo.C_CSENGETESIRENDID AS CsengetesiRendId,
|
||||
oo.C_CSENGETESIRENDORAID AS CsengetesiRendOraId,
|
||||
oo.C_ORASZAM AS Oraszam,
|
||||
-- Kapcsolati adatok
|
||||
oo.C_ORATULAJDONOSID AS OraTulajdonosId,
|
||||
oo.C_TANARID AS TanarId,
|
||||
hi.C_HELYETTESTANAROKID AS HelyettesitoId,
|
||||
oo.C_OSZTALYCSOPORTID AS OsztalyCsoportId,
|
||||
oo.C_TANTARGYID AS TantargyId,
|
||||
oo.C_TEREMID AS TeremId,
|
||||
-- Egyéb adatok
|
||||
IIF(hi.ID IS NULL,0,1) AS IsHelyettesitett,
|
||||
0 AS IsNaplozott,
|
||||
0 AS IsMobilNaplozott,
|
||||
0 AS IsElmaradt,
|
||||
0 AS IsOrarendNelkul,
|
||||
oo.ID AS OrarendiOraId,
|
||||
NULL AS TanitasiOraId
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN @OsztalyCsoportNaptar n
|
||||
ON n.HetNapjaId = oo.C_HETNAPJA
|
||||
AND (n.HetirendId = @MindenHetHetirend OR n.HetirendId = oo.C_HETIREND)
|
||||
AND n.Datum >= oo.C_ORAERVENYESSEGKEZDETE
|
||||
AND n.Datum <= oo.C_ORAERVENYESSEGVEGE
|
||||
AND n.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID
|
||||
AND n.IsTanitasiNap = 1
|
||||
AND n.IsOrarendiNap = 1
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
ON DATEDIFF(day, n.Datum, hi.C_HELYETTESITESNAPJA) = 0
|
||||
AND hi.C_HELYETTESITETTORARENDID = oo.ID
|
||||
AND hi.C_TANEVID = @tanevid
|
||||
AND hi.TOROLT = 'F'
|
||||
WHERE oo.C_TANEVID = @tanevid
|
||||
AND oo.TOROLT = 'F'
|
||||
AND (@osztalycsoportId IS NULL OR (oo.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM @KapcsolodoOsztalyCsoportok)))
|
||||
AND (@tantargyId IS NULL OR oo.C_TANTARGYID = @tantargyId)
|
||||
AND (@tanarId IS NULL OR oo.C_TANARID = @tanarId OR hi.C_HELYETTESTANAROKID = @tanarId)
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Tanítási órák betétele, amikhez nem tartozik órarendi óra
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
INSERT INTO @retTable (
|
||||
OraDatuma, OraKezdete, OraVege, HetNapjaId, CsengetesiRendId, CsengetesiRendOraId, Oraszam,
|
||||
OraTulajdonosId, TanarId, HelyettesitoId, OsztalyCsoportId, TantargyId, TeremId,
|
||||
IsHelyettesitett, IsNaplozott, IsMobilNaplozott, IsElmaradt, IsOrarendNelkul, OrarendiOraId, TanitasiOraId)
|
||||
SELECT
|
||||
-- Időpont adatok
|
||||
tno.C_DATUM AS OraDatuma,
|
||||
tno.C_ORAKEZDETE AS OraKezdete,
|
||||
tno.C_ORAVEGE AS OraVege,
|
||||
tno.C_HETNAPJA AS HetNapjaId,
|
||||
tno.C_CSENGETESIRENDID AS CsengetesiRendId,
|
||||
tno.C_CSENGETESIRENDORAID AS CsengetesiRendOraId,
|
||||
tno.C_ORASZAM AS Oraszam,
|
||||
-- Kapcsolati adatok
|
||||
tno.C_ORATULAJDONOSID AS OraTulajdonosId,
|
||||
tno.C_TANARID AS TanarId,
|
||||
tno.C_HELYETTESITOTANARID AS HelyettesitoId,
|
||||
tno.C_OSZTALYCSOPORTID AS OsztalyCsoportId,
|
||||
tno.C_TANTARGYID AS TantargyId,
|
||||
tno.C_TEREMID AS TeremId,
|
||||
-- Egyéb adatok
|
||||
IIF(tno.C_HELYETTESITOTANARID IS NULL,0,1) AS IsHelyettesitett,
|
||||
1 AS IsNaplozott,
|
||||
IIF(tno.C_MOBILNAPLOZOTT = 'F',0,1) AS IsMobilNaplozott,
|
||||
IIF(tno.C_MEGTARTOTT = 'F',0,1) AS IsElmaradt,
|
||||
1 AS IsOrarendNelkul,
|
||||
NULL AS OrarendiOraId,
|
||||
tno.ID AS TanitasiOraId
|
||||
FROM T_TANITASIORA_OSSZES tno
|
||||
WHERE tno.C_TANEVID = @tanevid
|
||||
AND tno.TOROLT = 'F'
|
||||
AND (@osztalycsoportId IS NULL OR (tno.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM @KapcsolodoOsztalyCsoportok)))
|
||||
AND (@tantargyId IS NULL OR tno.C_TANTARGYID = @tantargyId)
|
||||
AND (@tanarId IS NULL OR tno.C_HELYETTESITOTANARID = @tanarId OR tno.C_TANARID = @tanarId)
|
||||
AND 0 = (
|
||||
SELECT COUNT(1) FROM @retTable r
|
||||
WHERE tno.C_DATUM = r.OraDatuma
|
||||
AND tno.C_ORASZAM = r.Oraszam
|
||||
AND tno.C_ORAKEZDETE = r.OraKezdete
|
||||
AND tno.C_ORAVEGE = r.OraVege
|
||||
AND tno.C_OSZTALYCSOPORTID = r.OsztalyCsoportId
|
||||
AND tno.C_TANTARGYID = r.TantargyId
|
||||
AND tno.C_TANARID = r.TanarId
|
||||
)
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- Naplózott órák betétele, ha volt nekik órarendi órájuk
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
UPDATE r
|
||||
SET r.IsNaplozott = 1,
|
||||
r.IsElmaradt = IIF(tno.C_MEGTARTOTT = 'F',0,1),
|
||||
r.TeremId = tno.C_TEREMID,
|
||||
r.TanitasiOraId = tno.Id,
|
||||
r.IsHelyettesitett = IIF(tno.C_HELYETTESITOTANARID IS NULL,0,1),
|
||||
r.HelyettesitoId = tno.C_HELYETTESITOTANARID
|
||||
FROM @retTable r
|
||||
INNER JOIN T_TANITASIORA_OSSZES tno
|
||||
ON tno.C_DATUM = r.OraDatuma
|
||||
AND tno.C_ORASZAM = r.Oraszam
|
||||
AND tno.C_ORAKEZDETE = r.OraKezdete
|
||||
AND tno.C_ORAVEGE = r.OraVege
|
||||
AND tno.C_OSZTALYCSOPORTID = r.OsztalyCsoportId
|
||||
AND tno.C_TANTARGYID = r.TantargyId
|
||||
AND tno.C_TANARID = r.TanarId
|
||||
AND tno.C_TANEVID = @tanevid
|
||||
AND tno.TOROLT = 'F'
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
-- További "szűrések"
|
||||
-- ------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,98 @@
|
|||
IF OBJECT_ID('dbo.fnGetTanorakNevekkel') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetTanorakNevekkel
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- A Funkció visszaadja egy pedagógus, egy osztály vagy csoport, egy tantárgy vagy egy terem minden
|
||||
-- naplózatlan, naplózott, megtartott és nem-megtartott, helyettesített, vagy akármilyen óráját
|
||||
-- egy megadott időszakra
|
||||
CREATE FUNCTION dbo.fnGetTanorakNevekkel
|
||||
(
|
||||
@tanevId INT, -- Kötelezően átadandó
|
||||
@kezdoDatum DATETIME = NULL, -- NULL esetén az adott tanév első napjától vizsgálja
|
||||
@vegDatum DATETIME = NULL, -- NULL esetén az adott tanév utolsó napjáig vizsgálja
|
||||
@tanarId INT = NULL, -- NULL esetén minden pedagógus órái lejönnek
|
||||
@tantargyId INT = NULL, -- NULL esetén minden pedagógus órái lejönnek
|
||||
@teremId INT = NULL, -- NULL esetén minden pedagógus órái lejönnek
|
||||
@osztalycsoportId INT = NULL, -- NULL esetén minden osztály vagy csoport órái lejönnek
|
||||
@isKapcsolodoCsoportok BIT = 0 -- 1 esetén az osztály vagy csoport kapcsolódó osztályait is csoportojait is lehozza,
|
||||
-- csak akkor értelmezhető, ha van @osztalycsoportId is.
|
||||
)
|
||||
RETURNS @retTable TABLE (
|
||||
OraDatuma DATETIME,
|
||||
OraKezdete DATETIME,
|
||||
OraVege DATETIME,
|
||||
HetNapjaId INT,
|
||||
CsengetesiRendId INT,
|
||||
CsengetesiRendOraId INT,
|
||||
Oraszam INT,
|
||||
OraTulajdonosId INT,
|
||||
TanarId INT,
|
||||
HelyettesitoId INT,
|
||||
OsztalyCsoportId INT,
|
||||
TantargyId INT,
|
||||
TeremId INT,
|
||||
IsHelyettesitett BIT,
|
||||
IsNaplozott BIT,
|
||||
IsMobilNaplozott BIT,
|
||||
IsElmaradt BIT,
|
||||
IsOrarendNelkul BIT,
|
||||
OrarendiOraId INT,
|
||||
TanitasiOraId INT,
|
||||
TanarNev nvarchar(1000),
|
||||
HelyettesitoNev nvarchar(1000),
|
||||
OsztalyCsoportNev nvarchar(1000),
|
||||
TantargyNev nvarchar(1000),
|
||||
TeremNev nvarchar(1000)
|
||||
)
|
||||
BEGIN
|
||||
|
||||
INSERT INTO @retTable (
|
||||
OraDatuma, OraKezdete, OraVege, HetNapjaId, CsengetesiRendId, CsengetesiRendOraId, Oraszam,
|
||||
OraTulajdonosId, TanarId, HelyettesitoId, OsztalyCsoportId, TantargyId, TeremId,
|
||||
IsHelyettesitett, IsNaplozott, IsMobilNaplozott, IsElmaradt, IsOrarendNelkul, OrarendiOraId, TanitasiOraId,
|
||||
TanarNev, HelyettesitoNev, OsztalyCsoportNev, TantargyNev, TeremNev)
|
||||
SELECT
|
||||
-- Időszak adatok
|
||||
orarend.OraDatuma,
|
||||
orarend.OraKezdete,
|
||||
orarend.OraVege,
|
||||
orarend.HetNapjaId,
|
||||
orarend.CsengetesiRendId,
|
||||
orarend.CsengetesiRendOraId,
|
||||
orarend.Oraszam,
|
||||
-- Kapcsolati adatok
|
||||
orarend.OraTulajdonosId,
|
||||
orarend.TanarId,
|
||||
orarend.HelyettesitoId,
|
||||
orarend.OsztalyCsoportId,
|
||||
orarend.TantargyId,
|
||||
orarend.TeremId,
|
||||
-- Egyéb adatok
|
||||
orarend.IsHelyettesitett,
|
||||
orarend.IsNaplozott,
|
||||
orarend.IsMobilNaplozott,
|
||||
orarend.IsElmaradt,
|
||||
orarend.IsOrarendNelkul,
|
||||
orarend.OrarendiOraId,
|
||||
orarend.TanitasiOraId,
|
||||
-- Név adatok
|
||||
ISNULL(tanar.C_NYOMTATASINEV,''),
|
||||
ISNULL(helyettesito.C_NYOMTATASINEV,''),
|
||||
ISNULL(osztalycsoport.C_NEV,''),
|
||||
ISNULL(tantargy.C_NEV,''),
|
||||
ISNULL(terem.C_NEV,'')
|
||||
FROM fnGetTanorak(@tanevId,@kezdoDatum,@vegDatum,@tanarId,@tantargyId,@teremId,@osztalycsoportId,@isKapcsolodoCsoportok) orarend
|
||||
LEFT JOIN T_FELHASZNALO tanar ON tanar.ID = orarend.TanarId
|
||||
LEFT JOIN T_FELHASZNALO helyettesito ON helyettesito.ID = orarend.HelyettesitoId
|
||||
LEFT JOIN T_OSZTALYCSOPORT osztalycsoport ON osztalycsoport.ID = orarend.OsztalyCsoportId
|
||||
LEFT JOIN T_TANTARGY tantargy ON tantargy.ID = orarend.TantargyId
|
||||
LEFT JOIN T_TEREM terem ON terem.ID = orarend.TeremId
|
||||
RETURN
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue