init
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
IF OBJECT_ID('dbo.fnGetDokumentumTanulokAdatai') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumTanulokAdatai
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumTanulokAdatai(@tanevId INT, @osztalyCsoportId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT DISTINCT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,Sorszam
|
||||
,TorzslapSzam
|
||||
,OktAzon
|
||||
,TajSzam
|
||||
,AnyjaNeve
|
||||
,SzulHely
|
||||
,dbo.fnGetDokumentumDatumFormatum(szulIdo) SzulIdo
|
||||
,IIF(socAdat = '', '', LEFT(socAdat, len(socAdat)- 1)) SocAdat
|
||||
,Kepzes
|
||||
,TanuloNeve
|
||||
,Allampolgarsaga
|
||||
,DiakIgazolvanySzam
|
||||
,dbo.fnGetDokumentumDatumFormatum(kilepesDatum) KilepesDatum
|
||||
,BeirasiNaploSorszam
|
||||
,AktualisOsztaly
|
||||
FROM (
|
||||
SELECT
|
||||
OsztalyCsoportTanuloi.TanuloId TanuloId
|
||||
,OsztalyCsoportTanuloi.TanuloCsoportId TanuloCsoportId
|
||||
,OsztalyCsoportTanuloi.NaploSorszam Sorszam
|
||||
,OsztalyCsoportTanuloi.TorzslapSzam TorzslapSzam
|
||||
,Felhasznalo.C_OKTATASIAZONOSITO OktAzon
|
||||
,Felhasznalo.C_TAJSZAM TajSzam
|
||||
,Felhasznalo.C_ANYJANEVE AnyjaNeve
|
||||
,Felhasznalo.C_SZULETESIHELY SzulHely
|
||||
,Felhasznalo.C_SZULETESIDATUM SzulIdo
|
||||
,IIF(Tanulo.C_MAGANTANULO = 'T', 'Magántanuló (' + MagantanulosagOka.C_NAME + '), ', '') +
|
||||
IIF(Tanulo.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
|
||||
IIF(Tanulo.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
|
||||
IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') +
|
||||
IIF(Tanulo.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
|
||||
IIF(Tanulo.C_BEJARO = 'T', 'Bejáró, ', '')
|
||||
SocAdat
|
||||
,Tanterv.C_NEV Kepzes
|
||||
,Felhasznalo.C_NYOMTATASINEV TanuloNeve
|
||||
,AllampolgarsagDic.C_NAME Allampolgarsaga
|
||||
,Tanulo.C_DIAKIGAZOLVANYSZAM DiakIgazolvanySzam
|
||||
,OsztalyCsoportTanuloi.KilepesDatum KilepesDatum
|
||||
,Tanulo.C_BEIRASINAPLOSORSZAM BeirasiNaploSorszam
|
||||
,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AktualisOsztaly
|
||||
FROM T_TANULO_OSSZES Tanulo
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyCsoportTanuloi ON OsztalyCsoportTanuloi.TanuloId = Tanulo.ID
|
||||
INNER JOIN T_TANTERV_OSSZES Tanterv ON Tanterv.ID = Tanulo.C_TANTERVID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AllampolgarsagDic on AllampolgarsagDic.ID = Felhasznalo.C_ALLAMPOLGARSAGA AND AllampolgarsagDic.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka on MagantanulosagOka.ID = Tanulo.C_MAGANTANULOSAGANAKOKA AND MagantanulosagOka.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
)tmp
|
||||
)
|
||||
@@ -0,0 +1,29 @@
|
||||
IF OBJECT_ID('fnGetDokumentumTanulokFeljegyzesei') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanulokFeljegyzesei
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokFeljegyzesei (@tanevId INT, @osztalyId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
C_TANULOID TanuloId
|
||||
,te.ID EsemenyId
|
||||
,te.C_TARTALOM Tartalom
|
||||
,te.C_TIPUS Tipusa
|
||||
,feljegyezo.C_NYOMTATASINEV FeljegyzoNeve
|
||||
,te.C_ROGZITESDATUMA Datum
|
||||
,te.C_MEGJEGYZES Megjegyzes
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES feljegyezo ON feljegyezo.ID = te.C_FELJEGYZOID
|
||||
WHERE
|
||||
C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND te.TOROLT = 'F'
|
||||
AND ((te.C_TIPUS NOT IN (1542, 6324, 6325)) OR (te.C_TIPUS = 1536 AND te.C_TANITASIORAID IS NULL))
|
||||
)
|
||||
@@ -0,0 +1,265 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetDokumentumTanuloOrarend') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetDokumentumTanuloOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumTanuloOrarend
|
||||
@tanevId INT,
|
||||
@tanuloId INT,
|
||||
@aktivTanevId INT,
|
||||
@isEgyebFoglalkozasok BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevid AND TOROLT = 'F')
|
||||
,@ElsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @tanevid AND TOROLT = 'F')
|
||||
,@VizsgaltNap DATE
|
||||
|
||||
DECLARE @tanuloNev NVARCHAR(MAX) = (SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE ID = @tanuloId)
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (GETDATE() <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = CONVERT(DATE, GETDATE())
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = @UtolsoNap
|
||||
END
|
||||
|
||||
SELECT
|
||||
C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), C_KEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), C_VEGE, 108) Vege
|
||||
INTO #CsengetesiRendAdatok
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
|
||||
DECLARE @MinCsengetesiRendOraKezdet NVARCHAR(10) = (SELECT MIN(Kezdete) FROM #CsengetesiRendAdatok)
|
||||
DECLARE @MinCsengetesiRendOraszam INT = (SELECT MIN(OraSzam) FROM #CsengetesiRendAdatok)
|
||||
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,CsengetesiRendOra.C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAKEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAVEGE, 108) Vege
|
||||
,ISNULL(Tantargy.C_ROVIDNEV, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
INTO #OrarendiOrak
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = @tanuloId
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND @VizsgaltNap BETWEEN C_BELEPESDATUM AND ISNULL(C_KILEPESDATUM, @UtolsoNap)
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = OrarendiOra.C_CSENGETESIRENDORAID
|
||||
LEFT JOIN T_CSOPORT_OSSZES Csoport ON Csoport.Id = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND @VizsgaltNap BETWEEN OrarendiOra.C_ORAERVENYESSEGKEZDETE AND OrarendiOra.C_ORAERVENYESSEGVEGE
|
||||
AND (@isEgyebFoglalkozasok = 1 OR (Csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) OR Csoport.C_TIPUSA IS NULL))
|
||||
|
||||
SELECT
|
||||
OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,Kezdete
|
||||
,Vege
|
||||
INTO #OrarendTEMP
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.Kezdete >= CsengetesiRendAdatok.Kezdete
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.OraSzam = CsengetesiRendAdatok.OraSzam
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NOT NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
)OrarendioraOraszammal
|
||||
|
||||
INSERT INTO #OrarendTEMP
|
||||
SELECT
|
||||
@MinCsengetesiRendOraszam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #orarendiorak OrarendiOrak
|
||||
WHERE
|
||||
Kezdete < @MinCsengetesiRendOraKezdet
|
||||
|
||||
SELECT
|
||||
Orarend.OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,IIF(Orarend.Kezdete != CsengetesiRendAdatok.Kezdete OR Orarend.Vege != CsengetesiRendAdatok.Vege, Orarend.Kezdete + ' - ' + Orarend.Vege, '') KezdesVegeIdopont
|
||||
INTO #Orarend
|
||||
FROM #OrarendTEMP Orarend
|
||||
INNER JOIN #CsengetesiRendAdatok CsengetesiRendAdatok on CsengetesiRendAdatok.Oraszam = Orarend.OraSzam
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND <> 1554
|
||||
END
|
||||
|
||||
DECLARE @Orakezdetek TABLE (Ora INT)
|
||||
INSERT INTO @orakezdetek
|
||||
SELECT DISTINCT OraSzam from #CsengetesiRendAdatok
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam nvarchar(20))
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap , OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT Ora FROM @Orakezdetek) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam NVARCHAR(20), Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (TanuloId INT, Ora int, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT DISTINCT
|
||||
CAST('<b>' + bveg.TantargyNev + '</b>' + CHAR(13) + CHAR(10)
|
||||
+ IIF(LEN(KezdesVegeIdopont) > 0, ' (' + KezdesVegeIdopont +')' + CHAR(13) + CHAR(10), '')
|
||||
+ bveg.OsztalyCsoportNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.PedagogusNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.TeremNev + CHAR(13) + CHAR(10) AS VARCHAR(max))
|
||||
FROM #Orarend bveg
|
||||
WHERE bveg.HetnapjaId = veg.HetnapjaId
|
||||
AND bveg.Oraszam = veg.Oraszam
|
||||
AND (bveg.HetirendId = @HetirendId OR bveg.HetirendId = 1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Foglalkozasok
|
||||
FROM #Orarend veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*V<EFBFBD>gleges <20>rarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @tanuloId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend = TenylegesOra.Hetirend AND OsszesOra.Nap = TenylegesOra.Nap AND OsszesOra.Oraszam = TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
SELECT
|
||||
pv.*
|
||||
, dic.C_NAME HETIREND_DNAME
|
||||
,@tanuloNev TanuloNev
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap IN ([1408],[1409],[1410],[1411],[1412],[1413]))pv
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.id=Hetirend AND dic.C_TANEVID = @tanevId
|
||||
INNER JOIN @Orakezdetek ok ON ok.Ora = pv.Ora
|
||||
ORDER BY Ora
|
||||
END
|
||||
|
||||
DROP TABLE #CsengetesiRendAdatok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #OrarendiOrak
|
||||
GO
|
||||
@@ -0,0 +1,334 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetErtesitoNyomtatvany]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetErtesitoNyomtatvany]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =====================================================================
|
||||
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
|
||||
-- =====================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetErtesitoNyomtatvany]
|
||||
@pOsztalyId INT,
|
||||
@pTanevId INT,
|
||||
@pErtekelesTipus INT,
|
||||
@pElmeletGyakorlat BIT = 0,
|
||||
@pKesesTipus INT = 1499,
|
||||
@pElmeletiOraPercben INT = 45,
|
||||
@pGyakorlatiOraPercben INT = 45,
|
||||
@pIskolaErdekuSzamit BIT,
|
||||
@pIsKozossegiSzolgalat BIT,
|
||||
@pTanuloId INT = NULL,
|
||||
@pIsMuveszetOktatasi BIT = 0,
|
||||
@pIsShowTanuloiAtlag BIT = 0,
|
||||
@tanitasiHetekSzamaVegzos INT = 32,
|
||||
@tanitasiHetekSzamaNemVegzos INT = 36,
|
||||
@isAltantargyBeszamitasa BIT = 0,
|
||||
@nyomtatvanyNyelvEnum INT = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @EsemenyTipus INT
|
||||
SET @EsemenyTipus = (SELECT
|
||||
CASE
|
||||
WHEN @pErtekelesTipus = 1519 THEN 1547 --félévi
|
||||
WHEN @pErtekelesTipus = 1520 THEN 1548 --év végi
|
||||
WHEN @pErtekelesTipus = 1522 THEN 1549 --I. negyedévi
|
||||
WHEN @pErtekelesTipus = 1524 THEN 1550 --II. negyedévi
|
||||
WHEN @pErtekelesTipus = 1523 THEN 1551 --III. negyedévi
|
||||
END
|
||||
)
|
||||
|
||||
DECLARE @IdoszakVegeTanevRendje INT
|
||||
SET @IdoszakVegeTanevRendje =
|
||||
CASE @pErtekelesTipus
|
||||
WHEN 1519 THEN 1400 --félévi
|
||||
WHEN 1520 THEN 1395 --év végi
|
||||
WHEN 1522 THEN 1403 --I. negyedévi
|
||||
WHEN 1524 THEN 1400 --II. negyedévi
|
||||
WHEN 1523 THEN 1404 --III. negyedévi
|
||||
END
|
||||
|
||||
DECLARE @IdoszakVege DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = @IdoszakVegeTanevRendje AND C_TANEVID = @pTanevId AND TOROLT = 'F')
|
||||
|
||||
-- Fejléc
|
||||
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
|
||||
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
|
||||
dbo.fnGetDokumentumIntezmenyCime(@pTanevId) IntezmenyCime,
|
||||
T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE IntezmenyVezeto,
|
||||
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
|
||||
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
|
||||
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
|
||||
T_TANEV_OSSZES.C_NEV TANEV,
|
||||
T_INTEZMENYADATOK_OSSZES.C_VAROS VAROS,
|
||||
(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES
|
||||
INNER JOIN T_FELHASZNALO_OSSZES OFO
|
||||
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID
|
||||
WHERE T_OSZTALY_OSSZES.ID=@pOsztalyId
|
||||
AND T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
|
||||
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @pOsztalyId AND TOROLT = 'F') OSZTALYNEV,
|
||||
GETDATE() Datum
|
||||
FROM T_INTEZMENYADATOK_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES
|
||||
ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
|
||||
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
||||
AND T_TANEV_OSSZES.ID = @pTanevId
|
||||
|
||||
-- TANULÓK
|
||||
DECLARE @Tanulok TABLE
|
||||
(
|
||||
TANULOID INT
|
||||
,TanuloCsoportId INT
|
||||
,BelepesDatum DATE
|
||||
,KilepesDatum DATE
|
||||
,TANULONEV NVARCHAR(MAX)
|
||||
,OKTATASIAZONOSITO NVARCHAR(MAX)
|
||||
,TORZSLAPSZAM NVARCHAR(MAX)
|
||||
,SZULHELY NVARCHAR(MAX), SZULIDO NVARCHAR(MAX)
|
||||
,ANYJANEVE NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
IF @pTanuloId IS NOT NULL BEGIN
|
||||
INSERT INTO @Tanulok
|
||||
SELECT
|
||||
tanulok.TanuloId
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.C_NYOMTATASINEV, felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV)
|
||||
,felhasznalo.C_OKTATASIAZONOSITO
|
||||
,tanulok.Torzslapszam
|
||||
,felhasznalo.C_SZULETESIHELY
|
||||
,dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM)
|
||||
,felhasznalo.C_ANYJANEVE
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') tanulok
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo on felhasznalo.Id=tanulok.TanuloId
|
||||
WHERE
|
||||
tanulok.TanuloId = @pTanuloId
|
||||
|
||||
SELECT
|
||||
TANULOID
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
,TANULONEV
|
||||
,OKTATASIAZONOSITO
|
||||
,TORZSLAPSZAM
|
||||
,SZULHELY
|
||||
,SZULIDO
|
||||
,ANYJANEVE
|
||||
FROM @Tanulok
|
||||
ORDER BY TANULONEV
|
||||
|
||||
END
|
||||
ELSE BEGIN
|
||||
|
||||
INSERT INTO @Tanulok
|
||||
SELECT
|
||||
tanulok.TanuloId
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.C_NYOMTATASINEV, felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV)
|
||||
,felhasznalo.C_OKTATASIAZONOSITO
|
||||
,tanulok.Torzslapszam
|
||||
,felhasznalo.C_SZULETESIHELY
|
||||
,dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM)
|
||||
,felhasznalo.C_ANYJANEVE
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') tanulok
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo on felhasznalo.Id=tanulok.TanuloId
|
||||
|
||||
SELECT
|
||||
TANULOID
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
,TANULONEV
|
||||
,OKTATASIAZONOSITO
|
||||
,TORZSLAPSZAM
|
||||
,SZULHELY
|
||||
,SZULIDO
|
||||
,ANYJANEVE
|
||||
FROM @Tanulok
|
||||
ORDER BY TANULONEV
|
||||
|
||||
END
|
||||
|
||||
-- ÉRTÉKELÉSEK
|
||||
DECLARE @Ertekelesek TABLE (
|
||||
TanuloId INT
|
||||
,TanuloCsoportId INT
|
||||
,Targy NVARCHAR(MAX)
|
||||
,Jegyzet NVARCHAR(MAX)
|
||||
,Ertekeles NVARCHAR(MAX)
|
||||
,ErtekelesValue FLOAT
|
||||
,ErtekelesJegyzettel NVARCHAR(MAX)
|
||||
,Oraszam FLOAT
|
||||
,RENDEZ1 INT
|
||||
,RENDEZ2 NVARCHAR(MAX)
|
||||
,RENDEZ3 INT
|
||||
,RENDEZ4 INT
|
||||
,RENDEZ5 NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
INSERT INTO @Ertekelesek
|
||||
EXEC sp_GetDokumentumErtekelesek
|
||||
@osztalyId = @pOsztalyId,
|
||||
@tanevId = @pTanevId,
|
||||
@ertekelesTipus = @pErtekelesTipus,
|
||||
@isMuveszetOktatasi = @pIsMuveszetOktatasi,
|
||||
@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos,
|
||||
@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos,
|
||||
@isAltantargyBeszamitasa = @isAltantargyBeszamitasa,
|
||||
@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
|
||||
|
||||
SELECT
|
||||
ertekeles.TanuloId
|
||||
,ertekeles.TanuloCsoportId
|
||||
,Targy
|
||||
,Jegyzet
|
||||
,Ertekeles
|
||||
,ErtekelesValue
|
||||
,ErtekelesJegyzettel
|
||||
,Oraszam
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
,'' TanarNev
|
||||
FROM @Ertekelesek ertekeles
|
||||
INNER JOIN @Tanulok Tanulok ON Tanulok.TANULOID = ertekeles.TanuloId AND Tanulok.TanuloCsoportId = ertekeles.TanuloCsoportId
|
||||
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
||||
|
||||
IF(@pIsShowTanuloiAtlag = 1) BEGIN
|
||||
--Tanuló Átlaga
|
||||
SELECT
|
||||
TanuloId TanuloId
|
||||
,TanuloCsoportId
|
||||
,AVG(ErtekelesValue) ErtekelesAtlag
|
||||
FROM @Ertekelesek
|
||||
GROUP BY TanuloId, TanuloCsoportId
|
||||
END
|
||||
|
||||
|
||||
-- MULASZTÁSOK
|
||||
DECLARE @Mulasztasok TABLE (
|
||||
TanuloId INT
|
||||
,TanuloCsoportId INT
|
||||
,Igazolt INT
|
||||
,Igazolatlan INT
|
||||
,ElmeletIgazolt INT
|
||||
,ElmeletIgazolatlan INT
|
||||
,GyakorlatIgazolt INT
|
||||
,GyakorlatIgazolatlan INT
|
||||
,ElmeletOsszes INT
|
||||
,GyakorlatOsszes INT
|
||||
,Osszes INT
|
||||
)
|
||||
|
||||
INSERT INTO @Mulasztasok
|
||||
EXEC sp_GetDokumentumMulasztasok
|
||||
@osztalyId = @pOsztalyId,
|
||||
@tanevId = @pTanevId,
|
||||
@elmeletGyakorlat = @pElmeletGyakorlat,
|
||||
@kesesTipus = @pKesesTipus,
|
||||
@elmeletiOraPercben = @pElmeletiOraPercben,
|
||||
@gyakorlatiOraPercben = @pGyakorlatiOraPercben,
|
||||
@ertekelesTipus = @pErtekelesTipus,
|
||||
@iskolaErdekuSzamit = @pIskolaErdekuSzamit,
|
||||
@isMuveszetOktatasi = @pIsMuveszetOktatasi
|
||||
|
||||
SELECT
|
||||
mulasztasok.TanuloId
|
||||
,mulasztasok.TanuloCsoportId
|
||||
,Igazolt
|
||||
,Igazolatlan
|
||||
,ElmeletIgazolt
|
||||
,ElmeletIgazolatlan
|
||||
,GyakorlatIgazolt
|
||||
,GyakorlatIgazolatlan
|
||||
,ElmeletOsszes
|
||||
,GyakorlatOsszes
|
||||
,Osszes
|
||||
FROM @Mulasztasok mulasztasok
|
||||
INNER JOIN @Tanulok Tanulok ON Tanulok.TANULOID = mulasztasok.TanuloId AND Tanulok.TanuloCsoportId = mulasztasok.TanuloCsoportId
|
||||
|
||||
-- TANTÁRGYI MENTESSÉGEK
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,TantargyNev
|
||||
,MentessegOka
|
||||
FROM fnGetDokumentumTanuloMentessegei(@pTanevId, @pOsztalyId)
|
||||
|
||||
--Bejegyzések
|
||||
SELECT
|
||||
TanuloTable.TanuloId
|
||||
,TanuloTable.TanuloCsoportId
|
||||
,'A félév során ' + CAST(SUM(Oraszam) AS NVARCHAR(MAX)) + ' óra közösségi szolgálatot teljesített.' Bejegyzes
|
||||
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@pTanevId, @pOsztalyId) bejegyzes
|
||||
INNER JOIN @Tanulok TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId AND bejegyzes.TanuloCsoportId = TanuloTable.TanuloCsoportId
|
||||
WHERE
|
||||
@pIsKozossegiSzolgalat = 1
|
||||
AND Datum <= @IdoszakVege
|
||||
GROUP BY TanuloTable.TanuloId, TanuloTable.TanuloCsoportId
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
bejegyzes.TanuloId TanuloId
|
||||
,TanuloCsoportId
|
||||
,Tartalom Bejegyzes
|
||||
FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztalyId) bejegyzes
|
||||
INNER JOIN @Tanulok TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
|
||||
WHERE
|
||||
Tipusa IN (1546, @EsemenyTipus)
|
||||
AND BelepesDatum <= Datum
|
||||
AND (KilepesDatum IS NULL OR KilepesDatum >= Datum)
|
||||
|
||||
UNION
|
||||
|
||||
-- Határozatok
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,Bejegyzes Zaradek
|
||||
FROM fnGetDokumentumTanuloZaradekai(@pOsztalyId, @pTanevId)
|
||||
WHERE
|
||||
@pErtekelesTipus = 1520
|
||||
|
||||
--TANULÓ elérhetőségei
|
||||
SELECT DISTINCT
|
||||
tanulo.TanuloId tanuloID
|
||||
,Gondviselo.C_NEV GondviseloNeve
|
||||
FROM T_GONDVISELO_OSSZES Gondviselo
|
||||
INNER JOIN @Tanulok TanuloTable ON Gondviselo.C_TANULOID = TanuloTable.TanuloId
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'F') tanulo ON tanulo.TanuloId = Gondviselo.C_TANULOID
|
||||
WHERE
|
||||
Gondviselo.TOROLT = 'F'
|
||||
AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
|
||||
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloTable.TanuloId tanuloID
|
||||
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM CimText
|
||||
,cimTipus.C_NAME CimTipusa
|
||||
FROM @Tanulok TanuloTable
|
||||
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloTable.TanuloId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @pTanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipus ON cim.C_CIMTIPUSA = cimTipus.ID AND cimTipus.C_TANEVID = @pTanevId
|
||||
WHERE
|
||||
cim.TOROLT = 'F'
|
||||
AND cim.C_GONDVISELOID IS NULL
|
||||
AND cim.C_ALAPERTELMEZETT = 'T'
|
||||
AND cim.C_TANEVID = @pTanevId
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
@@ -0,0 +1,102 @@
|
||||
IF OBJECT_ID('sp_GetOraSorszamByOsztaly') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOraSorszamByOsztaly
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOraSorszamByOsztaly
|
||||
@osztalyCsoportId INT,
|
||||
@datum DATE,
|
||||
@intezmenyId INT,
|
||||
@tanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasCsoport = 0
|
||||
|
||||
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE (ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId) BEGIN
|
||||
SET @osztalybontasCsoport = 1
|
||||
END
|
||||
|
||||
|
||||
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_OSZTALYCSOPORTID, t.C_TANARID, t.C_TANTARGYID ORDER BY t.C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND CAST(t.C_ORAKEZDETE AS DATE) <= @datum
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_OSZTALYCSOPORTID, t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND CAST(t.C_ORAKEZDETE AS DATE) <= @datum
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
|
||||
DECLARE @osztalyId int, @csoportId int
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = @osztalyCsoportId) BEGIN
|
||||
SET @csoportId = @osztalyCsoportId
|
||||
SELECT @osztalyId = C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES WHERE ID = @osztalyCsoportId
|
||||
END
|
||||
ELSE BEGIN
|
||||
SET @osztalyId = @osztalyCsoportId
|
||||
SELECT TOP(1) @csoportId = csoport
|
||||
FROM (
|
||||
SELECT
|
||||
t.C_OSZTALYCSOPORTID as csoport
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = @osztalyCsoportId)
|
||||
AND CAST(t.C_ORAKEZDETE AS DATE) <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
GROUP BY t.C_OSZTALYCSOPORTID
|
||||
) x
|
||||
ORDER BY cnt DESC
|
||||
END
|
||||
|
||||
SELECT TanitasiOraId, OraSorszam
|
||||
FROM (
|
||||
SELECT
|
||||
t.ID AS TanitasiOraId
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
|
||||
,t.C_OSZTALYCSOPORTID AS ocsId
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_OSZTALYCSOPORTID IN (@osztalyId, @csoportId)
|
||||
AND CAST(t.C_ORAKEZDETE AS DATE) <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_INTEZMENYID = @intezmenyid
|
||||
AND t.C_TANEVID = @tanevId
|
||||
) x
|
||||
WHERE x.ocsId = @osztalyCsoportId
|
||||
END
|
||||
END
|
||||
GO
|
||||
@@ -0,0 +1,265 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetOrarendOsztalyonkent') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOrarendOsztalyonkent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOrarendOsztalyonkent
|
||||
@intezmenyId INT,
|
||||
@tanevId INT,
|
||||
@osztalyId INT,
|
||||
@aktivTanevId INT,
|
||||
@isEgyebFoglalkozasok BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
,@ElsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
,@VizsgaltNap DATE
|
||||
,@isVegzos VARCHAR(1) = (SELECT TOP 1 C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
,@VegzosUtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F')
|
||||
,@osztalyNev NVARCHAR(MAX) = (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
|
||||
SET @UtolsoNap = (SELECT IIF(@isVegzos = 'T', @VegzosUtolsoNap, @UtolsoNap))
|
||||
|
||||
IF (@tanevId = @aktivTanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (GETDATE() <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = CONVERT(DATE, GETDATE())
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = @UtolsoNap
|
||||
END
|
||||
|
||||
SELECT
|
||||
C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), C_KEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), C_VEGE, 108) Vege
|
||||
INTO #CsengetesiRendAdatok
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
|
||||
DECLARE @MinCsengetesiRendOraKezdet NVARCHAR(10) = (SELECT MIN(Kezdete) FROM #CsengetesiRendAdatok)
|
||||
DECLARE @MinCsengetesiRendOraszam INT = (SELECT MIN(OraSzam) FROM #CsengetesiRendAdatok)
|
||||
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,CsengetesiRendOra.C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAKEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAVEGE, 108) Vege
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
INTO #OrarendiOrak
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN fnGetKapcsolodoOsztalycsoportokByDate(@osztalyId, @VizsgaltNap, @VizsgaltNap) Kapcsolodo ON Kapcsolodo.Id = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = OrarendiOra.C_CSENGETESIRENDORAID
|
||||
LEFT JOIN T_CSOPORT_OSSZES Csoport ON Csoport.Id = Kapcsolodo.Id
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND @VizsgaltNap BETWEEN OrarendiOra.C_ORAERVENYESSEGKEZDETE AND OrarendiOra.C_ORAERVENYESSEGVEGE
|
||||
AND (@isEgyebFoglalkozasok = 1 OR (Csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) OR Csoport.C_TIPUSA IS NULL))
|
||||
|
||||
SELECT
|
||||
OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,Kezdete
|
||||
,Vege
|
||||
INTO #OrarendTEMP
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.Kezdete >= CsengetesiRendAdatok.Kezdete
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.OraSzam = CsengetesiRendAdatok.OraSzam
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NOT NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
)OrarendioraOraszammal
|
||||
|
||||
INSERT INTO #OrarendTEMP
|
||||
SELECT
|
||||
@MinCsengetesiRendOraszam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #orarendiorak OrarendiOrak
|
||||
WHERE
|
||||
Kezdete < @MinCsengetesiRendOraKezdet
|
||||
|
||||
SELECT
|
||||
Orarend.OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,IIF(Orarend.Kezdete != CsengetesiRendAdatok.Kezdete OR Orarend.Vege != CsengetesiRendAdatok.Vege, Orarend.Kezdete + ' - ' + Orarend.Vege, '') KezdesVegeIdopont
|
||||
INTO #Orarend
|
||||
FROM #OrarendTEMP Orarend
|
||||
INNER JOIN #CsengetesiRendAdatok CsengetesiRendAdatok on CsengetesiRendAdatok.Oraszam = Orarend.OraSzam
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND <> 1554
|
||||
END
|
||||
|
||||
DECLARE @Orakezdetek TABLE (Ora INT)
|
||||
INSERT INTO @orakezdetek
|
||||
SELECT DISTINCT OraSzam from #CsengetesiRendAdatok
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam nvarchar(20))
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap , OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT Ora FROM @Orakezdetek) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413),(1414)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam NVARCHAR(20), Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (osztalyId INT, Ora int, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT DISTINCT
|
||||
CAST('<b>' + bveg.TantargyNev + '</b>' + CHAR(13) + CHAR(10)
|
||||
+ IIF(LEN(KezdesVegeIdopont) > 0, ' (' + KezdesVegeIdopont +')' + CHAR(13) + CHAR(10), '')
|
||||
+ IIF(bveg.OsztalyCsoportNev <> @osztalyNev, bveg.OsztalyCsoportNev + CHAR(13) + CHAR(10), '')
|
||||
+ bveg.PedagogusNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.TeremNev + CHAR(13) + CHAR(10) AS VARCHAR(max))
|
||||
FROM #Orarend bveg
|
||||
WHERE bveg.HetnapjaId = veg.HetnapjaId
|
||||
AND bveg.Oraszam = veg.Oraszam
|
||||
AND (bveg.HetirendId = @HetirendId OR bveg.HetirendId = 1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Foglalkozasok
|
||||
FROM #Orarend veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*Végleges órarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @osztalyId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend = TenylegesOra.Hetirend AND OsszesOra.Nap = TenylegesOra.Nap AND OsszesOra.Oraszam = TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
SELECT
|
||||
pv.*
|
||||
, dic.C_NAME HETIREND_DNAME
|
||||
,@osztalyNev OsztalyNev
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap IN ([1408],[1409],[1410],[1411],[1412],[1413],[1414]))pv
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.id=Hetirend AND dic.C_TANEVID = @tanevId
|
||||
INNER JOIN @Orakezdetek ok ON ok.Ora = pv.Ora
|
||||
ORDER BY Ora
|
||||
END
|
||||
|
||||
DROP TABLE #CsengetesiRendAdatok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #OrarendiOrak
|
||||
GO
|
||||
@@ -0,0 +1,266 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetPedagogusOrarend') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE sp_GetPedagogusOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetPedagogusOrarend
|
||||
@intezmenyId INT,
|
||||
@tanevId INT,
|
||||
@pedagogusId INT,
|
||||
@aktivTanevId INT,
|
||||
@isEgyebFoglalkozasok BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@ElsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1394 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@VizsgaltNap DATE
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (GETDATE() <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = CONVERT(DATE, GETDATE())
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = @UtolsoNap
|
||||
END
|
||||
|
||||
SELECT
|
||||
C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), C_KEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), C_VEGE, 108) Vege
|
||||
INTO #CsengetesiRendAdatok
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
|
||||
DECLARE @MinCsengetesiRendOraKezdet NVARCHAR(10) = (SELECT MIN(Kezdete) FROM #CsengetesiRendAdatok)
|
||||
DECLARE @MinCsengetesiRendOraszam INT = (SELECT MIN(OraSzam) FROM #CsengetesiRendAdatok)
|
||||
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,CsengetesiRendOra.C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAKEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAVEGE, 108) Vege
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
INTO #OrarendiOrak
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = OrarendiOra.C_CSENGETESIRENDORAID
|
||||
LEFT JOIN T_CSOPORT_OSSZES Csoport ON OrarendiOra.C_OSZTALYCSOPORTID = Csoport.Id
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND @VizsgaltNap BETWEEN OrarendiOra.C_ORAERVENYESSEGKEZDETE AND OrarendiOra.C_ORAERVENYESSEGVEGE
|
||||
AND (@isEgyebFoglalkozasok = 1 OR (Csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) OR Csoport.C_TIPUSA IS NULL))
|
||||
AND Orarendiora.C_TANARID = @pedagogusId
|
||||
|
||||
SELECT
|
||||
OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,Kezdete
|
||||
,Vege
|
||||
INTO #OrarendTEMP FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.Kezdete >= CsengetesiRendAdatok.Kezdete
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.OraSzam = CsengetesiRendAdatok.OraSzam
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NOT NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
)OrarendioraOraszammal
|
||||
|
||||
INSERT INTO #OrarendTEMP
|
||||
SELECT
|
||||
@MinCsengetesiRendOraszam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #orarendiorak OrarendiOrak
|
||||
WHERE
|
||||
Kezdete < @MinCsengetesiRendOraKezdet
|
||||
|
||||
SELECT
|
||||
Orarend.OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,IIF(Orarend.Kezdete != CsengetesiRendAdatok.Kezdete OR Orarend.Vege != CsengetesiRendAdatok.Vege, Orarend.Kezdete + ' - ' + Orarend.Vege, '') KezdesVegeIdopont
|
||||
INTO #Orarend
|
||||
FROM #OrarendTEMP Orarend
|
||||
INNER JOIN #CsengetesiRendAdatok CsengetesiRendAdatok on CsengetesiRendAdatok.Oraszam = Orarend.OraSzam
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND <> 1554
|
||||
END
|
||||
|
||||
DECLARE @Orakezdetek TABLE (Ora INT)
|
||||
INSERT INTO @orakezdetek
|
||||
SELECT DISTINCT OraSzam from #CsengetesiRendAdatok
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam nvarchar(20))
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap , OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT Ora FROM @Orakezdetek) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam NVARCHAR(20), Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (osztalyId INT, Ora int, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT DISTINCT
|
||||
CAST('<b>' + bveg.TantargyNev + '</b>' + CHAR(13) + CHAR(10)
|
||||
+ IIF(LEN(KezdesVegeIdopont) > 0, ' (' + KezdesVegeIdopont +')' + CHAR(13) + CHAR(10), '')
|
||||
+ bveg.OsztalyCsoportNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.TeremNev + CHAR(13) + CHAR(10) AS VARCHAR(max))
|
||||
FROM #Orarend bveg
|
||||
WHERE bveg.HetnapjaId = veg.HetnapjaId
|
||||
AND bveg.Oraszam = veg.Oraszam
|
||||
AND (bveg.HetirendId = @HetirendId OR bveg.HetirendId = 1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Foglalkozasok
|
||||
FROM #Orarend veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*Végleges órarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @pedagogusId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend = TenylegesOra.Hetirend AND OsszesOra.Nap = TenylegesOra.Nap AND OsszesOra.Oraszam = TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
SELECT
|
||||
@pedagogusId PedagogusId
|
||||
,pv.Ora Ora
|
||||
,Hetirend
|
||||
,(SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE Id = @pedagogusId) PedagogusNev
|
||||
,[1408] 'Hetfo'
|
||||
,[1409] 'Kedd'
|
||||
,[1410] 'Szerda'
|
||||
,[1411] 'Csutortok'
|
||||
,[1412] 'Pentek'
|
||||
,[1413] 'Szombat'
|
||||
, dic.C_NAME HETIREND_DNAME
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap in([1408],[1409],[1410],[1411],[1412],[1413]))pv
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.id=Hetirend AND dic.C_TANEVID = @tanevId
|
||||
INNER JOIN @Orakezdetek ok ON ok.Ora = pv.Ora
|
||||
ORDER BY Hetirend, Ora
|
||||
|
||||
END
|
||||
DROP TABLE #CsengetesiRendAdatok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #OrarendiOrak
|
||||
GO
|
||||
@@ -0,0 +1,288 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetTeremOrarend') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE sp_GetTeremOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetTeremOrarend
|
||||
@intezmenyId INT,
|
||||
@tanevId INT,
|
||||
@teremId INT,
|
||||
@aktivTanevId INT,
|
||||
@isEgyebFoglalkozasok BIT,
|
||||
@isReszletes BIT = 1
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @isReszletes = 1
|
||||
BEGIN
|
||||
SELECT
|
||||
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve
|
||||
,T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod
|
||||
FROM T_INTEZMENYADATOK_OSSZES
|
||||
WHERE
|
||||
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
||||
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@ElsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA=1394 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@VizsgaltNap DATE
|
||||
,@IdoszakKezdete DATE
|
||||
,@IdoszakVege DATE
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
IF (GETDATE() <= @ElsoNap)
|
||||
BEGIN
|
||||
SET @VizsgaltNap = (SELECT TOP 1 C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA = 1 AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = CONVERT(DATE, GETDATE())
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @VizsgaltNap = @UtolsoNap
|
||||
END
|
||||
|
||||
SELECT
|
||||
C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), C_KEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), C_VEGE, 108) Vege
|
||||
INTO #CsengetesiRendAdatok
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
|
||||
DECLARE @MinCsengetesiRendOraKezdet NVARCHAR(10) = (SELECT MIN(Kezdete) FROM #CsengetesiRendAdatok)
|
||||
DECLARE @MinCsengetesiRendOraszam INT = (SELECT MIN(OraSzam) FROM #CsengetesiRendAdatok)
|
||||
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,CsengetesiRendOra.C_ORASZAM OraSzam
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAKEZDETE, 108) Kezdete
|
||||
,CONVERT(VARCHAR(5), OrarendiOra.C_ORAVEGE, 108) Vege
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
,ocs.C_NEV OsztalyCsoportNev
|
||||
INTO #OrarendiOrak
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = OrarendiOra.C_CSENGETESIRENDORAID
|
||||
LEFT JOIN T_CSOPORT_OSSZES Csoport ON OrarendiOra.C_OSZTALYCSOPORTID = Csoport.Id
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND @VizsgaltNap BETWEEN OrarendiOra.C_ORAERVENYESSEGKEZDETE AND OrarendiOra.C_ORAERVENYESSEGVEGE
|
||||
AND (@isEgyebFoglalkozasok = 1 OR (Csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) OR Csoport.C_TIPUSA IS NULL))
|
||||
AND Orarendiora.C_TEREMID = @teremId
|
||||
|
||||
SELECT
|
||||
OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,Kezdete
|
||||
,Vege
|
||||
INTO #OrarendTEMP FROM
|
||||
(
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.Kezdete >= CsengetesiRendAdatok.Kezdete
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
MAX(CsengetesiRendAdatok.OraSzam) OraSzam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #CsengetesiRendAdatok CsengetesiRendAdatok
|
||||
LEFT JOIN #OrarendiOrak OrarendiOrak ON OrarendiOrak.OraSzam = CsengetesiRendAdatok.OraSzam
|
||||
WHERE
|
||||
OrarendiOrak.OraSzam IS NOT NULL
|
||||
GROUP BY
|
||||
OrarendiOrak.HetirendId
|
||||
,OrarendiOrak.HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev
|
||||
,OrarendiOrak.TantargyNev
|
||||
,OrarendiOrak.TeremNev
|
||||
,OrarendiOrak.Kezdete
|
||||
,OrarendiOrak.Vege
|
||||
)OrarendioraOraszammal
|
||||
|
||||
INSERT INTO #OrarendTEMP
|
||||
SELECT
|
||||
@MinCsengetesiRendOraszam
|
||||
,OrarendiOrak.HetirendId HetirendId
|
||||
,OrarendiOrak.HetnapjaId HetnapjaId
|
||||
,OrarendiOrak.OsztalyCsoportNev OsztalyCsoportNev
|
||||
,OrarendiOrak.PedagogusNev PedagogusNev
|
||||
,OrarendiOrak.TantargyNev TantargyNev
|
||||
,OrarendiOrak.TeremNev TeremNev
|
||||
,OrarendiOrak.Kezdete Kezdete
|
||||
,OrarendiOrak.Vege Vege
|
||||
FROM #orarendiorak OrarendiOrak
|
||||
WHERE
|
||||
Kezdete < @MinCsengetesiRendOraKezdet
|
||||
|
||||
SELECT
|
||||
Orarend.OraSzam
|
||||
,HetirendId
|
||||
,HetnapjaId
|
||||
,OsztalyCsoportNev
|
||||
,PedagogusNev
|
||||
,TantargyNev
|
||||
,TeremNev
|
||||
,IIF(Orarend.Kezdete != CsengetesiRendAdatok.Kezdete OR Orarend.Vege != CsengetesiRendAdatok.Vege, Orarend.Kezdete + ' - ' + Orarend.Vege, '') KezdesVegeIdopont
|
||||
INTO #Orarend
|
||||
FROM #OrarendTEMP Orarend
|
||||
INNER JOIN #CsengetesiRendAdatok CsengetesiRendAdatok on CsengetesiRendAdatok.Oraszam = Orarend.OraSzam
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND <> 1554
|
||||
END
|
||||
|
||||
DECLARE @Orakezdetek TABLE (Ora INT)
|
||||
INSERT INTO @orakezdetek
|
||||
SELECT DISTINCT OraSzam from #CsengetesiRendAdatok
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam nvarchar(20))
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap , OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (SELECT Ora FROM @Orakezdetek) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam NVARCHAR(20), Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (osztalyId INT, Ora int, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT DISTINCT
|
||||
CAST('<b>' + bveg.TantargyNev + '</b>' + CHAR(13) + CHAR(10)
|
||||
+ IIF(LEN(KezdesVegeIdopont) > 0, ' (' + KezdesVegeIdopont +')' + CHAR(13) + CHAR(10), '')
|
||||
+ bveg.OsztalyCsoportNev + CHAR(13) + CHAR(10)
|
||||
+ bveg.PedagogusNev + CHAR(13) + CHAR(10) AS VARCHAR(max))
|
||||
FROM #Orarend bveg
|
||||
WHERE bveg.HetnapjaId = veg.HetnapjaId
|
||||
AND bveg.Oraszam = veg.Oraszam
|
||||
AND (bveg.HetirendId = @HetirendId OR bveg.HetirendId = 1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Foglalkozasok
|
||||
FROM #Orarend veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*Végleges órarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @teremId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend = TenylegesOra.Hetirend AND OsszesOra.Nap = TenylegesOra.Nap AND OsszesOra.Oraszam = TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
IF @isReszletes = 1
|
||||
BEGIN
|
||||
SELECT
|
||||
Terem.Id TeremId
|
||||
,Terem.C_NEV TeremNev
|
||||
,Hetirend HetirendId
|
||||
,HetirendDictionary.C_NAME HetirendNev
|
||||
FROM T_TEREM_OSSZES Terem
|
||||
CROSS JOIN (SELECT ID FROM @Hetirendek) Hetirend (Hetirend)
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES HetirendDictionary ON HetirendDictionary.id = Hetirend AND HetirendDictionary.C_TANEVID = @tanevId
|
||||
END
|
||||
SELECT
|
||||
@teremId TeremId
|
||||
,pv.Ora Ora
|
||||
,Hetirend HetirendId
|
||||
,(SELECT C_NEV FROM T_TEREM_OSSZES WHERE Id = @teremId) TeremNev
|
||||
,[1408] 'Hetfo'
|
||||
,[1409] 'Kedd'
|
||||
,[1410] 'Szerda'
|
||||
,[1411] 'Csutortok'
|
||||
,[1412] 'Pentek'
|
||||
,[1413] 'Szombat'
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap in([1408],[1409],[1410],[1411],[1412],[1413]))pv
|
||||
|
||||
INNER JOIN @Orakezdetek ok ON ok.Ora = pv.Ora
|
||||
ORDER BY Hetirend, Ora
|
||||
|
||||
END
|
||||
DROP TABLE #CsengetesiRendAdatok
|
||||
DROP TABLE #Orarend
|
||||
DROP TABLE #OrarendiOrak
|
||||
GO
|
||||
Reference in New Issue
Block a user