2008 lines
No EOL
86 KiB
Transact-SQL
2008 lines
No EOL
86 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetOsztalyNaplo
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetOsztalyNaplo
|
|
@intezmenyId int
|
|
,@tanevId int
|
|
,@osztalyId int
|
|
,@isSzovegesNaplo bit = 0
|
|
,@iskolaErdekuSzamit bit
|
|
,@fuggolegesTantargyak bit
|
|
,@aktivTanevId int
|
|
,@isReszletesMulasztasok bit
|
|
,@isEgyebFoglalkozasok bit
|
|
,@minTanoraSzam int
|
|
,@isEllenorzo bit = 0
|
|
,@orarendErvenyessegiDatum date
|
|
,@tanuloId int = NULL
|
|
,@negyedevreSzamoltMulasztasok bit = 1
|
|
,@igazolasTipusTypeId int = 47
|
|
,@osztalyzatTipusTypeID int = 44
|
|
,@magatartasErtekelesTipusTypeID int = 50
|
|
,@szorgalomErtekelesTipusTypeID int = 51
|
|
,@isOsztalyTanuloOrarendbenNemLatszik bit = NULL
|
|
,@isDebug bit = 0
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @TanevUtlsoNapja DATE = (SELECT C_UTOLSONAP FROM T_TANEV_OSSZES WHERE ID=@tanevId AND TOROLT = 'F')
|
|
DECLARE @UtolsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
|
DECLARE @UtolsoNapTanev DATE = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
|
|
|
DECLARE @isVegzos CHAR(1) = (SELECT TOP 1 C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
|
DECLARE @VegzosUtolsoNap DATE = (SELECT dbo.fnGetOsztalyVegzosTanitasiNap(@osztalyId, @intezmenyId, @tanevId))
|
|
|
|
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')
|
|
|
|
DECLARE @ElsoNap DATE = (SELECT TOP 1 C_KEZDONAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
|
DECLARE @UtolsoNap DATE = IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap, @UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
|
|
|
|
CREATE TABLE #szovegesTemp (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Honap nvarchar(100)
|
|
,Tantargy nvarchar(510)
|
|
,Ertekeles nvarchar(MAX)
|
|
,Tipus nvarchar(500)
|
|
,RendezHonap int
|
|
)
|
|
|
|
CREATE TABLE #osztalycsoportok (OsztalyCsoportId INT PRIMARY KEY, Kezdete DATE, Vege DATE)
|
|
INSERT INTO #osztalycsoportok (OsztalyCsoportId, Kezdete, Vege)
|
|
SELECT
|
|
OsztalyCsoportok.Id
|
|
,OsztalyCsoportok.Kezdete
|
|
,OsztalyCsoportok.Vege
|
|
FROM fnGetDokumentumKapcsolodoOsztalyCsoportokByDateRange (@osztalyId, @ElsoNap, @TanevUtlsoNapja, @intezmenyId, @tanevId) OsztalyCsoportok
|
|
INNER JOIN fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId) TanoraiCeluOsztalyCsoportok on TanoraiCeluOsztalyCsoportok.ID = OsztalyCsoportok.Id
|
|
|
|
CREATE TABLE #RendkivuliTanitasiNapok (C_NAPDATUMA datetime
|
|
,C_ALAPHETNAPJA int
|
|
,C_HETNAPJA int
|
|
,C_TANEVID int
|
|
,TOROLT char
|
|
,C_HETSORSZAMA int)
|
|
|
|
INSERT INTO #RendkivuliTanitasiNapok
|
|
SELECT
|
|
nn.C_NAPDATUMA
|
|
,nn.C_ALAPHETNAPJA
|
|
,nn.C_HETNAPJA
|
|
,nn.C_TANEVID
|
|
,nn.TOROLT
|
|
,nn.C_HETSORSZAMA
|
|
FROM T_NAPTARINAP_OSSZES nn
|
|
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA
|
|
AND tr.C_TANEVID = nn.C_TANEVID
|
|
AND tr.C_DATUM > @UtolsoNap
|
|
AND tr.C_NAPTIPUSA=1406 /* Rendkívüli tanítási nap */
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
WHERE nn.C_TANEVID=@tanevId
|
|
AND nn.TOROLT='F'
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
nn.C_NAPDATUMA
|
|
,nn.C_ALAPHETNAPJA
|
|
,nn.C_HETNAPJA
|
|
,nn.C_TANEVID
|
|
,nn.TOROLT
|
|
,nn.C_HETSORSZAMA
|
|
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
|
INNER JOIN #osztalycsoportok ocs ON ocs.OsztalyCsoportId = ocstr.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.ID = ocstr.C_TANEVRENDJEID
|
|
AND tr.C_DATUM > @UtolsoNap
|
|
AND tr.C_NAPTIPUSA=1406 /* Rendkívüli tanítási nap */
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
INNER JOIN T_NAPTARINAP_OSSZES nn ON tr.C_DATUM = nn.C_NAPDATUMA
|
|
AND tr.C_TANEVID = nn.C_TANEVID
|
|
|
|
DECLARE @UtolsoRendkivuliTanitasiNap DATETIME = (SELECT MAX(C_NAPDATUMA) FROM #RendkivuliTanitasiNapok)
|
|
|
|
DECLARE @VizsgaltNap DATE
|
|
|
|
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
|
|
|
IF (@tanevId = @AktivtanevId AND @orarendErvenyessegiDatum <= @UtolsoNap)
|
|
BEGIN
|
|
IF (@orarendErvenyessegiDatum <= @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, @orarendErvenyessegiDatum)
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @VizsgaltNap = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap >= CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap <= CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
|
END
|
|
|
|
CREATE TABLE #NapSorszamTemp (
|
|
Datum DATE
|
|
)
|
|
INSERT INTO #NapSorszamTemp
|
|
EXEC sp_GetDokumentumTanitasiNapokSorszama
|
|
@tanevId = @tanevId,
|
|
@osztalyId = @osztalyId
|
|
|
|
CREATE TABLE #NapSorszam (Datum DATE, Sorszam NVARCHAR(4))
|
|
INSERT INTO #NapSorszam
|
|
SELECT
|
|
Sorszam.Datum Datum
|
|
,CAST(DENSE_RANK() OVER(ORDER BY Sorszam.Datum) AS NVARCHAR(4))
|
|
FROM #NapSorszamTemp Sorszam
|
|
INNER JOIN fnGetDokumentumOsztalyMegtartottOrakSzama(@tanevId, @osztalyId) OrakSzama ON OrakSzama.Datum = Sorszam.Datum
|
|
WHERE (@minTanoraSzam = 0 OR OrakSzama.OrakSzama IS NOT NULL)
|
|
AND (@minTanoraSzam = 0 OR OrakSzama.OrakSzama >= @minTanoraSzam)
|
|
|
|
SELECT
|
|
TanuloId AS Id
|
|
,tanugyiAdatok.C_NAPLOSORSZAM AS NaploSorszam
|
|
,tanugyiAdatok.C_TORZSLAPSZAM AS TorzslapSzam
|
|
,TanuloCsoport.Id AS TanuloCsoportId
|
|
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
|
|
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
|
|
,tanugyiAdatok.C_TANULOEVFOLYAMTIPUSID AS EvfolyamTipusa
|
|
--ÁGAZAT ETC....
|
|
INTO #studentsWithTanuloCsoport
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.Id = OsztalyTanuloi.TanuloCsoportId
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID AND tanugyiAdatok.TOROLT = 'F'
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
SELECT DISTINCT
|
|
Id
|
|
INTO #students
|
|
FROM #studentsWithTanuloCsoport
|
|
|
|
SELECT
|
|
DATEPART(MONTH, Datum) Honap
|
|
,TantargyId Id
|
|
,Igazolt IgazoltE
|
|
,TanuloId TanuloId
|
|
,TanuloCsoportId TanuloCsoportId
|
|
,IgazolasTipusa IgazolasTipus
|
|
,Datum Datum
|
|
,Tipusa Tipus
|
|
,KesesPercben KesesPercben
|
|
,HetSorszama HetSorszama
|
|
,Oraszam Oraszam
|
|
,CAST(DATEPART(MONTH, Datum) AS NVARCHAR(10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') ElmeletGyakorlat
|
|
,C_GYAKORLATI isGyakorlat
|
|
,IIF(C_NEVSORREND = 'T',
|
|
C_UTONEV + ' ' + C_VEZETEKNEV,
|
|
C_VEZETEKNEV + ' ' + C_UTONEV) AS NevElotagNelkul
|
|
INTO #mulasztasTmp
|
|
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @osztalyId, @iskolaErdekuSzamit, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) TanulokMulasztasai
|
|
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
|
|
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = TanuloId
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
SELECT
|
|
CAST(SUM(IIF(IgazoltE = 'T', 1, 0)) AS VARCHAR(5)) + '/'
|
|
+ CAST(SUM(IIF(IgazoltE = 'F', 1, 0)) AS VARCHAR(5)) HetiMulasztas
|
|
,HetSorszama
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
INTO #HetiMulasztasok
|
|
FROM #mulasztasTmp
|
|
GROUP BY HetSorszama, TanuloId, TanuloCsoportId
|
|
|
|
CREATE CLUSTERED INDEX ci1 on #mulasztasTmp (tanuloid, datum)
|
|
CREATE CLUSTERED INDEX ci5 on #HetiMulasztasok (HetSorszama)
|
|
|
|
CREATE TABLE #retTanuloErtekeles
|
|
(
|
|
[ErtekelesId] INT
|
|
PRIMARY KEY NOT NULL,
|
|
[Datum] DATE,
|
|
[TipusId] INT,
|
|
[ErtekelesSzoveg] NVARCHAR(MAX),
|
|
[ErtekelesSzovegRovidNev] NVARCHAR(3),
|
|
[ErtekelesOsztalyzatId] INT,
|
|
[ErtekelesOsztalyzatValue] INT,
|
|
[ErtekelesOsztalyzatNev] NVARCHAR(MAX),
|
|
[ErtekelesSzazalek] NVARCHAR(MAX),
|
|
[MagatartasOsztalyzatId] INT,
|
|
[MagatartasOsztalyzatValue] INT,
|
|
[MagatartasOsztalyzatNev] NVARCHAR(MAX),
|
|
[MagatartasSzoveg] NVARCHAR(MAX),
|
|
[MagatartasSzovegFormazott] NVARCHAR(3),
|
|
[MagatartasSzovegRovidNev] NVARCHAR(3),
|
|
[MagatartasErtekId] INT,
|
|
[MagatartasErtek] NVARCHAR(MAX),
|
|
[MagatartasErtekOsztalyzatkent] INT,
|
|
[SzorgalomOsztalyzatId] INT,
|
|
[SzorgalomOsztalyzatValue] INT,
|
|
[SzorgalomOsztalyzatNev] NVARCHAR(MAX),
|
|
[SzorgalomSzoveg] NVARCHAR(MAX),
|
|
[SzorgalomSzovegFormazott] NVARCHAR(3),
|
|
[SzorgalomSzovegRovidNev] NVARCHAR(3),
|
|
[SzorgalomErtekId] INT,
|
|
[SzorgalomErtek] NVARCHAR(MAX),
|
|
[SzorgalomErtekOsztalyzatkent] INT,
|
|
[TanuloId] INT,
|
|
TanuloCsoportId int,
|
|
[OsztalyCsoportId] INT,
|
|
[TantargyId] INT,
|
|
[TantargyNevZarojellel] NVARCHAR(MAX),
|
|
[TantargyNevNyomtatvanyban] NVARCHAR(MAX),
|
|
[TantargyNev] NVARCHAR(MAX),
|
|
[TargyKategoriaId] INT,
|
|
[FotargyE] CHAR(1),
|
|
[Altantargy] CHAR(1),
|
|
[FotargyId] INT,
|
|
[ErtekelesTema] NVARCHAR(MAX),
|
|
[ErtekeloId] INT,
|
|
[ErtekelesModjaId] INT,
|
|
[IsMagatartasSzorgalom] CHAR(1),
|
|
[Jeloles] NVARCHAR(MAX),
|
|
[JelolesAndErtekelesTema] NVARCHAR(MAX)
|
|
)
|
|
|
|
SELECT
|
|
Datum
|
|
,RogzitesDatum
|
|
,TipusId
|
|
,TanuloCsoportId
|
|
,ErtekelesSzoveg
|
|
,ErtekelesSzovegFormazott
|
|
,ErtekelesSzovegRovidNev
|
|
,ErtekelesOsztalyzatId
|
|
,ErtekelesOsztalyzatValue
|
|
,ErtekelesOsztalyzatNev
|
|
,ErtekelesSzazalek
|
|
,MagatartasOsztalyzatId
|
|
,MagatartasOsztalyzatNev
|
|
,MagatartasSzoveg
|
|
,MagatartasSzovegFormazott
|
|
,MagatartasSzovegRovidNev
|
|
,MagatartasErtekId
|
|
,MagatartasErtek
|
|
,SzorgalomOsztalyzatId
|
|
,SzorgalomOsztalyzatNev
|
|
,SzorgalomSzoveg
|
|
,SzorgalomSzovegFormazott
|
|
,SzorgalomSzovegRovidNev
|
|
,SzorgalomErtekId
|
|
,SzorgalomErtek
|
|
,TanuloId
|
|
,OsztalyCsoportId
|
|
,TantargyId
|
|
,TantargyNevZarojellel
|
|
,TantargyNev
|
|
,TantargyNevNyomtatvanyban
|
|
,TargyKategoriaId
|
|
,FotargyE
|
|
,FotargyId
|
|
,Altantargy
|
|
,ErtekelesTema
|
|
,Jeloles
|
|
,JelolesAndErtekelesTema
|
|
,isMagatartasSzorgalom
|
|
,RENDEZ0
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
INTO #ErtekelesekTemp
|
|
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID)
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
CREATE CLUSTERED INDEX ci111 on #ErtekelesekTemp (datum, tanulocsoportid)
|
|
|
|
CREATE TABLE #OraSorszamTemp (TanitasioraId INT, OraSorszam INT)
|
|
CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT)
|
|
|
|
DECLARE csoport_cursor CURSOR FOR
|
|
SELECT OsztalyCsoportId FROM #osztalycsoportok
|
|
|
|
DECLARE @ocsId int
|
|
|
|
OPEN csoport_cursor
|
|
FETCH NEXT FROM csoport_cursor INTO @ocsId
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
|
|
DECLARE @nap DATETIME = (SELECT COALESCE(@UtolsoRendkivuliTanitasiNap, @UtolsoNap));
|
|
|
|
INSERT INTO #OraSorszamTemp
|
|
EXEC uspGetOraSorszamByOsztaly
|
|
@osztalyCsoportId = @ocsId,
|
|
@datum = @nap,
|
|
@intezmenyId = @intezmenyId,
|
|
@tanevId = @tanevId
|
|
|
|
FETCH NEXT FROM csoport_cursor INTO @ocsId
|
|
END
|
|
|
|
CLOSE csoport_cursor
|
|
DEALLOCATE csoport_cursor
|
|
|
|
INSERT INTO #OraSorszam
|
|
SELECT DISTINCT TanitasioraId, OraSorszam FROM #OraSorszamTemp
|
|
|
|
SELECT
|
|
tao.Id AS TanitasioraId
|
|
,tao.C_DATUM AS Datum
|
|
,IIF(tao.C_ORASZAM IS NULL, dbo.fnGetDokumentumOrakezdetToOraszam(CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108), @tanevId), tao.C_ORASZAM) AS Oraszam
|
|
,pedagogus.ID AS PedagogusId
|
|
,IIF(C_MEGTARTOTT = 'T', IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV), '-') AS PedagogusNev
|
|
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam) + '.','-'), '-') AS OraSorszam
|
|
,IIF(C_MEGTARTOTT = 'T'
|
|
,IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(VARCHAR(5), C_ORAKEZDETE, 108) + ' - ' + CONVERT(VARCHAR(5), C_ORAVEGE, 108) + ') ', '')
|
|
+ REPLACE(REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), CHAR(0x0002), '')
|
|
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás: ' + helyettesito.C_NYOMTATASINEV +')', '')
|
|
+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), ' (Helyettesitve: ' + pedagogus.C_NYOMTATASINEV + IIF(tao.C_HELYETTESITESOKA IS NOT NULL, ' (' + tao.C_HELYETTESITESOKA + ')', '') + ')', '')
|
|
,'Elmaradt' + IIF(tao.C_MEGJEGYZES IS NOT NULL, ' - ' + tao.C_MEGJEGYZES, '')
|
|
) AS Tema
|
|
,IIF(C_MEGTARTOTT = 'T'
|
|
,IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(VARCHAR(5), C_ORAKEZDETE, 108) + ' - ' + CONVERT(VARCHAR(5), C_ORAVEGE, 108) + ') ', '')
|
|
+ ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-') + '.: '
|
|
+ REPLACE(REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), CHAR(0x0002), '')
|
|
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás, ' + helyettesito.C_NYOMTATASINEV + ')', '')
|
|
+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), ' (Helyettesitve: ' + pedagogus.C_NYOMTATASINEV + IIF(tao.C_HELYETTESITESOKA IS NOT NULL, ' (' + tao.C_HELYETTESITESOKA + ')', '') + ')', '')
|
|
,'Elmaradt' + IIF(tao.C_MEGJEGYZES IS NOT NULL, ' - ' + tao.C_MEGJEGYZES, '')
|
|
) AS TemaOraSzammal
|
|
,tao.C_HETNAPJA AS HetNapja
|
|
,nh.C_HETSORSZAMA AS HetSorszama
|
|
,C_MEGTARTOTT AS Megtartott
|
|
,tao.C_TANTARGYID AS TantargyId
|
|
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN, tantargy.C_NEV) AS Tantargynev
|
|
,tao.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
|
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL,
|
|
IIF(LEN(C_NEVNYOMTATVANYBAN) + LEN(tantargy.C_NEV) < 90,
|
|
C_NEVNYOMTATVANYBAN,
|
|
C_NEVNYOMTATVANYBAN), tantargy.C_NEV) + '-' + CHAR(13) + CHAR(10) +
|
|
REPLACE(REPLACE(pedagogus.C_NYOMTATASINEV , '[', '('), ']',')') AS TantargyPedagogussal
|
|
,nn.C_ALAPHETNAPJA AS AlapHetnapja
|
|
INTO #megtartottOrak
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
LEFT JOIN T_FELHASZNALO_OSSZES pedagogus ON pedagogus.Id = tao.C_TANARID
|
|
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = tao.C_HELYETTESITOTANARID
|
|
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
|
|
LEFT JOIN (SELECT DISTINCT TanitasioraId, OraSorszam FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
|
|
INNER JOIN T_NAPTARIHET_OSSZES nh ON tao.C_DATUM BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId AND nh.TOROLT='F'
|
|
INNER JOIN #osztalycsoportok OsztalyCsoportok ON OsztalyCsoportok.OsztalyCsoportId = tao.C_OSZTALYCSOPORTID AND tao.C_DATUM BETWEEN OsztalyCsoportok.Kezdete AND OsztalyCsoportok.Vege
|
|
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA = tao.C_DATUM AND nn.C_TANEVID = tao.C_TANEVID AND nn.TOROLT = 'F'
|
|
WHERE
|
|
tao.TOROLT = 'F'
|
|
AND (@isOsztalyTanuloOrarendbenNemLatszik <> 1 OR @isOsztalyTanuloOrarendbenNemLatszik IS NULL OR tantargy.C_ISOSZTALYORARENDBENEMLATSZIK = 'F')
|
|
|
|
CREATE CLUSTERED INDEX ciMegtartottOrak on #megtartottOrak (Datum)
|
|
|
|
DECLARE @MaxOraszam INT = (SELECT ISNULL(MAX(Oraszam), 4) FROM #megtartottOrak)
|
|
DECLARE @MinOraszam INT = (SELECT ISNULL(MIN(Oraszam), 1) FROM #megtartottOrak)
|
|
|
|
CREATE TABLE #HetAdatok (C_HETSORSZAMA INT, Hetesek NVARCHAR(MAX), KezdoDatum DATE, VegeDatum DATE, HetUtolsoNapja int)
|
|
INSERT INTO #HetAdatok
|
|
SELECT
|
|
nn.C_HETSORSZAMA
|
|
,STUFF((SELECT ', '
|
|
,IIF(C_NEVSORREND = 'T',
|
|
fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV,
|
|
fh.C_NYOMTATASINEV) as NevElotagNelkul
|
|
FROM T_HETES_OSSZES h
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = h.C_TANULOID
|
|
AND fh.TOROLT = 'F'
|
|
AND fh.C_TANEVID = h.C_TANEVID
|
|
WHERE h.C_HETSORSZAMA = nn.C_HETSORSZAMA
|
|
AND h.C_TANEVID = @tanevId
|
|
AND h.C_OSZTALYCSOPORTID = @osztalyId
|
|
AND h.TOROLT = 'F'
|
|
ORDER BY NevElotagNelkul
|
|
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,2,'') AS Hetesek
|
|
,MIN(nn.C_NAPDATUMA) AS KezdoDatum
|
|
,MAX(nn.C_NAPDATUMA) AS VegeDatum
|
|
,(
|
|
SELECT MAX(HetNapja) FROM (VALUES
|
|
(IIF(MAX(mo.AlapHetNapja) IS NULL OR MAX(mo.AlapHetNapja) <= 1412 , 1412, MAX(mo.AlapHetNapja)))
|
|
,(MAX(tr.C_HETNAPJA))
|
|
,(MAX(trocs.C_HETNAPJA))
|
|
,(MAX(rtn.C_ALAPHETNAPJA))
|
|
) AS HetUtolsoNapja(HetNapja)) AS HetUtolsoNapja
|
|
FROM T_NAPTARINAP_OSSZES nn
|
|
LEFT JOIN #megtartottOrak mo ON mo.HetSorszama = nn.C_HETSORSZAMA
|
|
LEFT JOIN #NapSorszam NapSorszam ON nn.C_NAPDATUMA = NapSorszam.Datum AND nn.C_TANEVID = @tanevId
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
AND (tr.C_HETNAPJA = 1413 OR tr.C_HETNAPJA = 1414)
|
|
AND tr.C_NAPTIPUSA <> 1396
|
|
AND tr.C_TANEVID = @tanevId
|
|
AND tr.TOROLT = 'F'
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES trocs ON trocs.C_DATUM = nn.C_NAPDATUMA
|
|
AND trocs.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
AND (trocs.C_HETNAPJA = 1413 OR trocs.C_HETNAPJA = 1414)
|
|
AND trocs.C_NAPTIPUSA <> 1396
|
|
AND trocs.C_TANEVID = @tanevId
|
|
AND trocs.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON ocstr.C_TANEVRENDJEID = trocs.ID
|
|
AND ocstr.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM #osztalycsoportok tocs)
|
|
LEFT JOIN #RendkivuliTanitasiNapok rtn ON rtn.C_NAPDATUMA = nn.C_NAPDATUMA
|
|
WHERE nn.C_TANEVID = @tanevId
|
|
AND nn.C_NAPDATUMA BETWEEN @ElsoNap AND COALESCE(@UtolsoRendkivuliTanitasiNap, @UtolsoNap)
|
|
GROUP BY nn.C_HETSORSZAMA
|
|
|
|
CREATE TABLE #OsszesOra (
|
|
Datum datetime
|
|
,FormatDate nvarchar(100)
|
|
,Oraszam int
|
|
,HetSorszama int
|
|
,HetNapja nvarchar(100)
|
|
,Megjegyzes nvarchar(1000)
|
|
,Sorszam nvarchar(30)
|
|
)
|
|
|
|
INSERT INTO #OsszesOra
|
|
SELECT
|
|
Datum
|
|
,FormatDate
|
|
,Oraszam
|
|
,HetSorszama
|
|
,HetNapja
|
|
,IIF(RIGHT(Megjegyzes, 1) = ',', LEFT(Megjegyzes, LEN(Megjegyzes) - 1), Megjegyzes) Megjegyzes
|
|
,Sorszam
|
|
FROM (
|
|
SELECT
|
|
C_NAPDATUMA AS Datum
|
|
,dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) AS FormatDate
|
|
,oraszam AS Oraszam
|
|
,ha.C_HETSORSZAMA AS HetSorszama
|
|
,AlapHetnapja.C_NAME AS HetNapja
|
|
,ISNULL(trNaptipus.C_NAME + ',', '')
|
|
+ IIF(LEN(ISNULL(tr.C_MEGJEGYZES, '')) = 0, '', ' ' + tr.C_MEGJEGYZES + ',')
|
|
+ IIF(LEN(ISNULL(osztalyCsoportTanevRendje.Megjegyzes, '')) = 0, '', ' ' + osztalyCsoportTanevRendje.Megjegyzes + ',')
|
|
+ IIF(tr.C_HETNAPJA <> nn.C_ALAPHETNAPJA, ' (' + Hetnapja.C_NAME +')', '') AS Megjegyzes
|
|
,Sorszam
|
|
FROM T_NAPTARINAP_OSSZES nn
|
|
INNER JOIN #HetAdatok ha ON nn.C_NAPDATUMA BETWEEN ha.KezdoDatum AND ha.VegeDatum AND nn.C_HETNAPJA BETWEEN 1407 AND ha.HetUtolsoNapja
|
|
LEFT JOIN #NapSorszam sorszam ON sorszam.Datum = nn.C_NAPDATUMA
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_TANEVID = nn.C_TANEVID AND tr.TOROLT = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
C_DATUM
|
|
,ISNULL(trNaptipus.C_NAME + ', ', '') + ISNULL('(' + HetNapja.C_NAME + ')', '') + ISNULL(C_MEGJEGYZES, '') Megjegyzes
|
|
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
|
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.Id = ocstr.C_TANEVRENDJEID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = tr.C_HETNAPJA AND HetNapja.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
|
|
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
) osztalyCsoportTanevRendje ON osztalyCsoportTanevRendje.C_DATUM = nn.C_NAPDATUMA
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AlapHetnapja ON AlapHetnapja.Id = nn.C_ALAPHETNAPJA AND AlapHetnapja.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Hetnapja ON Hetnapja.Id = nn.C_HETNAPJA AND Hetnapja.C_TANEVID = @tanevId
|
|
CROSS JOIN (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22),(23),(24),(25)) oraszam(oraszam)
|
|
WHERE
|
|
nn.C_TANEVID = @tanevId
|
|
AND nn.TOROLT = 'F'
|
|
AND nn.C_NAPDATUMA <= @UtolsoNap
|
|
AND oraszam <= @MaxOraszam
|
|
) NapAdatok
|
|
|
|
INSERT INTO #OsszesOra
|
|
SELECT
|
|
Datum
|
|
,FormatDate
|
|
,Oraszam
|
|
,HetSorszama
|
|
,HetNapja
|
|
,IIF(RIGHT(Megjegyzes, 1) = ',', LEFT(Megjegyzes, LEN(Megjegyzes) - 1), Megjegyzes) AS Megjegyzes
|
|
,Sorszam
|
|
FROM (
|
|
SELECT
|
|
nn.C_NAPDATUMA AS Datum
|
|
,dbo.fnGetDokumentumDatumFormatum(nn.C_NAPDATUMA) AS FormatDate
|
|
,oraszam AS Oraszam
|
|
,nn.C_HETSORSZAMA AS HetSorszama
|
|
,AlapHetnapja.C_NAME AS HetNapja
|
|
,ISNULL(trNaptipus.C_NAME + ',', '')
|
|
+ IIF(LEN(ISNULL(tr.C_MEGJEGYZES, '')) = 0, '', ' ' + tr.C_MEGJEGYZES + ',')
|
|
+ IIF(LEN(ISNULL(osztalyCsoportTanevRendje.Megjegyzes, '')) = 0, '', ' ' + osztalyCsoportTanevRendje.Megjegyzes + ',')
|
|
+ IIF(tr.C_HETNAPJA <> nn.C_ALAPHETNAPJA, ' (' + Hetnapja.C_NAME +')', '') AS Megjegyzes
|
|
,Sorszam
|
|
FROM #RendkivuliTanitasiNapok nn
|
|
INNER JOIN #HetAdatok ha ON nn.C_NAPDATUMA BETWEEN ha.KezdoDatum AND ha.VegeDatum AND nn.C_ALAPHETNAPJA BETWEEN 1407 AND ha.HetUtolsoNapja
|
|
LEFT JOIN #NapSorszam sorszam ON sorszam.Datum = nn.C_NAPDATUMA
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_TANEVID = nn.C_TANEVID AND tr.TOROLT = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
C_DATUM
|
|
,ISNULL(trNaptipus.C_NAME + ', ', '') + ISNULL('(' + HetNapja.C_NAME + ')', '') + ISNULL(C_MEGJEGYZES, '') Megjegyzes
|
|
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
|
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.Id = ocstr.C_TANEVRENDJEID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = tr.C_HETNAPJA AND HetNapja.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
|
|
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
) osztalyCsoportTanevRendje ON osztalyCsoportTanevRendje.C_DATUM = nn.C_NAPDATUMA
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND tr.C_NAPTIPUSA <> 1385
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AlapHetnapja ON AlapHetnapja.Id = nn.C_ALAPHETNAPJA AND AlapHetnapja.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Hetnapja ON Hetnapja.Id = nn.C_HETNAPJA AND Hetnapja.C_TANEVID = @tanevId
|
|
CROSS JOIN (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22),(23),(24),(25)) oraszam(oraszam)
|
|
WHERE nn.C_TANEVID = @tanevId
|
|
AND nn.TOROLT = 'F'
|
|
AND oraszam <= @MaxOraszam
|
|
) NapAdatok
|
|
|
|
IF (@MinOraszam > 0)
|
|
BEGIN
|
|
DELETE FROM #OsszesOra WHERE Oraszam = 0
|
|
END
|
|
|
|
DECLARE @TanulokSzama INT = (SELECT COUNT(DISTINCT TanuloId) FROM #ErtekelesekTemp WHERE TipusId = 1520)
|
|
DECLARE @TanitasiNapokSzama INT = (SELECT MAX(CAST(Sorszam AS INT)) FROM #OsszesOra)
|
|
|
|
IF @isDebug = 1 SELECT 'Result01' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
@osztalyId OsztalyId
|
|
,ocs.C_NEV OsztalyNev
|
|
,o.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes
|
|
,o.C_OSZTALYFONOKID PartnerID
|
|
,ofo.C_NYOMTATASINEV Osztalyfonok
|
|
,o.C_OFOHELYETTESID OsztalyfonokHelyettesId
|
|
,i.C_IGAZGATONEVE IntezmenyVezeto
|
|
,i.C_NEV IntezmenyNeve
|
|
,i.C_VAROS IntezmenyVaros
|
|
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime
|
|
,i.C_OMKOD IntezmenyOMKod
|
|
,dbo.fnGetDokumentumDatumFormatum(o.C_OSZTALYNAPLOMEGNYITASA) NaploMegnyitasanakDatuma
|
|
,dbo.fnGetDokumentumDatumFormatum(o.C_OSZTALYNAPLOZARASA) NaploZarasanakDatuma
|
|
,o.C_OSZTALYNAPLOZARASA NaplozarasDateFormat
|
|
,@TanulokSzama TanulokSzama
|
|
,@TanitasiNapokSzama TanitasiNapokSzama
|
|
,@MaxOraszam MaxOraszam
|
|
,@MinOraszam MinOraszam
|
|
,@tanevId TanevId
|
|
,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa
|
|
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
|
,o.C_TANTERVID TantervId
|
|
,ocs.C_KEPZESIFORMA KepzesiForma
|
|
,o.C_AGAZAT AS Agazat
|
|
,o.C_SZAKMACSOPORT AS SzakmaCsoport
|
|
,o.C_SZAKKEPESITES AS Szakkepesites
|
|
,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
|
|
,o.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat
|
|
,o.C_SZAKMATIPUSID AS UjSzktSzakma
|
|
,o.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany
|
|
,o.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet
|
|
,o.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites
|
|
,o.C_SZAKIRANYNKTTIPUSID AS NktSzakirany
|
|
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
|
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
|
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
|
|
,o.C_NEMZETISEGI OJNemzetisegi
|
|
,o.C_KETTANNYELVU OJKettannyelvu
|
|
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
|
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
|
|
,o.C_SPORT OJSportOsztaly
|
|
,o.C_AJPROGRAM OJAranyJanosProgram
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
|
|
WHERE ocs.ID = @osztalyId
|
|
|
|
-- Tanarok
|
|
IF @isEllenorzo = 0
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result02' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
targy.C_NEV AS TargyNev
|
|
,targy.C_NEVNYOMTATVANYBAN AS TargyNevNyomtatvanyban
|
|
,IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV) AS TanarNev
|
|
,tanar.ID AS TanarId
|
|
,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
|
|
,targy.C_SORSZAM AS RENDEZ0
|
|
,CASE WHEN targy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END AS RENDEZ1
|
|
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, targy.C_NEV) AS RENDEZ2
|
|
,ISNULL(targy.C_FOTARGYID, targy.ID) AS RENDEZ3
|
|
,targy.C_FOTARGYID AS RENDEZ4
|
|
,ISNULL(targy.C_NEVNYOMTATVANYBAN, targy.C_NEV) AS RENDEZ5
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevID, @osztalyId, 'T') tanulok
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES AS tcs ON tcs.C_TANULOID = tanulok.TanuloId
|
|
AND tcs.C_BELEPESDATUM >= tanulok.BelepesDatum AND (tanulok.KilepesDatum is NULL or tcs.C_BELEPESDATUM < tanulok.KilepesDatum)
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
|
|
AND ocs.TOROLT = 'F'
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES AS fogl ON fogl.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND fogl.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS tanar ON fogl.C_TANARID = tanar.ID AND tanar.TOROLT='F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES AS munkaugyiAdat ON munkaugyiAdat.C_ALKALMAZOTTID = tanar.ID AND munkaugyiAdat.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES AS targy ON targy.ID = fogl.C_TANTARGYID AND targy.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = targy.C_TARGYKATEGORIA
|
|
AND TargyKategoriaDictionary.TOROLT = 'F'
|
|
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
|
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON targy.C_FOTARGYID = FotargyTable.ID
|
|
AND FotargyTable.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
|
|
AND FotargyKategoriaDictionary.TOROLT = 'F'
|
|
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
|
WHERE
|
|
fogl.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
|
|
AND fogl.TOROLT = 'F'
|
|
UNION
|
|
-- Az olyan osztálybontott foglalkozások is kerüljenek bele a listába, ahol a csoportban nincs egy gyerek sem
|
|
SELECT DISTINCT
|
|
targy.C_NEV AS TargyNev
|
|
,targy.C_NEVNYOMTATVANYBAN AS TargyNevNyomtatvanyban
|
|
,IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV) AS TanarNev
|
|
,tanar.ID AS TanarId
|
|
,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
|
|
,targy.C_SORSZAM AS RENDEZ0
|
|
,CASE WHEN targy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END AS RENDEZ1
|
|
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, targy.C_NEV) AS RENDEZ2
|
|
,ISNULL(targy.C_FOTARGYID, targy.ID) AS RENDEZ3
|
|
,targy.C_FOTARGYID AS RENDEZ4
|
|
,ISNULL(targy.C_NEVNYOMTATVANYBAN, targy.C_NEV) AS RENDEZ5
|
|
FROM T_FOGLALKOZAS_OSSZES AS fogl
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.C_OSZTALYBONTASID = @osztalyId
|
|
AND cs.ID = fogl.C_OSZTALYCSOPORTID
|
|
AND cs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = fogl.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
|
|
AND ocs.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS tanar ON fogl.C_TANARID = tanar.ID AND tanar.TOROLT='F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES AS munkaugyiAdat ON munkaugyiAdat.C_ALKALMAZOTTID = tanar.ID AND munkaugyiAdat.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES AS targy ON targy.ID = fogl.C_TANTARGYID AND targy.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = targy.C_TARGYKATEGORIA
|
|
AND TargyKategoriaDictionary.TOROLT = 'F'
|
|
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
|
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON targy.C_FOTARGYID = FotargyTable.ID
|
|
AND FotargyTable.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
|
|
AND FotargyKategoriaDictionary.TOROLT = 'F'
|
|
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
|
WHERE
|
|
fogl.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
|
|
AND fogl.TOROLT = 'F'
|
|
ORDER BY
|
|
RENDEZ0,RENDEZ1,RENDEZ2,RENDEZ3,RENDEZ4,RENDEZ5,
|
|
IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result03' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
Tanulok.Id AS TanuloId
|
|
,Tantargy.C_NEV AS TargyNev
|
|
,Tantargy.C_NEVNYOMTATVANYBAN AS TargyNevNyomtatvanyban
|
|
,IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV) AS TanarNev
|
|
,Tantargy.C_SORSZAM as RENDEZ0
|
|
,CASE WHEN Tantargy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
|
|
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, Tantargy.C_NEV) as RENDEZ2
|
|
,ISNULL(Tantargy.C_FOTARGYID, Tantargy.ID) as RENDEZ3
|
|
,Tantargy.C_FOTARGYID as RENDEZ4
|
|
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) as RENDEZ5
|
|
FROM #students Tanulok
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulok.Id AND TanuloCsoport.TOROLT = 'F' AND @VizsgaltNap BETWEEN C_BELEPESDATUM AND ISNULL(C_KILEPESDATUM, @UtolsoNap)
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId
|
|
AND ocs.TOROLT = 'F'
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES Foglalkozas ON Foglalkozas.C_OSZTALYCSOPORTID = TanuloCsoport.C_OSZTALYCSOPORTID AND Foglalkozas.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.Id = Foglalkozas.C_TANARID AND Tanar.TOROLT = 'F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES AS munkaugyiAdat ON munkaugyiAdat.C_ALKALMAZOTTID = Tanar.ID AND munkaugyiAdat.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = Foglalkozas.C_TANTARGYID AND Tantargy.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = Tantargy.C_TARGYKATEGORIA
|
|
AND TargyKategoriaDictionary.TOROLT = 'F'
|
|
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
|
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON Tantargy.C_FOTARGYID = FotargyTable.ID
|
|
AND FotargyTable.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
|
|
AND FotargyKategoriaDictionary.TOROLT = 'F'
|
|
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
|
ORDER BY
|
|
RENDEZ0,RENDEZ1,RENDEZ2,RENDEZ3,RENDEZ4,RENDEZ5,
|
|
IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', Tanar.C_NYOMTATASINEV)
|
|
END
|
|
|
|
-- Orarend
|
|
IF @isDebug = 1 SELECT 'Result04' as [ResultSetName ]
|
|
EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyid, @aktivTanevId, @isEgyebFoglalkozasok, @orarendErvenyessegiDatum, @isOsztalyTanuloOrarendbenNemLatszik
|
|
|
|
-- Oralatogatasok
|
|
SELECT
|
|
dbo.fnGetDokumentumDatumFormatum(T_ORALATOGATAS_OSSZES.C_DATUM) DATUM
|
|
,TANITASIORA.C_ORASZAM ORASZAM
|
|
,TARGY.C_NEV TARGYNEV
|
|
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV LATOGATO
|
|
,T_ORALATOGATAS_OSSZES.C_ORALATOGATOBEOSZTASA LATOGATOBEOSZTAS
|
|
,T_ORALATOGATAS_OSSZES.C_MEGJEGYZES ESZREVETEL
|
|
INTO #Oralatogatas
|
|
FROM T_ORALATOGATAS_OSSZES
|
|
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_ORALATOGATAS_OSSZES.C_ERTEKELOID
|
|
INNER JOIN (SELECT ID, C_TANTARGYID, C_ORASZAM, C_OSZTALYCSOPORTID FROM T_TANITASIORA_OSSZES ) TANITASIORA ON TANITASIORA.ID = T_ORALATOGATAS_OSSZES.C_MEGTARTOTTORAID
|
|
INNER JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = TANITASIORA.C_TANTARGYID
|
|
INNER JOIN #osztalycsoportok ocs ON ocs.OsztalyCsoportId = C_OSZTALYCSOPORTID
|
|
WHERE T_ORALATOGATAS_OSSZES.TOROLT='F'
|
|
AND T_ORALATOGATAS_OSSZES.c_tanevId = @tanevId
|
|
AND T_ORALATOGATAS_OSSZES.C_INTEZMENYID = @intezmenyId
|
|
ORDER BY T_ORALATOGATAS_OSSZES.C_DATUM, TANITASIORA.C_ORASZAM
|
|
|
|
IF ((SELECT COUNT(1) FROM #Oralatogatas) = 0)
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result05' as [ResultSetName ]
|
|
SELECT NULL DATUM, NULL ORASZAM, NULL TARGYNEV, NULL LATOGATO, NULL LATOGATOBEOSZTAS, '' ESZREVETEL
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result06' as [ResultSetName ]
|
|
SELECT DATUM, ORASZAM, TARGYNEV, LATOGATO, LATOGATOBEOSZTAS, ESZREVETEL FROM #Oralatogatas ORDER BY DATUM
|
|
END
|
|
|
|
-- Naploellenorzesek
|
|
IF @isDebug = 1 SELECT 'Result07' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
dbo.fnGetDokumentumDatumFormatum(C_ELLENORZESDATUMA) ELLENORZESDATUMA
|
|
,ELLENORZO.C_NYOMTATASINEV ELLENORZOSZEMELY
|
|
,T_NAPLOELLENORZES_OSSZES.C_ESZREVETEL ESZREVETEL
|
|
INTO #NaploEllenorzes
|
|
FROM T_NAPLOELLENORZES_OSSZES
|
|
INNER JOIN T_FELHASZNALO_OSSZES ELLENORZO ON ELLENORZO.ID = T_NAPLOELLENORZES_OSSZES.C_ELLENORZOSZEMELYID
|
|
WHERE C_OSZTALYID = @osztalyId
|
|
AND T_NAPLOELLENORZES_OSSZES.TOROLT = 'F'
|
|
AND T_NAPLOELLENORZES_OSSZES.c_tanevId=@tanevId
|
|
|
|
IF ((SELECT COUNT(1) FROM #NaploEllenorzes) = 0)
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result08' as [ResultSetName ]
|
|
SELECT NULL ELLENORZESDATUMA, NULL ELLENORZOSZEMELY, NULL ESZREVETEL
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result09' as [ResultSetName ]
|
|
SELECT ELLENORZESDATUMA, ELLENORZOSZEMELY, ESZREVETEL FROM #NaploEllenorzes
|
|
END
|
|
|
|
/* Napló */
|
|
IF @isDebug = 1 SELECT 'Result10' as [ResultSetName ]
|
|
SELECT
|
|
ROW_NUMBER() OVER (ORDER BY ret.C_HETSORSZAMA) AS TanitasiHetSorszam
|
|
,ret.C_HETSORSZAMA
|
|
,ret.Hetesek
|
|
,dbo.fnGetDokumentumDatumFormatum(ret.KezdoDatum)
|
|
,dbo.fnGetDokumentumDatumFormatum(ret.VegeDatum)
|
|
FROM (
|
|
SELECT DISTINCT
|
|
ha.*
|
|
FROM #HetAdatok ha
|
|
INNER JOIN #NapSorszamTemp ns ON ns.Datum >= ha.KezdoDatum and ns.Datum <= ha.VegeDatum
|
|
)ret
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
NULL AS TanitasiHetSorszam
|
|
,ret.C_HETSORSZAMA
|
|
,ret.Hetesek
|
|
,dbo.fnGetDokumentumDatumFormatum(ret.KezdoDatum)
|
|
,dbo.fnGetDokumentumDatumFormatum(ret.VegeDatum)
|
|
FROM (
|
|
SELECT DISTINCT
|
|
ha.*
|
|
FROM #HetAdatok ha
|
|
LEFT JOIN #NapSorszamTemp ns ON ns.Datum >= ha.KezdoDatum and ns.Datum <= ha.VegeDatum
|
|
WHERE ns.Datum IS NULL
|
|
) ret
|
|
ORDER BY ret.C_HETSORSZAMA
|
|
|
|
IF @isSzovegesNaplo = 0 BEGIN /* NORMÁL OSZTÁLYNAPLÓ */
|
|
DECLARE @selectList nvarchar(MAX),
|
|
@pivotList nvarchar(MAX)
|
|
|
|
SELECT
|
|
MulasztasokKulso.Datum Datum
|
|
,Felhasznalo.C_NYOMTATASINEV
|
|
+ ' [' + STUFF((
|
|
SELECT ', ' + CAST(MulasztasokBelso.Oraszam AS VARCHAR(3)) + IIF(MulasztasokBelso.Tipus = 1499, '(k)', '')
|
|
FROM #mulasztasTmp MulasztasokBelso
|
|
WHERE
|
|
MulasztasokBelso.Datum = MulasztasokKulso.Datum
|
|
AND MulasztasokBelso.TanuloId = MulasztasokKulso.TanuloId
|
|
AND MulasztasokBelso.TanuloCsoportId = MulasztasokKulso.TanuloCsoportId
|
|
ORDER BY Datum, Oraszam, NevElotagNelkul
|
|
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') + '] '
|
|
+ CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'T', 1, 0)) AS VARCHAR(5)) + '/'
|
|
+ CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'F', 1, 0)) AS VARCHAR(5)) Hianyzas
|
|
INTO #hianyzasokTMP
|
|
FROM #mulasztasTmp MulasztasokKulso
|
|
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = MulasztasokKulso.TanuloId
|
|
GROUP BY MulasztasokKulso.Datum, MulasztasokKulso.TanuloId, TanuloCsoportId, Felhasznalo.C_NYOMTATASINEV
|
|
|
|
CREATE CLUSTERED INDEX ci2 on #hianyzasokTMP (datum)
|
|
|
|
SELECT
|
|
Datum
|
|
,STUFF((
|
|
SELECT CHAR(13) + CHAR(10) + Hianyzas
|
|
FROM #hianyzasokTMP bHianyzasok
|
|
WHERE
|
|
Hianyzasok.Datum = bHianyzasok.Datum
|
|
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,2,'') AS Hianyzas
|
|
INTO #hianyzasok
|
|
FROM #hianyzasokTMP Hianyzasok
|
|
|
|
SELECT DISTINCT
|
|
Datum
|
|
,HetSorszama
|
|
,HetNapja
|
|
,Oraszam
|
|
,STUFF((SELECT
|
|
CAST(bmto.TantargyNev AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #megtartottOrak bmto
|
|
WHERE
|
|
bmto.Datum = mto.Datum
|
|
AND bmto.Oraszam = mto.Oraszam
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') Tantargy
|
|
INTO #Orarend
|
|
FROM #megtartottOrak mto
|
|
|
|
SELECT DISTINCT
|
|
Datum
|
|
,@MinOraszam Oraszam
|
|
,TantargyPedagogussal
|
|
,STUFF((SELECT DISTINCT
|
|
CAST(bmto.TemaOraSzammal AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #megtartottOrak bmto
|
|
WHERE
|
|
bmto.Datum = mto.Datum
|
|
AND bmto.TantargyPedagogussal = mto.TantargyPedagogussal
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') Tema
|
|
INTO #1nap1TantargyTobbOra
|
|
FROM #megtartottOrak mto
|
|
|
|
DECLARE @tantargyakNevvel NVARCHAR(MAX)
|
|
SELECT @tantargyakNevvel = ISNULL(@tantargyakNevvel + ', ', '') + '[' + IIF(LEN(TantargyPedagogussal) > 128, SUBSTRING(TantargyPedagogussal, 1, 120) + '...', TantargyPedagogussal) + ']'
|
|
FROM (SELECT DISTINCT TantargyPedagogussal, C_TARGYKATEGORIA FROM #megtartottOrak m INNER JOIN T_TANTARGY_OSSZES t ON t.Id = m.TantargyId ) t
|
|
ORDER BY C_TARGYKATEGORIA
|
|
|
|
DECLARE @sql NVARCHAR(MAX)
|
|
SET @sql = '
|
|
SELECT
|
|
Datum
|
|
,Oraszam
|
|
, ' + @tantargyakNevvel +'
|
|
INTO #naplo
|
|
FROM #1nap1TantargyTobbOra
|
|
PIVOT (MAX(Tema) FOR TantargyPedagogussal IN (' + @tantargyakNevvel + ')) piv
|
|
|
|
SELECT DISTINCT
|
|
OsszesOra.FormatDate AS C_NAPDATUMA
|
|
,Hianyzas AS Mulasztas
|
|
,OsszesOra.Oraszam AS ORASZAM
|
|
,NULL AS T1ID
|
|
,NULL AS T2ID
|
|
,NULL AS T3ID
|
|
,Orarend.Tantargy AS TANTARGY
|
|
,OsszesOra.HetSorszama AS C_HETSORSZAMA
|
|
,OsszesOra.HetNapja AS C_HETNAPJA_DNAME
|
|
,ISNULL(OsszesOra.Sorszam, ''-'') AS NapSorszama
|
|
,OsszesOra.Megjegyzes AS Megjegyzes
|
|
,' + @tantargyakNevvel + '
|
|
FROM #OsszesOra OsszesOra
|
|
LEFT JOIN #Orarend Orarend ON Orarend.Datum = OsszesOra.Datum AND Orarend.Oraszam = OsszesOra.Oraszam
|
|
LEFT JOIN #naplo Naplo ON Naplo.Datum = OsszesOra.Datum AND OsszesOra.Oraszam = @MinOraszam
|
|
LEFT JOIN #hianyzasok Hianyzasok ON Hianyzasok.Datum = OsszesOra.Datum
|
|
ORDER BY OsszesOra.FormatDate, Oraszam
|
|
'
|
|
IF @sql IS NULL
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result11' as [ResultSetName ]
|
|
SELECT
|
|
NULL C_NAPDATUMA
|
|
,NULL Mulasztas
|
|
,NULL Megjegyzes
|
|
,NULL ORASZAM
|
|
,NULL T1ID
|
|
,NULL T2ID
|
|
,NULL T3ID
|
|
,NULL TANTARGY
|
|
,NULL C_HETSORSZAMA
|
|
,NULL C_HETNAPJA_DNAME
|
|
,NULL NapSorszama
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @isDebug = 1 SELECT 'Result12' as [ResultSetName ]
|
|
EXEC sp_executesql @sql, N'@MinOraszam int', @MinOraszam
|
|
END
|
|
DROP TABLE #1nap1TantargyTobbOra
|
|
DROP TABLE #OsszesOra
|
|
DROP TABLE #hianyzasokTMP
|
|
DROP TABLE #hianyzasok
|
|
DROP TABLE #Orarend
|
|
|
|
END -- NORMÁL OSZTÁLYNAPLÓ
|
|
ELSE BEGIN -- SZÖVEGES OSZTÁLYNAPLÓ
|
|
SELECT
|
|
OsszesOra.Datum AS C_NAPDATUMA
|
|
,OsszesOra.HetNapja AS Napneve
|
|
,OsszesOra.Megjegyzes AS C_MEGJEGYZES
|
|
,nh.C_HETKEZDONAPJA AS C_HETKEZDONAPJA
|
|
,nh.C_HETUTOLSONAPJA AS C_HETUTOLSONAPJA
|
|
,OsszesOra.HetSorszama AS C_HETSORSZAMA
|
|
,OsszesOra.Oraszam AS OraSorszam
|
|
,ISNULL(OsszesOra.Sorszam, '-') AS Napszam
|
|
,Tantargynev AS Tantargy
|
|
,PedagogusNev AS Tanar
|
|
,Tema AS Oraanyaga
|
|
,OraSorszam AS C_ORAEVESSORSZAM
|
|
INTO #szoveges
|
|
FROM #OsszesOra OsszesOra
|
|
LEFT JOIN #megtartottOrak mto ON mto.Datum = OsszesOra.Datum AND OsszesOra.Oraszam = mto.Oraszam
|
|
INNER JOIN T_NAPTARIHET_OSSZES nh ON OsszesOra.Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId and nh.torolt='F'
|
|
|
|
CREATE CLUSTERED INDEX ci4 ON [#szoveges] ([C_NAPDATUMA])
|
|
IF @isDebug = 1 SELECT 'Result13' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) C_NAPDATUMA
|
|
,Napneve
|
|
,C_MEGJEGYZES
|
|
,C_HETKEZDONAPJA
|
|
,C_HETUTOLSONAPJA
|
|
,C_HETSORSZAMA
|
|
,OraSorszam
|
|
,Napszam
|
|
,(SELECT CAST(bszov.TANTARGY AS NVARCHAR(MAX)) + NCHAR(10)
|
|
FROM #szoveges bszov
|
|
WHERE
|
|
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
|
|
and bszov.ORASORSZAM=szov.ORASORSZAM
|
|
and bszov.napszam=szov.napszam
|
|
FOR XML PATH('')) TANTARGY
|
|
,(SELECT CAST(bszov.TANAR AS NVARCHAR(MAX)) + NCHAR(10)
|
|
FROM #szoveges bszov
|
|
WHERE
|
|
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
|
|
and bszov.ORASORSZAM=szov.ORASORSZAM
|
|
and bszov.napszam=szov.napszam
|
|
FOR XML PATH('')) TANAR
|
|
,(SELECT CAST(bszov.ORAANYAGA AS NVARCHAR(MAX)) + NCHAR(10)
|
|
FROM #szoveges bszov
|
|
WHERE
|
|
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
|
|
and bszov.ORASORSZAM=szov.ORASORSZAM
|
|
and bszov.napszam=szov.napszam
|
|
FOR XML PATH('')) ORAANYAGA
|
|
,(SELECT CAST(bszov.C_ORAEVESSORSZAM AS NVARCHAR(MAX)) + NCHAR(10)
|
|
FROM #szoveges bszov
|
|
WHERE
|
|
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
|
|
and bszov.ORASORSZAM=szov.ORASORSZAM
|
|
and bszov.napszam=szov.napszam
|
|
FOR XML PATH('')) OraEvesSorszama
|
|
FROM #szoveges szov
|
|
ORDER BY dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA), orasorszam
|
|
|
|
/*Hiányzások*/
|
|
IF @isDebug = 1 SELECT 'Result14' as [ResultSetName ]
|
|
SELECT
|
|
NapiMulasztas.HetSorszama
|
|
,TanuloNeve
|
|
,NapiMulasztas.TanuloId
|
|
,MAX(Hetfo) AS Hetfo
|
|
,MAX(Kedd) AS Kedd
|
|
,MAX(Szerda) AS Szerda
|
|
,MAX(Csutortok) AS Csutortok
|
|
,MAX(Pentek) AS Pentek
|
|
,MAX(Szombat) AS Szombat
|
|
,HetiMulasztas
|
|
FROM (
|
|
SELECT
|
|
HetSorszama
|
|
,TanuloNeve
|
|
,NevElotagNelkul
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
,[1408] Hetfo
|
|
,[1409] Kedd
|
|
,[1410] Szerda
|
|
,[1411] Csutortok
|
|
,[1412] Pentek
|
|
,[1413] Szombat
|
|
FROM
|
|
(
|
|
SELECT DISTINCT
|
|
HetSorszama
|
|
,C_NYOMTATASINEV TanuloNeve
|
|
,NevElotagNelkul
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
,Datum
|
|
,C_ALAPHETNAPJA Hetnapja
|
|
,'[' + STUFF((
|
|
SELECT ', ' + CAST(MulasztasokBelso.Oraszam AS VARCHAR(3)) + IIF(MulasztasokBelso.Tipus = 1499, '(k)', '')
|
|
FROM #mulasztasTmp MulasztasokBelso
|
|
WHERE
|
|
MulasztasokBelso.Datum = MulasztasokKulso.Datum
|
|
AND MulasztasokBelso.TanuloId = MulasztasokKulso.TanuloId
|
|
AND MulasztasokBelso.TanuloCsoportId = MulasztasokKulso.TanuloCsoportId
|
|
ORDER BY Datum, Oraszam
|
|
FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 2, '') + '] '
|
|
+ CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'T', 1, 0)) AS VARCHAR(5)) + '/'
|
|
+ CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'F', 1, 0)) AS VARCHAR(5)) Hianyzas
|
|
FROM #mulasztasTmp MulasztasokKulso
|
|
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.Id = MulasztasokKulso.TanuloId
|
|
INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = MulasztasokKulso.Datum AND NaptariNap.C_TANEVID = @tanevId
|
|
GROUP BY Hetsorszama, C_NYOMTATASINEV, TanuloId, TanuloCsoportId, Datum, C_ALAPHETNAPJA, TanuloId, MulasztasokKulso.NevElotagNelkul
|
|
) OsszefuzottMulasztasok
|
|
PIVOT (MAX(Hianyzas) FOR HetNapja IN ([1408], [1409], [1410], [1411], [1412], [1413])) piv
|
|
) NapiMulasztas
|
|
INNER JOIN #HetiMulasztasok HetiMulasztasok ON
|
|
HetiMulasztasok.HetSorszama = NapiMulasztas.HetSorszama
|
|
AND HetiMulasztasok.TanuloId = NapiMulasztas.TanuloId
|
|
AND HetiMulasztasok.TanuloCsoportId = NapiMulasztas.TanuloCsoportId
|
|
GROUP BY NapiMulasztas.HetSorszama,TanuloNeve,NapiMulasztas.TanuloId, HetiMulasztas, NevElotagNelkul
|
|
ORDER BY NevElotagNelkul
|
|
|
|
END --SZÖVEGES OSZTÁLYNAPLÓ
|
|
|
|
/*TANULÓ adatai*/
|
|
SELECT
|
|
TanuloId
|
|
,ta.TanuloCsoportId
|
|
,Sorszam
|
|
,ta.TorzslapSzam
|
|
,OktAzon
|
|
,TajSzam
|
|
,AnyjaNeve
|
|
,SzulHely
|
|
,SzulIdo
|
|
,SocAdat
|
|
,Kepzes
|
|
,TanuloNeve
|
|
,ta.NevElotagNelkul
|
|
,Allampolgarsaga
|
|
,DiakIgazolvanySzam
|
|
,ta.KilepesDatum
|
|
,BeirasiNaploSorszam
|
|
,AktualisOsztaly AS OsztalyNev
|
|
,dAgazat.C_NAME AS Agazat
|
|
,dSzakmacsop.C_NAME AS Szakmacsoport
|
|
,dSzakkep.C_NAME AS Szakkepesites
|
|
,dSzktAgazat.C_NAME AS SzktAgazat
|
|
,dSzktSzakmaTipus.C_NAME AS SzktSzakmaTipus
|
|
,dSzktSzakmaiIrany.C_NAME AS SzktSzakmaiIrany
|
|
,dNktSzakirany.C_NAME AS NktSzakirany
|
|
,dNktSzakkepesites.C_NAME AS NktSzakkepesites
|
|
,dNktTanulmanyiTerulet.C_NAME AS NktTanulmanyiTerulet
|
|
,AgazatReszszakmaTipus.C_NAME AS AgazatReszszakmaTipus
|
|
,ReszszakmaTipus.C_NAME AS ReszszakmaTipus
|
|
,SzakmaReszszakma.C_NAME AS SzakmaReszszakma
|
|
-- Turai: itt azért a megnevezés1 került beállításra, mert jelenleg vannak olyan adatok a megnevezésben (amelyeket most igyekszünk kigyilkolni), amelyek nem jók, nem a jogszabálynak megfelelőek
|
|
-- Összevont osztály esetén a tanuló évfolyamának megjelenítése, egyéb esetben az osztály/csoport évfolyama
|
|
,IIF(ocs.C_EVFOLYAMTIPUSA = 7366, dEvfolyamTipusTanulo.C_NAME_1, dEvfolyamTipusOsztalyCsoport.C_NAME_1) AS EvfolyamTipusa
|
|
INTO #TanuloAlapAdatok
|
|
FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId) ta
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = ta.TanuloCsoportId AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tcs.ID = tta.C_TANULOCSOPORTID AND tta.TOROLT = 'F'
|
|
--okj
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzakmacsop ON dSzakmacsop.ID = tta.C_SZAKMACSOPORTID AND dSzakmacsop.TOROLT = 'F' AND dSzakmacsop.C_TANEVID = tcs.C_TANEVID AND dSzakmacsop.ID != 6084 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dAgazat ON dAgazat.ID = tta.C_AGAZATID AND dAgazat.TOROLT = 'F' AND dAgazat.C_TANEVID = tcs.C_TANEVID AND dAgazat.ID != 5484 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzakkep ON dSzakkep.ID = tta.C_SZAKKEPESITESID AND dSzakkep.TOROLT = 'F' AND dSzakkep.C_TANEVID = tcs.C_TANEVID AND dSzakkep.ID != 5527 /* Na */
|
|
--szkt
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzktAgazat ON dSzktAgazat.ID = tta.C_AGAZATUJSZKTTIPUSID AND dSzktAgazat.TOROLT = 'F' AND dSzktAgazat.C_TANEVID = tcs.C_TANEVID AND dSzktAgazat.ID != 7920 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzktSzakmaTipus ON dSzktSzakmaTipus.ID = tta.C_SZAKMATIPUSID AND dSzktSzakmaTipus.TOROLT = 'F' AND dSzktSzakmaTipus.C_TANEVID = tcs.C_TANEVID AND dSzktSzakmaTipus.ID != 7946 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dSzktSzakmaiIrany ON dSzktSzakmaiIrany.ID = tta.C_SZAKMAIRANYTIPUSID AND dSzktSzakmaiIrany.TOROLT = 'F' AND dSzktSzakmaiIrany.C_TANEVID = tcs.C_TANEVID AND dSzktSzakmaiIrany.ID != 8122 /* Na */
|
|
--nkt
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dNktSzakirany ON dNktSzakirany.ID = tta.C_SZAKIRANYNKTTIPUSID AND dNktSzakirany.TOROLT = 'F' AND dNktSzakirany.C_TANEVID = tcs.C_TANEVID AND dNktSzakirany.ID != 8493 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dNktSzakkepesites ON dNktSzakkepesites.ID = tta.C_SZAKKEPESITESNKTTIPUSID AND dNktSzakkepesites.TOROLT = 'F' AND dNktSzakkepesites.C_TANEVID = tcs.C_TANEVID AND dNktSzakkepesites.ID != 8464 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dNktTanulmanyiTerulet ON dNktTanulmanyiTerulet.ID = tta.C_TANULMANYITERULETNKTTIPUSID AND dNktTanulmanyiTerulet.TOROLT = 'F' AND dNktTanulmanyiTerulet.C_TANEVID = tcs.C_TANEVID AND dNktTanulmanyiTerulet.ID != 8459 /* Na */
|
|
--Résszakma
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AgazatReszszakmaTipus ON AgazatReszszakmaTipus.ID = tta.C_AGAZATRESZSZAKMATIPUSID AND AgazatReszszakmaTipus.TOROLT = 'F' AND AgazatReszszakmaTipus.C_TANEVID = tcs.C_TANEVID AND AgazatReszszakmaTipus.ID != 8832 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszszakmaTipus ON ReszszakmaTipus.ID = tta.C_RESZSZAKMATIPUSID AND ReszszakmaTipus.TOROLT = 'F' AND ReszszakmaTipus.C_TANEVID = tcs.C_TANEVID AND ReszszakmaTipus.ID != 8895 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaReszszakma ON SzakmaReszszakma.ID = tta.C_SZAKMARESZSZAKMATIPUSID AND SzakmaReszszakma.TOROLT = 'F' AND SzakmaReszszakma.C_TANEVID = tcs.C_TANEVID AND SzakmaReszszakma.ID != 8850 /* Na */
|
|
/**/
|
|
LEFT JOIN #studentsWithTanuloCsoport s ON s.Id = ta.TanuloId AND s.TanuloCsoportId = tcs.ID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dEvfolyamTipusOsztalyCsoport ON dEvfolyamTipusOsztalyCsoport.ID = ocs.C_EVFOLYAMTIPUSA
|
|
AND dEvfolyamTipusOsztalyCsoport.TOROLT = 'F'
|
|
AND dEvfolyamTipusOsztalyCsoport.C_TANEVID = tcs.C_TANEVID
|
|
AND dEvfolyamTipusOsztalyCsoport.ID != 1296 /* Na */
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dEvfolyamTipusTanulo ON dEvfolyamTipusTanulo.ID = s.EvfolyamTipusa
|
|
AND dEvfolyamTipusTanulo.TOROLT = 'F'
|
|
AND dEvfolyamTipusTanulo.C_TANEVID = tcs.C_TANEVID
|
|
AND dEvfolyamTipusTanulo.ID != 1296 /* Na */
|
|
WHERE (@tanuloId IS NULL OR ta.TanuloId = @tanuloId)
|
|
|
|
IF @isDebug = 1 SELECT 'Result15' as [ResultSetName ]
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Sorszam
|
|
,TorzslapSzam
|
|
,OktAzon
|
|
,TajSzam
|
|
,AnyjaNeve
|
|
,SzulHely
|
|
,SzulIdo
|
|
,SocAdat
|
|
,Kepzes
|
|
,TanuloNeve
|
|
,NevElotagNelkul
|
|
,Allampolgarsaga
|
|
,DiakIgazolvanySzam
|
|
,KilepesDatum
|
|
,BeirasiNaploSorszam
|
|
,OsztalyNev
|
|
,Agazat
|
|
,Szakmacsoport
|
|
,Szakkepesites
|
|
--szkt
|
|
,SzktAgazat
|
|
,SzktSzakmaiIrany
|
|
,SzktSzakmaTipus
|
|
--nkt
|
|
,NktSzakirany
|
|
,NktSzakkepesites
|
|
,NktTanulmanyiTerulet
|
|
--Részszakma
|
|
,AgazatReszszakmaTipus
|
|
,ReszszakmaTipus
|
|
,SzakmaReszszakma
|
|
/**/
|
|
,EvfolyamTipusa
|
|
FROM #TanuloAlapAdatok
|
|
ORDER BY CASE WHEN Sorszam IS NULL THEN 1 ELSE 0 END ASC, Sorszam ASC, NevElotagNelkul
|
|
|
|
/*TANULÓ elérhetoségei */
|
|
CREATE TABLE #Gondviselok (TanuloId INT, GondviseloId INT PRIMARY KEY CLUSTERED)
|
|
|
|
INSERT INTO #Gondviselok
|
|
SELECT
|
|
TanuloId
|
|
,GondviseloId
|
|
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T')
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
CREATE TABLE #TanuloCimTable (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
|
|
INSERT INTO #TanuloCimTable
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @osztalyId, NULL, NULL) btemp
|
|
WHERE
|
|
temp.TanuloId = btemp.TanuloId
|
|
AND temp.CimTipusa = btemp.CimTipusa
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'')
|
|
,cimTipusa.C_NAME
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @osztalyId, NULL, NULL) temp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
CREATE TABLE #GondViseloCimTable (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
|
|
INSERT INTO #GondViseloCimTable
|
|
SELECT
|
|
GondviseloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @osztalyId, NULL, NULL) btemp
|
|
WHERE
|
|
temp.GondviseloId = btemp.GondviseloId
|
|
AND temp.CimTipusa = btemp.CimTipusa
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'')
|
|
,cimTipusa.C_NAME
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @osztalyId, NULL, NULL) temp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT, Alapertelmezett CHAR(1))
|
|
INSERT INTO #EmailCimTableTemp
|
|
SELECT
|
|
tanulo.Id
|
|
,C_EMAILCIM
|
|
,C_GONDVISELOID
|
|
,C_ALAPERTELMEZETT
|
|
FROM #students tanulo
|
|
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = tanulo.Id
|
|
WHERE
|
|
email.TOROLT = 'F'
|
|
AND email.C_TANEVID = @tanevId
|
|
AND LEN(C_EMAILCIM) > 0
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
TanuloId
|
|
,C_EMAILCIM
|
|
,GondviseloId
|
|
,C_ALAPERTELMEZETT
|
|
FROM #Gondviselok
|
|
INNER JOIN T_EMAIL_OSSZES email ON email.C_GONDVISELOID = GondviseloId
|
|
WHERE
|
|
email.TOROLT = 'F'
|
|
AND email.C_TANEVID = @tanevId
|
|
AND LEN(C_EMAILCIM) > 0
|
|
|
|
CREATE TABLE #EmailCimTanuloTable(FelhasznaloId INT, EmailCim NVARCHAR(MAX),
|
|
INDEX IX_EmailCimTanuloTable CLUSTERED (FelhasznaloId))
|
|
|
|
INSERT INTO #EmailCimTanuloTable
|
|
SELECT DISTINCT
|
|
FelhasznaloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #EmailCimTableTemp btemp
|
|
WHERE
|
|
temp.FelhasznaloId = btemp.FelhasznaloId
|
|
AND btemp.GondviseloId IS NULL
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') Email
|
|
FROM #EmailCimTableTemp temp
|
|
WHERE
|
|
GondviseloId IS NULL
|
|
|
|
CREATE TABLE #EmailCimGondviseloTable(GondviseloId INT PRIMARY KEY CLUSTERED, EmailCim NVARCHAR(MAX))
|
|
|
|
INSERT INTO #EmailCimGondviseloTable
|
|
SELECT DISTINCT
|
|
GondviseloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #EmailCimTableTemp btemp
|
|
WHERE
|
|
temp.GondviseloId = btemp.GondviseloId
|
|
AND btemp.GondviseloId IS NOT NULL
|
|
AND btemp.Alapertelmezett = 'T'
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') Email
|
|
FROM #EmailCimTableTemp temp
|
|
WHERE
|
|
GondviseloId IS NOT NULL
|
|
AND Alapertelmezett = 'T'
|
|
|
|
CREATE TABLE #TelefonTableTemp(FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT, index ix_Ci_telefon (FelhasznaloId), Alapertelmezett CHAR(1))
|
|
|
|
INSERT INTO #TelefonTableTemp
|
|
SELECT
|
|
tanulo.Id
|
|
,C_TELEFONSZAM
|
|
,C_GONDVISELOID
|
|
,C_ALAPERTELMEZETT
|
|
FROM #students tanulo
|
|
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = tanulo.Id
|
|
WHERE
|
|
telefon.TOROLT = 'F'
|
|
AND telefon.C_TANEVID = @tanevId
|
|
AND LEN(telefon.C_TELEFONSZAM) > 0
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
TanuloId
|
|
,C_TELEFONSZAM
|
|
,GondviseloId
|
|
,C_ALAPERTELMEZETT
|
|
FROM #Gondviselok gondviselo
|
|
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = GondviseloId
|
|
WHERE
|
|
telefon.TOROLT = 'F'
|
|
AND telefon.C_TANEVID = @tanevId
|
|
AND LEN(telefon.C_TELEFONSZAM) > 0
|
|
|
|
CREATE TABLE #TanuloTelefonTable(FelhasznaloId INT PRIMARY KEY CLUSTERED, Telefon NVARCHAR(MAX))
|
|
|
|
INSERT INTO #TanuloTelefonTable
|
|
SELECT DISTINCT
|
|
FelhasznaloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #TelefonTableTemp btemp
|
|
WHERE
|
|
temp.FelhasznaloId = btemp.FelhasznaloId
|
|
AND GondviseloId IS NULL
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'')
|
|
FROM #TelefonTableTemp temp
|
|
WHERE
|
|
GondviseloId IS NULL
|
|
|
|
CREATE TABLE #GondviseloTelefonTable(GondviseloId INT PRIMARY KEY CLUSTERED,Telefon NVARCHAR(MAX))
|
|
|
|
INSERT INTO #GondviseloTelefonTable
|
|
SELECT DISTINCT
|
|
GondviseloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #TelefonTableTemp btemp
|
|
WHERE
|
|
temp.GondviseloId = btemp.GondviseloId
|
|
AND temp.FelhasznaloId = btemp.FelhasznaloId
|
|
AND btemp.GondviseloId IS NOT NULL
|
|
AND btemp.Alapertelmezett = 'T'
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'')
|
|
FROM #TelefonTableTemp temp
|
|
WHERE
|
|
GondviseloId IS NOT NULL
|
|
AND Alapertelmezett = 'T'
|
|
|
|
IF @isDebug = 1 SELECT 'Result16' as [ResultSetName ]
|
|
SELECT
|
|
s.ID tanuloid
|
|
,cim.Cimtipusa cimtipus
|
|
,cim.Cim
|
|
,email.EmailCim email
|
|
,telefon.Telefon telefonszam
|
|
FROM #students s
|
|
LEFT JOIN #TanuloCimTable cim ON cim.FelhasznaloId = s.ID
|
|
LEFT JOIN #EmailCimTanuloTable email ON email.FelhasznaloId = s.ID
|
|
LEFT JOIN #TanuloTelefonTable telefon ON telefon.FelhasznaloId = s.ID
|
|
ORDER BY Cimtipusa
|
|
|
|
/* TANULÓ mentesség */
|
|
IF @isDebug = 1 SELECT 'Result17' as [ResultSetName ]
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,ROW_NUMBER() OVER(PARTITION BY TanuloId, TanuloCsoportId ORDER BY TanuloId, TanuloCsoportId) Sorszam
|
|
,TantargyNev
|
|
,MentessegOka
|
|
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, DEFAULT)
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
/* TANULÓ határozatok */
|
|
IF @isDebug = 1 SELECT 'Result18' as [ResultSetName ]
|
|
SELECT
|
|
s.ID as tanuloID
|
|
,s.TanuloCsoportId
|
|
,ROW_NUMBER() OVER(PARTITION BY s.ID, s.TanuloCsoportId ORDER BY s.ID, s.TanuloCsoportId) AS sorszam
|
|
,dbo.fnGetDokumentumDatumFormatum(Datum) as datum
|
|
,d.C_NAME as tipus
|
|
,Tartalom as tartalom
|
|
,FeljegyzoNeve as tanar
|
|
FROM #studentsWithTanuloCsoport s
|
|
INNER JOIN fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, 0) feljegyzes ON feljegyzes.TanuloId = s.ID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND d.C_TANEVID = @tanevId
|
|
WHERE
|
|
BelepesDatum <= feljegyzes.Datum
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= feljegyzes.Datum)
|
|
AND Tipusa IN (1543, 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553)
|
|
|
|
/* TANULÓ feljegyzései */
|
|
IF @isDebug = 1 SELECT 'Result19' as [ResultSetName ]
|
|
SELECT
|
|
s.ID TanuloID
|
|
,s.TanuloCsoportId TanuloCsoportId
|
|
,ROW_NUMBER() OVER(PARTITION BY s.ID ORDER BY s.ID) Sorszam
|
|
,dbo.fnGetDokumentumDatumFormatum(Datum) Datum
|
|
,d.C_NAME Tipus
|
|
,Tartalom Tartalom
|
|
,FeljegyzoNeve Tanar
|
|
FROM #studentsWithTanuloCsoport s
|
|
INNER JOIN fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, 0) feljegyzes ON feljegyzes.TanuloId = s.ID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND d.C_TANEVID = @tanevId
|
|
WHERE
|
|
BelepesDatum <= feljegyzes.Datum
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= feljegyzes.Datum)
|
|
AND ((@isEllenorzo = 1 AND Tipusa NOT IN (1543, 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 5482)) OR
|
|
(Tipusa IN
|
|
(
|
|
--KRETA-5569
|
|
1535,
|
|
1536,
|
|
1540,
|
|
1541,
|
|
1542,
|
|
6491,
|
|
6906,
|
|
6907,
|
|
6950,
|
|
6970
|
|
)
|
|
)
|
|
OR Tipusa BETWEEN 5450 AND 5481
|
|
OR Tipusa BETWEEN 6312 AND 6328
|
|
OR Tipusa BETWEEN 6870 AND 6875
|
|
OR Tipusa BETWEEN 6945 AND 6947
|
|
OR Tipusa >= 100000
|
|
)
|
|
ORDER BY dbo.fnGetDokumentumDatumFormatum(Datum)
|
|
|
|
/* TANULO mulasztása */
|
|
IF @isDebug = 1 SELECT 'Result20' as [ResultSetName ]
|
|
EXEC sp_GetDokumentumMulasztasokIdoszakonkent
|
|
@tanevId = @tanevId
|
|
,@osztalyCsoportId = @osztalyId
|
|
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
,@isReszletesMulasztasok = @isReszletesMulasztasok
|
|
,@igazolasTipusTypeId = @igazolasTipusTypeId
|
|
|
|
/*gondviselo elérhetoségei */
|
|
|
|
IF @isDebug = 1 SELECT 'Result21' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
Gondviselok.TanuloId Id
|
|
,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' C_NEV
|
|
,cim.Cimtipusa C_CIMTIPUSA
|
|
,cim.cim C_OSSZETETTCIM
|
|
,telefon.telefon C_TELEFONSZAM
|
|
,email.emailcim C_EMAILCIM
|
|
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') Gondviselok
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId
|
|
LEFT JOIN #EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId
|
|
LEFT JOIN #GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId
|
|
LEFT JOIN #GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId
|
|
WHERE (@tanuloId IS NULL OR Gondviselok.TanuloId = @tanuloId)
|
|
ORDER BY Cimtipusa
|
|
|
|
/*TANULÓ osztályzatai*/
|
|
CREATE TABLE #Tantargyak(
|
|
ID int
|
|
,C_FOTARGYID int
|
|
,C_NEV NVARCHAR(255) COLLATE DATABASE_DEFAULT
|
|
,C_NEVNYOMTATVANYBAN NVARCHAR(255) COLLATE DATABASE_DEFAULT
|
|
,C_TARGYKATEGORIA int
|
|
,c_tanuloid int
|
|
,c_tanulocsoportid int
|
|
,RENDEZ0 int
|
|
,RENDEZ1 int
|
|
,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT
|
|
,RENDEZ3 int
|
|
,RENDEZ4 int
|
|
,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT
|
|
,C_INTEZMENYID int
|
|
,C_TANEVID int
|
|
);
|
|
|
|
--Osztályhoz tartozó értékelések
|
|
IF @isDebug = 1 SELECT 'Result22' as [ResultSetName ]
|
|
EXEC uspGetDokumentumErtekelesekIdoszakonkent
|
|
@tanevId = @tanevId
|
|
,@osztalyCsoportId = @osztalyId
|
|
,@ertekelesTipusa = NULL
|
|
,@csakTanorai = 1
|
|
,@csakKivalasztottOsztalyCsoport = 0
|
|
,@atsoroltTanuloErtekelesek = 0
|
|
,@fuggolegesTantargyak = @fuggolegesTantargyak
|
|
,@intezmenyId = @intezmenyId
|
|
,@osztalyzatTipusTypeID = @osztalyzatTipusTypeID
|
|
,@magatartasErtekelesTipusTypeID = @magatartasErtekelesTipusTypeID
|
|
,@szorgalomErtekelesTipusTypeID = @szorgalomErtekelesTipusTypeID
|
|
,@pIsOsztalynaplobanNemJelenikMeg = 1
|
|
,@pIsKellKapcsolodoOsztalyCsoportok = 1
|
|
,@pIsTantargynevNyomtatvanyban = 1
|
|
|
|
/* TANULÓ záradékai */
|
|
CREATE TABLE #Zaradekok(
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,KeltezesDatuma nvarchar(11)
|
|
,KeltezesHelye nvarchar(255)
|
|
,Bejegyzes nvarchar(max)
|
|
,BejegyzesIdegenNyelven nvarchar(max)
|
|
)
|
|
|
|
INSERT INTO #Zaradekok (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,KeltezesDatuma
|
|
,KeltezesHelye
|
|
,Bejegyzes
|
|
,BejegyzesIdegenNyelven
|
|
) EXEC dbo.uspGetDokumentumTanuloZaradekai
|
|
@tanevId = @tanevId
|
|
,@osztalyId = @osztalyId
|
|
,@zaradekTipusId = null
|
|
,@idegenNyelvId = 0
|
|
,@dokumentumTipusId = 1
|
|
|
|
IF @isDebug = 1 SELECT 'Result23' as [ResultSetName ]
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,KeltezesDatuma
|
|
,KeltezesHelye
|
|
,Bejegyzes AS Zaradek
|
|
FROM #Zaradekok
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
/*Szöveges minosítések*/
|
|
INSERT INTO #szovegesTemp
|
|
SELECT
|
|
a.tanuloId
|
|
,a.TanuloCsoportId
|
|
,a.Honap
|
|
,a.Tantargy
|
|
,a.Ertekeles
|
|
,a.Tipus
|
|
,a.RendezHonap
|
|
FROM
|
|
(
|
|
SELECT
|
|
s.id tanuloId
|
|
,s.TanuloCsoportId
|
|
,szoveges.Honap
|
|
,szoveges.Tantargy
|
|
,szoveges.Ertekeles
|
|
,szoveges.Tipus
|
|
,szoveges.RendezHonap
|
|
FROM #studentsWithTanuloCsoport s
|
|
INNER JOIN (SELECT
|
|
TanuloId tanuloId
|
|
,TanuloCsoportId
|
|
,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
|
|
,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) Tantargy
|
|
,IIF(Jeloles IS NOT NULL AND TipusId = 1518, LOWER(ISNULL(ErtekelesSzovegRovidNev, 'sz')) + Jeloles + ' ', '') + ErtekelesSzovegFormazott + ISNULL(' *' + ErtekelesTema, '') Ertekeles
|
|
,ErtekelesTipusDictionary.C_NAME Tipus
|
|
,CASE
|
|
WHEN DATEPART(MONTH, Datum) = 1 THEN 5
|
|
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
|
|
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
|
|
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
|
|
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
|
|
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
|
|
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
|
|
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
|
|
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
|
|
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
|
|
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
|
|
WHEN DATEPART(MONTH, Datum) = 12 THEN 4
|
|
END AS RendezHonap
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
|
|
WHERE
|
|
ErtekelesSzovegFormazott IS NOT NULL
|
|
) szoveges on szoveges.TANULOID=s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
|
|
UNION
|
|
SELECT
|
|
s.id tanuloId
|
|
,s.TanuloCsoportId
|
|
,szoveges.Honap
|
|
,szoveges.Tantargy
|
|
,szoveges.Ertekeles
|
|
,szoveges.Tipus
|
|
,szoveges.RendezHonap
|
|
FROM #studentsWithTanuloCsoport s
|
|
INNER JOIN (SELECT
|
|
ErtekelesTemp.TanuloId tanuloId
|
|
,ErtekelesTemp.TanuloCsoportId
|
|
,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
|
|
,'Magatartás' Tantargy
|
|
,IIF(Jeloles IS NOT NULL AND TipusId = 1518, LOWER(ISNULL(MagatartasSzovegRovidNev, 'sz')) + Jeloles + ' ', '') + MagatartasSzovegFormazott + ISNULL(' *' + ErtekelesTema, '') Ertekeles
|
|
,ErtekelesTipusDictionary.C_NAME Tipus
|
|
,CASE
|
|
WHEN DATEPART(MONTH, Datum) = 1 THEN 5
|
|
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
|
|
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
|
|
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
|
|
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
|
|
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
|
|
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
|
|
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
|
|
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
|
|
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
|
|
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
|
|
WHEN DATEPART(MONTH, Datum) = 12 THEN 4
|
|
END AS RendezHonap
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
|
|
WHERE
|
|
ErtekelesTemp.MagatartasSzovegFormazott IS NOT NULL
|
|
) szoveges on szoveges.TANULOID=s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
|
|
UNION
|
|
SELECT
|
|
s.id tanuloId
|
|
,s.TanuloCsoportId
|
|
,szoveges.Honap
|
|
,szoveges.Tantargy
|
|
,szoveges.Ertekeles
|
|
,szoveges.Tipus
|
|
,szoveges.RendezHonap
|
|
FROM #studentsWithTanuloCsoport s
|
|
INNER JOIN (SELECT
|
|
ErtekelesTemp.TanuloId tanuloId
|
|
,TanuloCsoportId
|
|
,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, Datum))+'. hónap]' Honap
|
|
,'Szorgalom' Tantargy
|
|
,IIF(Jeloles IS NOT NULL AND TipusId = 1518, LOWER(ISNULL(SzorgalomSzovegRovidNev, 'sz')) + Jeloles + ' ', '') + SzorgalomSzovegFormazott + ISNULL(' *' + ErtekelesTema, '') Ertekeles
|
|
,ErtekelesTipusDictionary.C_NAME Tipus
|
|
,CASE
|
|
WHEN DATEPART(MONTH, Datum) = 1 THEN 5
|
|
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
|
|
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
|
|
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
|
|
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
|
|
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
|
|
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
|
|
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
|
|
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
|
|
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
|
|
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
|
|
WHEN DATEPART(MONTH, Datum) = 12 THEN 4
|
|
END AS RendezHonap
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
|
|
WHERE
|
|
ErtekelesTemp.SzorgalomSzovegFormazott IS NOT NULL
|
|
) szoveges on szoveges.TANULOID = s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
|
|
)a
|
|
|
|
IF @isDebug = 1 SELECT 'Result24' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
kulso.TanuloId
|
|
,kulso.TanuloCsoportId
|
|
,kulso.Honap
|
|
,kulso.Tantargy
|
|
,STUFF(((SELECT
|
|
'<br>|' + dbo.fnRemoveXmlEvilCharacters(belso.Ertekeles)
|
|
FROM #szovegesTemp belso
|
|
WHERE kulso.TanuloId = belso.TanuloId
|
|
AND kulso.TanuloCsoportId = belso.TanuloCsoportId
|
|
AND kulso.Honap = belso.Honap
|
|
AND kulso.Tantargy = belso.Tantargy
|
|
AND kulso.Tipus = belso.Tipus
|
|
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'))
|
|
,1
|
|
,5
|
|
,'') AS Ertekeles
|
|
,kulso.Tipus
|
|
,kulso.RendezHonap
|
|
FROM #szovegesTemp kulso
|
|
ORDER BY kulso.TanuloId, kulso.RendezHonap, kulso.Tantargy
|
|
|
|
--Közösségi szolgálat
|
|
IF @isDebug = 1 SELECT 'Result25' as [ResultSetName ]
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Datum
|
|
,ISNULL(' - ' + Megjegyzes, '') Megjegyzes
|
|
,Oraszam
|
|
,TeljesitesHelye
|
|
,FeljegyzoNeve
|
|
,Tipus
|
|
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId, 0) KozossegiSzolgalat
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
AND KozossegiSzolgalatTanevId = @tanevId
|
|
ORDER BY IntervallumKezdete
|
|
|
|
--Félévi, év végi mulasztások
|
|
CREATE TABLE #FeleviMulasztasok (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Igazolt int
|
|
,Igazolatlan int
|
|
,ElmeletIgazolt int
|
|
,ElmeletIgazolatlan int
|
|
,GyakorlatIgazolt int
|
|
,GyakorlatIgazolatlan int
|
|
,ElmeletOsszes int
|
|
,GyakorlatOsszes int
|
|
,Osszes int
|
|
)
|
|
|
|
INSERT INTO #FeleviMulasztasok
|
|
EXEC sp_GetDokumentumMulasztasok
|
|
@osztalyId = @osztalyId
|
|
,@tanevId = @tanevId
|
|
,@elmeletiOraPercben = 45
|
|
,@gyakorlatiOraPercben = 45
|
|
,@ertekelesTipus = 1519
|
|
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
,@negyedevreSzamoltMulasztasok = @negyedevreSzamoltMulasztasok
|
|
|
|
CREATE TABLE #EvVegiMulasztasok (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Igazolt int
|
|
,Igazolatlan int
|
|
,ElmeletIgazolt int
|
|
,ElmeletIgazolatlan int
|
|
,GyakorlatIgazolt int
|
|
,GyakorlatIgazolatlan int
|
|
,ElmeletOsszes int
|
|
,GyakorlatOsszes int
|
|
,Osszes int
|
|
)
|
|
|
|
INSERT INTO #EvVegiMulasztasok
|
|
EXEC sp_GetDokumentumMulasztasok
|
|
@osztalyId = @osztalyId
|
|
,@tanevId = @tanevId
|
|
,@elmeletiOraPercben = 45
|
|
,@gyakorlatiOraPercben = 45
|
|
,@ertekelesTipus = 1520
|
|
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
,@negyedevreSzamoltMulasztasok = @negyedevreSzamoltMulasztasok
|
|
|
|
IF @isDebug = 1 SELECT 'Result26' as [ResultSetName ]
|
|
SELECT
|
|
TanuloAlapAdatok.tanuloId AS TanuloId
|
|
,ISNULL(FeleviMulasztasok.ElmeletIgazolt, 0) AS FeleviElmeletIgazolt
|
|
,ISNULL(FeleviMulasztasok.ElmeletIgazolatlan, 0) AS FeleviElmeletIgazolatlan
|
|
,ISNULL(FeleviMulasztasok.GyakorlatIgazolT, 0) AS FeleviGyakorlatIgazolt
|
|
,ISNULL(FeleviMulasztasok.GyakorlatIgazolatlan, 0) AS FeleviGyakorlatIgazolatlan
|
|
,ISNULL(FeleviMulasztasok.ElmeletIgazolt + FeleviMulasztasok.ElmeletIgazolatlan, 0) AS FeleviElmelet
|
|
,ISNULL(FeleviMulasztasok.GyakorlatIgazolt + FeleviMulasztasok.GyakorlatIgazolatlan, 0) AS FeleviGyakorlat
|
|
,ISNULL(EvVegiMulasztasok.ElmeletIgazolt, 0) AS EvVegiElmeletIgazolt
|
|
,ISNULL(EvVegiMulasztasok.ElmeletIgazolatlan, 0) AS EvVegiElmeletIgazolatlan
|
|
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt, 0) AS EvVegiGyakorlatIgazolt
|
|
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolatlan, 0) AS EvVegiGyakorlatIgazolatlan
|
|
,ISNULL(EvVegiMulasztasok.ElmeletIgazolt + EvVegiMulasztasok.ElmeletIgazolatlan, 0) AS EvVegiElmelet
|
|
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt + EvVegiMulasztasok.GyakorlatIgazolatlan, 0) AS EvVegiGyakorlat
|
|
,ISNULL(FeleviMulasztasok.Osszes, 0) AS FeleviOsszes
|
|
,ISNULL(FeleviMulasztasok.Igazolt, 0) AS FeleviIgazolt
|
|
,ISNULL(FeleviMulasztasok.Igazolatlan, 0) AS FeleviIgazolatlan
|
|
,ISNULL(EvVegiMulasztasok.Osszes, 0) AS EvVegiOsszes
|
|
,ISNULL(EvVegiMulasztasok.Igazolt, 0) AS EvVegiIgazolt
|
|
,ISNULL(EvVegiMulasztasok.Igazolatlan, 0) AS EvVegiIgazolatlan
|
|
,oktAzon AS oktAzon
|
|
,tanuloNeve AS tanuloNeve
|
|
,NevElotagNelkul AS NevElotagNelkul
|
|
FROM #TanuloAlapAdatok TanuloAlapAdatok
|
|
LEFT JOIN #EvVegiMulasztasok EvVegiMulasztasok ON EvVegiMulasztasok.TanuloId = TanuloAlapAdatok.TanuloId AND EvVegiMulasztasok.TanuloCsoportId = TanuloAlapAdatok.TanuloCsoportId
|
|
LEFT JOIN #FeleviMulasztasok FeleviMulasztasok ON FeleviMulasztasok.TanuloId = TanuloAlapAdatok.TanuloId AND FeleviMulasztasok.TanuloCsoportId = TanuloAlapAdatok.TanuloCsoportId
|
|
ORDER BY NevElotagNelkul
|
|
|
|
--értékelésekhez tartozó feljegyzések 1. félév
|
|
IF @isDebug = 1 SELECT 'Result27' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF((SELECT DISTINCT ', ' +
|
|
CASE
|
|
WHEN TipusId = 1522 THEN '(I.): I. negyedéves értékelés'
|
|
WHEN TipusId = 1523 THEN '(III.): III. negyedéves értékelés'
|
|
WHEN TipusId = 1524 THEN '(II.): II. negyedéves értékelés'
|
|
WHEN TipusId = 1525 THEN '(IV.): IV. negyedéves értékelés'
|
|
END
|
|
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
|
|
WHERE TipusId IN (1522, 1523, 1524, 1525)
|
|
AND (Datum <= @FelevVege)
|
|
AND (MagatartasSzoveg IS NULL AND SzorgalomSzoveg IS NULL)
|
|
AND (ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId)
|
|
AND (ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL)
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') AS JelolesTemaval
|
|
FROM #ErtekelesekTemp ErtekelesTemaval
|
|
WHERE TipusId IN (1522, 1523, 1524, 1525)
|
|
AND (Datum <= @FelevVege)
|
|
AND (MagatartasSzoveg IS NULL AND SzorgalomSzoveg IS NULL)
|
|
UNION ALL
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF((SELECT DISTINCT ', ' +
|
|
CASE
|
|
WHEN TipusId = 1522 THEN '(I.)'
|
|
WHEN TipusId = 1523 THEN '(III.)'
|
|
WHEN TipusId = 1524 THEN '(II.)'
|
|
WHEN TipusId = 1525 THEN '(IV.)'
|
|
ELSE ''
|
|
END
|
|
+ JelolesAndErtekelesTema
|
|
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND ((TipusId NOT IN (1519, 1520) AND Datum <= @FelevVege) OR (TipusId = 1519))
|
|
AND (ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId)
|
|
AND (ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL)
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') JelolesTemaval
|
|
FROM #ErtekelesekTemp ErtekelesTemaval
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND ((TipusId NOT IN (1519, 1520) AND Datum <= @FelevVege) OR (TipusId = 1519))
|
|
AND (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
|
|
|
|
--értékelésekhez tartozó feljegyzések 2. félév
|
|
IF @isDebug = 1 SELECT 'Result28' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF((SELECT DISTINCT ', '
|
|
+ CASE
|
|
WHEN TipusId = 1522 THEN '(I.): I. negyedéves értékelés'
|
|
WHEN TipusId = 1523 THEN '(III.): III. negyedéves értékelés'
|
|
WHEN TipusId = 1524 THEN '(II.): II. negyedéves értékelés'
|
|
WHEN TipusId = 1525 THEN '(IV.): IV. negyedéves értékelés'
|
|
END
|
|
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
|
|
WHERE TipusId IN (1522, 1523, 1524, 1525)
|
|
AND (Datum >= @FelevVege)
|
|
AND (MagatartasSzoveg IS NULL AND SzorgalomSzoveg IS NULL)
|
|
AND (ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId)
|
|
AND (ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL)
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') AS JelolesTemaval
|
|
FROM #ErtekelesekTemp ErtekelesTemaval
|
|
WHERE TipusId IN (1522, 1523, 1524, 1525)
|
|
AND (Datum >= @FelevVege)
|
|
AND (MagatartasSzoveg IS NULL AND SzorgalomSzoveg IS NULL)
|
|
UNION ALL
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF((SELECT DISTINCT ', ' +
|
|
CASE
|
|
WHEN TipusId = 1522 THEN '(I.)'
|
|
WHEN TipusId = 1523 THEN '(III.)'
|
|
WHEN TipusId = 1524 THEN '(II.)'
|
|
WHEN TipusId = 1525 THEN '(IV.)'
|
|
ELSE ''
|
|
END
|
|
+ JelolesAndErtekelesTema
|
|
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
|
|
WHERE
|
|
LEN(JelolesAndErtekelesTema) > 0
|
|
AND (((Datum >= @FelevVege) AND (TipusId <> 1519)) OR (TipusId = 1520))
|
|
AND (ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId)
|
|
AND (ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL)
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') JelolesTemaval
|
|
FROM #ErtekelesekTemp ErtekelesTemaval
|
|
WHERE
|
|
LEN(JelolesAndErtekelesTema) > 0
|
|
AND (((Datum >= @FelevVege) AND (TipusId <> 1519)) OR (TipusId = 1520))
|
|
AND (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
|
|
|
|
--értékelésekhez tartozó feljegyzések
|
|
IF @isDebug = 1 SELECT 'Result29' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF((SELECT DISTINCT ', '+
|
|
CASE
|
|
WHEN TipusId = 1522 THEN '(I.)'
|
|
WHEN TipusId = 1523 THEN '(III.)'
|
|
WHEN TipusId = 1524 THEN '(II.)'
|
|
WHEN TipusId = 1525 THEN '(IV.)'
|
|
ELSE ''
|
|
END
|
|
+ JelolesAndErtekelesTema
|
|
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
|
|
WHERE
|
|
LEN(JelolesAndErtekelesTema) > 0
|
|
AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
|
|
AND (ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL)
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') JelolesTemaval
|
|
FROM #ErtekelesekTemp ErtekelesTemaval
|
|
WHERE
|
|
LEN(JelolesAndErtekelesTema) > 0
|
|
AND (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
|
|
|
|
--összefüggo szakmai gyakorlat
|
|
IF @isDebug = 1 SELECT 'Result30' as [ResultSetName ]
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,isTeljesitett
|
|
,Ertekeles
|
|
,Megjegyzes
|
|
,Datum
|
|
FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@tanevId, @osztalyId)
|
|
WHERE (@tanuloId IS NULL OR TanuloId = @tanuloId)
|
|
|
|
--Tanuló tanult tantárgyai
|
|
IF @isDebug = 1 SELECT 'Result31' as [ResultSetName ]
|
|
SELECT DISTINCT
|
|
TANULO.ID TanuloId
|
|
,TANULO.TanuloCsoportId TanuloCsoportId
|
|
,STUFF((SELECT ', ' + '¤' + IIF(LEN(TANTARGYAK.C_NEV) > 128, SUBSTRING(TANTARGYAK.C_NEV,1,120) + '...', TANTARGYAK.C_NEV) + '¤' TantargyNev
|
|
FROM #Tantargyak TANTARGYAK
|
|
INNER JOIN T_TANTARGY_OSSZES tant ON tant.ID = TANTARGYAK.ID AND tant.TOROLT = 'F'
|
|
WHERE
|
|
TANTARGYAK.c_tanulocsoportid = TANULO.TanuloCsoportId
|
|
AND (tant.C_ISOSZTALYNAPLOBANEMLATSZIK = 'F'
|
|
OR (tant.C_ISOSZTALYNAPLOBANEMLATSZIK = 'T'
|
|
AND (EXISTS (SELECT 1 FROM #ErtekelesekTemp ert
|
|
WHERE (ert.ErtekelesOsztalyzatId IS NOT NULL OR ert.ErtekelesSzazalek IS NOT NULL OR ert.ErtekelesSzoveg IS NOT NULL)
|
|
AND ert.TantargyId = tant.ID AND ert.TanuloId = TANULO.Id AND ert.TanuloCsoportId = TANULO.TanuloCsoportId))))
|
|
AND TANTARGYAK.C_NEV NOT IN ('Magatartás', 'Szorgalom')
|
|
ORDER BY TANTARGYAK.C_NEV
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') TantargyNev
|
|
FROM #studentsWithTanuloCsoport TANULO
|
|
-- Osztály és csoportok a naplóban, az iktatáskor szükséges többszörös Csoport név kulcsszóhoz
|
|
|
|
IF @isDebug = 1 SELECT 'Result32' as [ResultSetName ]
|
|
SELECT * FROM #osztalycsoportok WHERE OsztalyCsoportId != @osztalyId;
|
|
|
|
-- gyors feljegyzés statisztikák
|
|
-- Házifeladat hiány
|
|
IF @isDebug = 1 SELECT 'Result33' as [ResultSetName ]
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6325, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
-- Felszerelés hiány
|
|
IF @isDebug = 1 SELECT 'Result34' as [ResultSetName ]
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 6324, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
-- Felmentés
|
|
IF @isDebug = 1 SELECT 'Result35' as [ResultSetName ]
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1542, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
--Dicséret
|
|
IF @isDebug = 1 SELECT 'Result36' as [ResultSetName ]
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (@tanevId, @osztalyId, 1536, 1, @FelevVege, s.BelepesDatum, s.KilepesDatum) feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
END
|
|
|
|
GO |