kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180523160210_KRETA_5649/sp_GetOsztalyNaplo.sql
2024-03-13 00:33:46 +01:00

1376 lines
No EOL
50 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetOsztalyNaplo') IS NOT NULL
BEGIN
DROP PROCEDURE sp_GetOsztalyNaplo
END
GO
CREATE PROCEDURE sp_GetOsztalyNaplo
@intezmenyId INT,
@tanevId INT,
@osztalyId INT,
@isSzovegesNaplo BIT = 0,
@iskolaErdekuSzamit BIT,
@fuggolegesTantargyak BIT,
@aktivTanevId INT,
@isReszletesMulasztasok BIT,
@isEgyebFoglalkozasok BIT,
@isEllenorzo BIT = 0
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ElsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @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 @ElsoNapTanev DATE = (SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
DECLARE @UtolsoNapTanev DATE = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
DECLARE @isVegzos VARCHAR(1) = (SELECT TOP 1 C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
DECLARE @VegzosUtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F')
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 @EvVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1395 AND C_TANEVID=@tanevId AND TOROLT = 'F')
DECLARE @VizsgaltNap DATE
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNapTanevRendje)
BEGIN
IF (GETDATE() <= @ElsoNapTanevRendje)
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 = (SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNapTanevRendje >= CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNapTanevRendje <= 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
Datum
,CAST(DENSE_RANK() OVER(ORDER BY Datum) AS NVARCHAR(4))
FROM #NapSorszamTemp
WHERE
Datum <= IIF(@isVegzos = 'T', @VegzosUtolsoNap, ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
SELECT
TanuloId Id
,TanuloCsoport.C_NAPLOSORSZAM NaploSorszam
,TanuloCsoport.C_TORZSLAPSZAM TorzslapSzam
,TanuloCsoport.Id TanuloCsoportId
,OsztalyTanuloi.BelepesDatum BelepesDatum
,OsztalyTanuloi.KilepesDatum KilepesDatum
--ÁGAZAT ETC....
INTO #studentsWithTanuloCsoport
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.Id = OsztalyTanuloi.TanuloCsoportId
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
INTO #mulasztasTmp
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @osztalyId, @iskolaErdekuSzamit, DEFAULT, 0, DEFAULT, DEFAULT) TanulokMulasztasai
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
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),
[MagatartasSzovegRovidNev] NVARCHAR(3),
[MagatartasErtekId] INT,
[MagatartasErtek] NVARCHAR(MAX),
[MagatartasErtekOsztalyzatkent] INT,
[SzorgalomOsztalyzatId] INT,
[SzorgalomOsztalyzatValue] INT,
[SzorgalomOsztalyzatNev] NVARCHAR(MAX),
[SzorgalomSzoveg] NVARCHAR(MAX),
[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],
[TipusId],
[ErtekelesSzoveg],
[ErtekelesOsztalyzatId],
[ErtekelesOsztalyzatValue],
[ErtekelesOsztalyzatNev],
[ErtekelesSzazalek],
[MagatartasOsztalyzatId],
[MagatartasOsztalyzatNev],
[MagatartasSzoveg],
[MagatartasErtekId],
[MagatartasErtek],
[SzorgalomOsztalyzatId],
[SzorgalomOsztalyzatNev],
[SzorgalomSzoveg],
[SzorgalomErtekId],
[SzorgalomErtek],
[TanuloId],
TanuloCsoportId,
[OsztalyCsoportId],
[TantargyId],
[TantargyNevZarojellel],
[TantargyNev],
[TantargyNevNyomtatvanyban],
[TargyKategoriaId],
[FotargyE],
[FotargyId],
[Altantargy],
[ErtekelesTema],
[Jeloles],
[JelolesAndErtekelesTema],
[isMagatartasSzorgalom]
INTO
[#ErtekelesekTemp]
FROM
[fnGetDokumentumErtekelesekOsztalyonkent](@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
CREATE CLUSTERED INDEX ci111 on #ErtekelesekTemp (datum, tanulocsoportid)
-- Naplo fooldal
CREATE TABLE #osztalycsoportok (OsztalyCsoportId INT PRIMARY KEY)
INSERT INTO #osztalycsoportok (OsztalyCsoportId)
SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyId, @tanevId)
CREATE TABLE #OsztalyVagyTanoraiCsoport (Id INT)
INSERT INTO #OsztalyVagyTanoraiCsoport
SELECT ID FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId)
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
INSERT INTO #OraSorszamTemp
EXEC sp_GetOraSorszamByOsztaly
@osztalyCsoportId = @ocsId,
@datum = @UtolsoNapTanevRendje,
@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 TanitasioraId
,tao.C_DATUM Datum
,IIF(CsengetesiRendOra.Id IS NULL, dbo.fnGetDokumentumOrakezdetToOraszam(CONVERT(VARCHAR(5), C_ORAKEZDETE, 108), @tanevId), CsengetesiRendOra.C_ORASZAM) Oraszam
,pedagogus.ID PedagogusId
,IIF(C_MEGTARTOTT = 'T', pedagogus.C_NYOMTATASINEV, '-') PedagogusNev
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam) + '.','-'), '-') OraSorszam
,IIF(C_MEGTARTOTT = 'T',
IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(VARCHAR(5), C_ORAKEZDETE, 108) + ' - ' + CONVERT(VARCHAR(5), C_ORAVEGE, 108) + ') ', '')
+ REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt')
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás: ' + helyettesito.C_NYOMTATASINEV +')', '')
+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), '(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV +') ', '' ) 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),'-') +'.: '
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás, ' + helyettesito.C_NYOMTATASINEV + ') ', '')
+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), '(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV +') ', '' )
+ REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), '')
,'Elmaradt') TemaOraSzammal
,tao.C_HETNAPJA HetNapja
,nh.C_HETSORSZAMA HetSorszama
,C_MEGTARTOTT Megtartott
,tao.C_TANTARGYID TantargyId
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) Tantargynev
,tao.C_OSZTALYCSOPORTID OsztalyCsoportId
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL,
IIF(LEN(C_NEVNYOMTATVANYBAN) + LEN(tantargy.C_NEV) < 90,
C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')',
C_NEVNYOMTATVANYBAN), tantargy.C_NEV) + '-' + CHAR(13) + CHAR(10) +
pedagogus.C_NYOMTATASINEV TantargyPedagogussal
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
LEFT JOIN T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra ON CsengetesiRendOra.Id = tao.C_CSENGETESIRENDORAID
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'
WHERE
tao.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM #osztalycsoportok)
AND tao.TOROLT = '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)
DECLARE @TanulokSzama INT = (SELECT COUNT(DISTINCT TanuloId) FROM #ErtekelesekTemp WHERE TipusId = 1520)
DECLARE @TanitasiNapokSzama INT = (SELECT MAX(CAST(Sorszam AS INT)) FROM #NapSorszam)
SELECT DISTINCT
@osztalyId OsztalyId
,ocs.C_NEV OsztalyNev
,o.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes
,o.C_OSZTALYFONOKID PartnerID
,ofo.C_NYOMTATASINEV Osztalyfonok
,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
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
SELECT
targy.C_NEV TargyNev
,tanar.C_NYOMTATASINEV TanarNev
,targykategoria.C_ORDER
FROM T_FELHASZNALO_OSSZES tanar
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID and f.TOROLT='F'
INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID and targy.TOROLT='F'
INNER JOIN #osztalycsoportok ocs ON ocs.OsztalyCsoportId = f.C_OSZTALYCSOPORTID
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
INNER JOIN T_DICTIONARYITEMBASE_OSSZES targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID AND targykategoria.TOROLT = 'F' AND targykategoria.C_TANEVID = @tanevId
WHERE tanar.TOROLT = 'F' AND f.TOROLT = 'F'
AND tanar.C_INTEZMENYID = @intezmenyId
AND tanar.c_tanevId = @tanevId
GROUP BY C_ORDER, targy.C_NEV, tanar.C_NYOMTATASINEV
ORDER BY C_ORDER, targy.C_NEV, tanar.C_NYOMTATASINEV
END
ELSE
BEGIN
SELECT DISTINCT
Tanulok.Id TanuloId
,Tantargy.C_NEV TargyNev
,Tanar.C_NYOMTATASINEV TanarNev
,C_ORDER
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 COALESCE(C_KILEPESDATUM, @UtolsoNapTanevRendje, @UtolsoNapTanev)
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
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = Foglalkozas.C_TANTARGYID
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES TargyKategoria ON TargyKategoria.ID = Tantargy.C_TARGYKATEGORIA
INNER JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoria_order ON TargyKategoria.ID = TargyKategoria_order.ID AND TargyKategoria_order.TOROLT = 'F' AND TargyKategoria_order.C_TANEVID = @tanevId
ORDER BY C_ORDER
END
-- Orarend
EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyid, @aktivTanevId, @isEgyebFoglalkozasok
-- 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
SELECT NULL DATUM, NULL ORASZAM, NULL TARGYNEV, NULL LATOGATO, NULL LATOGATOBEOSZTAS, '' ESZREVETEL
END
ELSE
BEGIN
SELECT DATUM, ORASZAM, TARGYNEV, LATOGATO, LATOGATOBEOSZTAS, ESZREVETEL FROM #Oralatogatas ORDER BY DATUM
END
-- Naploellenorzesek
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
SELECT NULL ELLENORZESDATUMA, NULL ELLENORZOSZEMELY, NULL ESZREVETEL
END
ELSE
BEGIN
SELECT ELLENORZESDATUMA, ELLENORZOSZEMELY, ESZREVETEL FROM #NaploEllenorzes
END
/* Napló */
DECLARE @HetUtolsoNapjaMegtartottOra INT = (SELECT IIF(MAX(HetNapja) IS NULL OR MAX(HetNapja) <= 1412 , 1412, MAX(HetNapja)) FROM #megtartottOrak)
DECLARE @HetUtolsoNapjaTanevendje INT = (SELECT ISNULL(MAX(C_HETNAPJA), 1412) FROM #NapSorszam NapSorszam
INNER JOIN T_NAPTARINAP_OSSZES NaptariNap ON NaptariNap.C_NAPDATUMA = NapSorszam.Datum AND NaptariNap.C_TANEVID = @tanevId
)
DECLARE @HetUtolsoNapja INT = (SELECT IIF(@HetUtolsoNapjaMegtartottOra >= @HetUtolsoNapjaTanevendje, @HetUtolsoNapjaMegtartottOra, @HetUtolsoNapjaTanevendje))
SELECT
nh.C_HETSORSZAMA
,dbo.fnGetDokumentumDatumFormatum(MIN(nn.C_NAPDATUMA))
,dbo.fnGetDokumentumDatumFormatum(MAX(nn.C_NAPDATUMA))
FROM T_NAPTARINAP_OSSZES nn
INNER JOIN T_NAPTARIHET_OSSZES nh ON nn.C_NAPDATUMA BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId AND nh.TOROLT='F'
WHERE
nn.C_NAPDATUMA BETWEEN ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap,@UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
AND nn.C_HETNAPJA BETWEEN 1407 AND @HetUtolsoNapja
AND nn.TOROLT='F'
AND nn.C_TANEVID = @tanevId
GROUP BY nh.C_HETSORSZAMA
ORDER BY MIN(nn.C_NAPDATUMA)
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 Datum
,dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) FormatDate
,oraszam Oraszam
,nh.C_HETSORSZAMA HetSorszama
,AlapHetnapja.C_NAME HetNapja
, ISNULL(trNaptipus.C_NAME + ',', '')
+ IIF(LEN(ISNULL(tr.C_MEGJEGYZES, '')) = 0, '', ' ' + tr.C_MEGJEGYZES + ',')
+ IIF(LEN(ISNULL(osztalyCsoportTanevRendje.Megjegyzes, '')) = 0, '', ' ' + osztalyCsoportTanevRendje.Megjegyzes + ',')
+ IIF(nn.C_HETNAPJA <> nn.C_ALAPHETNAPJA, ' (' + Hetnapja.C_NAME +')', '')
Megjegyzes
,ISNULL(Sorszam,'-') Sorszam
FROM T_NAPTARINAP_OSSZES nn
INNER JOIN T_NAPTARIHET_OSSZES nh ON nn.C_NAPDATUMA BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId AND nh.TOROLT='F'
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('(' + 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
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 <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)
AND oraszam <= @MaxOraszam
AND nn.C_HETNAPJA BETWEEN 1407 AND @HetUtolsoNapja
) NapAdatok
IF (@MinOraszam > 0)
BEGIN
DELETE FROM #OsszesOra WHERE Oraszam = 0
END
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
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 + ', ', '') + '[' + REPLACE(REPLACE(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 C_NAPDATUMA
,Hianyzas Mulasztas
,OsszesOra.Oraszam ORASZAM
,NULL T1ID
,NULL T2ID
,NULL T3ID
,Orarend.Tantargy TANTARGY
,OsszesOra.HetSorszama C_HETSORSZAMA
,OsszesOra.HetNapja C_HETNAPJA_DNAME
,OsszesOra.Sorszam NapSorszama
,OsszesOra.Megjegyzes Megjegyzés
,' + @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 Naplo.Oraszam = OsszesOra.Oraszam
LEFT JOIN #hianyzasok Hianyzasok ON Hianyzasok.Datum = OsszesOra.Datum
ORDER BY OsszesOra.FormatDate, Oraszam
'
IF @sql IS NULL
BEGIN
SELECT
NULL C_NAPDATUMA
,NULL Mulasztas
,NULL Megjegyzés
,NULL ORASZAM
,NULL T1ID
,NULL T2ID
,NULL T3ID
,NULL TANTARGY
,NULL C_HETSORSZAMA
,NULL C_HETNAPJA_DNAME
,NULL NapSorszama
END
ELSE
BEGIN
EXEC sp_executesql @sql
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 C_NAPDATUMA
,OsszesOra.HetNapja Napneve
,OsszesOra.Megjegyzes C_MEGJEGYZES
,nh.C_HETKEZDONAPJA C_HETKEZDONAPJA
,nh.C_HETUTOLSONAPJA C_HETUTOLSONAPJA
,OsszesOra.HetSorszama C_HETSORSZAMA
,OsszesOra.Oraszam OraSorszam
,OsszesOra.Sorszam Napszam
,Tantargynev Tantargy
,PedagogusNev Tanar
,Tema Oraanyaga
,OraSorszam 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])
SELECT DISTINCT
dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) C_NAPDATUMA
,Napneve
,C_MEGJEGYZES
,C_HETKEZDONAPJA
,C_HETUTOLSONAPJA
,C_HETSORSZAMA
,OraSorszam
,Napszam
, STUFF((SELECT CAST(bszov.TANTARGY AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.ORASORSZAM=szov.ORASORSZAM
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') TANTARGY
, STUFF((SELECT CAST(bszov.TANAR AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.ORASORSZAM=szov.ORASORSZAM
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') TANAR
, STUFF((SELECT CAST(bszov.ORAANYAGA AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.ORASORSZAM=szov.ORASORSZAM
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') ORAANYAGA
, STUFF((SELECT CAST(bszov.C_ORAEVESSORSZAM AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.ORASORSZAM=szov.ORASORSZAM
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') OraEvesSorszama
FROM #szoveges szov
ORDER BY dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA), orasorszam
/*Hiányzások*/
SELECT
NapiMulasztas.HetSorszama
,TanuloNeve
,NapiMulasztas.TanuloId
,MAX(Hetfo) Hetfo
,MAX(Kedd) Kedd
,MAX(Szerda) Szerda
,MAX(Csutortok) Csutortok
,MAX(Pentek) Pentek
,MAX(Szombat) Szombat
,HetiMulasztas
FROM (
SELECT
HetSorszama
,TanuloNeve
,TanuloId
,TanuloCsoportId
,[1408] Hetfo
,[1409] Kedd
,[1410] Szerda
,[1411] Csutortok
,[1412] Pentek
,[1413] Szombat
FROM
(
SELECT DISTINCT
HetSorszama
,C_NYOMTATASINEV TanuloNeve
,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
) 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
END --SZÖVEGES OSZTÁLYNAPLÓ
/*TANULÓ adatai*/
SELECT
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
INTO #TanuloAlapAdatok
FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId)
SELECT
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
FROM #TanuloAlapAdatok
ORDER BY Sorszam
/*TANULÓ elérhetoségei */
CREATE TABLE #Gondviselok (TanuloId INT, GondviseloId INT PRIMARY KEY CLUSTERED)
INSERT INTO #Gondviselok
SELECT
tanulo.Id
,gondviselo.Id
FROM T_GONDVISELO_OSSZES gondviselo
INNER JOIN #students tanulo ON tanulo.Id = gondviselo.C_TANULOID
WHERE
gondviselo.TOROLT = 'F'
AND gondviselo.C_TANEVID = @tanevId
CREATE TABLE #CimTableTemp (FelhasznaloId INT, Cim NVARCHAR(MAX), CimTipus INT, GondviseloId INT)
INSERT INTO #CimTableTemp
SELECT
tanulo.Id
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM
,C_CIMTIPUSA
,C_GONDVISELOID
FROM #students tanulo
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = tanulo.Id
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @TanevId
WHERE
cim.TOROLT = 'F'
AND cim.C_TANEVID = @tanevId
UNION
SELECT
TanuloId
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM
,C_CIMTIPUSA
,GondviseloId
FROM #Gondviselok gonviselo
INNER JOIN T_CIM_OSSZES cim ON cim.C_GONDVISELOID = GondviseloId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @TanevId
WHERE
cim.TOROLT = 'F'
AND cim.C_TANEVID = @tanevId
CREATE TABLE #TanuloCimTable (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
INSERT INTO #TanuloCimTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM #CimTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
AND temp.CimTipus = btemp.CimTipus
AND GondviseloId IS NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
,C_NAME
FROM #CimTableTemp temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = Cimtipus
WHERE
GondviseloId IS NULL
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 #CimTableTemp btemp
WHERE
temp.GondviseloId = btemp.GondviseloId
AND temp.CimTipus = btemp.CimTipus
AND GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
,C_NAME
FROM #CimTableTemp temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = Cimtipus AND cimTipusa.C_TANEVID = @tanevId
WHERE
GondviseloId IS NOT NULL
CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT)
INSERT INTO #EmailCimTableTemp
SELECT
tanulo.Id
,C_EMAILCIM
,C_GONDVISELOID
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
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
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM #EmailCimTableTemp temp
WHERE
GondviseloId IS NOT NULL
CREATE TABLE #TelefonTableTemp(FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT, index ix_Ci_telefon (FelhasznaloId))
INSERT INTO #TelefonTableTemp
SELECT
tanulo.Id
,C_TELEFONSZAM
,C_GONDVISELOID
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
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 GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
FROM #TelefonTableTemp temp
WHERE
GondviseloId IS NOT NULL
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 */
SELECT
TanuloId
,TanuloCsoportId
,ROW_NUMBER() OVER(PARTITION BY TanuloId, TanuloCsoportId ORDER BY TanuloId, TanuloCsoportId) Sorszam
,TantargyNev
,MentessegOka
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId)
/* TANULÓ határozatok */
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) 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 */
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) 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 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
)
ORDER BY dbo.fnGetDokumentumDatumFormatum(Datum)
/* TANULO mulasztása */
EXEC sp_GetDokumentumMulasztasokIdoszakonkent
@tanevId = @tanevId,
@osztalyCsoportId = @osztalyId,
@iskolaErdekuSzamit = @iskolaErdekuSzamit,
@isReszletesMulasztasok = @isReszletesMulasztasok
/*gondviselo elérhetoségei */
SELECT DISTINCT
s.ID
,g.C_NEV + ' (' + RokonsagiFok.C_NAME + ')' C_NEV
,cim.Cimtipusa C_CIMTIPUSA
,cim.cim C_OSSZETETTCIM
,telefon.telefon C_TELEFONSZAM
,email.emailcim C_EMAILCIM
FROM #students s
INNER JOIN T_GONDVISELO_OSSZES g ON g.C_TANULOID = s.ID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = g.C_ROKONSAGFOKA AND RokonsagiFok.C_TANEVID = @tanevId
LEFT JOIN #EmailCimGondviseloTable email ON email.GondviseloId = g.ID
LEFT JOIN #GondviseloTelefonTable telefon ON telefon.GondviseloId = g.ID
LEFT JOIN #GondViseloCimTable cim ON cim.GondviseloId = g.ID
WHERE
g.Torolt = 'F'
ORDER BY Cimtipusa
/*TANULÓ osztályzatai*/
--Osztályhoz tartozó értékelések
EXEC sp_GetDokumentumErtekelesekIdoszakonkent
@tanevId = @tanevId,
@osztalyCsoportId = @osztalyId,
@ertekelesTipusa = NULL,
@csakTanorai = 1,
@csakKivlasztottOsztalyCsoport = 0,
@atsoroltTanuloErtekelesek = 0,
@fuggolegesTantargyak = @fuggolegesTantargyak
/* TANULÓ záradékai */
SELECT
TanuloId
,TanuloCsoportId
,Bejegyzes Zaradek
FROM fnGetDokumentumTanuloZaradekai(@tanevId, @osztalyId)
/*Szöveges minosítések*/
SELECT
a.tanuloId
,a.TanuloCsoportId
,a.Honap
,a.Tantargy
,a.Ertekeles
,a.Tipus
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
,ErtekelesSzoveg + Jeloles 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
ErtekelesSzoveg 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
,ErtekelesTemp.MagatartasSzoveg + Jeloles 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.MagatartasSzoveg 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
,ErtekelesTemp.SzorgalomSzoveg + Jeloles 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.SzorgalomSzoveg IS NOT NULL
) szoveges on szoveges.TANULOID = s.Id AND szoveges.TanuloCsoportId = s.TanuloCsoportId
)a
ORDER BY RendezHonap, Tantargy
--Közösségi szolgálat
SELECT
TanuloId
,TanuloCsoportId
,dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,ISNULL(' - ' + Megjegyzes, '') Megjegyzes
,Oraszam
,TeljesitesHelye
,FeljegyzoNeve
,Tipus
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId) KozossegiSzolgalat
ORDER BY Datum
--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,
@elmeletGyakorlat = 1,
@kesesTipus = 1499,
@elmeletiOraPercben = 45,
@gyakorlatiOraPercben = 45,
@ertekelesTipus = 1519,
@iskolaErdekuSzamit = @iskolaErdekuSzamit
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,
@elmeletGyakorlat = 1,
@kesesTipus = 1499,
@elmeletiOraPercben = 45,
@gyakorlatiOraPercben = 45,
@ertekelesTipus = 1520,
@iskolaErdekuSzamit = @iskolaErdekuSzamit
SELECT
TanuloAlapAdatok.tanuloId TanuloId
,ISNULL(FeleviMulasztasok.ElmeletIgazolt, 0) FeleviElmeletIgazolt
,ISNULL(FeleviMulasztasok.ElmeletIgazolatlan, 0) FeleviElmeletIgazolatlan
,ISNULL(FeleviMulasztasok.GyakorlatIgazolT, 0) FeleviGyakorlatIgazolt
,ISNULL(FeleviMulasztasok.GyakorlatIgazolatlan, 0) FeleviGyakorlatIgazolatlan
,ISNULL(FeleviMulasztasok.ElmeletIgazolt + FeleviMulasztasok.ElmeletIgazolatlan, 0) FeleviElmelet
,ISNULL(FeleviMulasztasok.GyakorlatIgazolt + FeleviMulasztasok.GyakorlatIgazolatlan, 0) FeleviGyakorlat
,ISNULL(EvVegiMulasztasok.ElmeletIgazolt, 0) EvVegiElmeletIgazolt
,ISNULL(EvVegiMulasztasok.ElmeletIgazolatlan, 0) EvVegiElmeletIgazolatlan
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt, 0) EvVegiGyakorlatIgazolt
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolatlan, 0) EvVegiGyakorlatIgazolatlan
,ISNULL(EvVegiMulasztasok.ElmeletIgazolt + EvVegiMulasztasok.ElmeletIgazolatlan, 0) EvVegiElmelet
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt + EvVegiMulasztasok.GyakorlatIgazolatlan, 0) EvVegiGyakorlat
,ISNULL(FeleviMulasztasok.Osszes, 0) FeleviOsszes
,ISNULL(FeleviMulasztasok.Igazolt, 0) FeleviIgazolt
,ISNULL(FeleviMulasztasok.Igazolatlan, 0) FeleviIgazolatlan
,ISNULL(EvVegiMulasztasok.Osszes, 0) EvVegiOsszes
,ISNULL(EvVegiMulasztasok.Igazolt, 0) EvVegiIgazolt
,ISNULL(EvVegiMulasztasok.Igazolatlan, 0) EvVegiIgazolatlan
,oktAzon oktAzon
,tanuloNeve tanuloNeve
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 sorszam
--értékelésekhez tartozó feljegyzések 1. félév
SELECT DISTINCT
TanuloId
,TanuloCsoportId
,STUFF((SELECT DISTINCT ', ' + JelolesAndErtekelesTema
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
WHERE
LEN(JelolesAndErtekelesTema) > 0
AND Datum <= @FelevVege
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 (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
--értékelésekhez tartozó feljegyzések 2. félév
SELECT DISTINCT
TanuloId
,TanuloCsoportId
,STUFF((SELECT DISTINCT ', ' + JelolesAndErtekelesTema
FROM #ErtekelesekTemp ErtekelesTemavalOsszefuz
WHERE
LEN(JelolesAndErtekelesTema) > 0
AND Datum >= @FelevVege
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 (ErtekelesTemaval.ErtekelesSzoveg IS NULL AND ErtekelesTemaval.MagatartasSzoveg IS NULL AND ErtekelesTemaval.SzorgalomSzoveg IS NULL)
--értékelésekhez tartozó feljegyzések
SELECT DISTINCT
TanuloId
,TanuloCsoportId
,STUFF((SELECT DISTINCT ', ' + 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)
END
GO