kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspGetCsoportNaplo.sql
2024-03-13 00:33:46 +01:00

1209 lines
37 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetCsoportNaplo
GO
CREATE PROCEDURE uspGetCsoportNaplo
@tanevId int
,@intezmenyid int
,@csoportId int
,@iskolaErdekuSzamit bit
,@isGyakorlatiTargyak bit
,@isElmeletiTargyak bit
,@pDatum date
,@igazolasTipusTypeId int = 47
,@osztalyzatTipusTypeID int = 44
,@magatartasErtekelesTipusTypeID int = 50
,@szorgalomErtekelesTipusTypeID int = 51
AS BEGIN
SET NOCOUNT ON;
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
DECLARE
@isreszletesmulasztasok bit = 0
,@isGyakorlatVagyElmelet bit /*0 csak elmeleti || 1 csak gyakorlati || NULL elmeleti és gyakorlati*/
,@isGyakorlatVagyElmeletFalse bit = NULL
,@UtolsoTanitasiNapTanevRendje date
,@ElsoNapTanev date
,@UtolsoTanitasiNapTanev date
,@isVegzos varchar (1)
,@datum date = @pDatum
,@FelevVege date
,@VegzosUtolsoNap date
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId AND TOROLT = 'F')
DECLARE @TanitasiNapTipusok TABLE (Id INT)
DECLARE @NapSorszam TABLE (
Datum date
,Sorszam int
)
CREATE TABLE #OraSorszam (
TanitasioraId int PRIMARY KEY
,OraSorszam int
)
CREATE TABLE #hetek (
Het int
,HetEleje datetime
,HetVege datetime
,IsSzombatiMulasztas bit
,IsVasarnapiMulasztas bit
,PRIMARY KEY (Het)
)
CREATE TABLE #hianyzasok (
C_HETSORSZAMA int
,C_NYOMTATASINEV nvarchar (255)
,TanuloId int
,Hetfo nvarchar (128)
,Kedd nvarchar (128)
,Szerda nvarchar (128)
,Csutortok nvarchar (128)
,Pentek nvarchar (128)
,Szombat nvarchar (128)
,Vasarnap nvarchar (128)
,Primary Key (C_HETSORSZAMA, TanuloId)
)
DECLARE @TanuloCimTable TABLE (
FelhasznaloId int
,Cim nvarchar (max)
,Cimtipusa nvarchar (max)
)
DECLARE @GondViseloCimTable TABLE (
GondviseloId int
,Cim nvarchar (max)
,Cimtipusa nvarchar (max)
)
DECLARE @EmailCimTableTemp TABLE (
FelhasznaloId int
,EmailCim nvarchar (max)
,GondviseloId int
,Alapertelmezett char (1)
)
DECLARE @EmailCimTanuloTable TABLE (
FelhasznaloId int
,EmailCim nvarchar (max)
)
DECLARE @EmailCimGondviseloTable TABLE (
GondviseloId int
,EmailCim nvarchar (max)
)
DECLARE @TelefonTableTemp TABLE (
FelhasznaloId int
,Telefon nvarchar (max)
,GondviseloId int
,Alapertelmezett char (1)
)
DECLARE @TanuloTelefonTable TABLE (
FelhasznaloId int
,Telefon nvarchar (max)
)
DECLARE @GondviseloTelefonTable TABLE (
GondviseloId int
,Telefon nvarchar (max)
)
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
)
DECLARE @Mulasztasok TABLE (
IgazoltE nvarchar(1)
,Tanulo int
,Tipus int
)
CREATE TABLE #szovegesTemp (
TanuloId int
,TanuloCsoportId int
,Honap nvarchar(100)
,Tantargy nvarchar(510)
,Ertekeles nvarchar(MAX)
,Tipus nvarchar(500)
)
IF(@isGyakorlatiTargyak = 1)
SET @isGyakorlatVagyElmelet = 1
IF(@isElmeletiTargyak = 1)
SET @isGyakorlatVagyElmelet = 0
IF(@isGyakorlatiTargyak = 1 AND @isElmeletiTargyak = 1)
SET @isGyakorlatVagyElmelet = NULL
IF(@isGyakorlatiTargyak = 0 AND @isElmeletiTargyak = 0)
SET @isGyakorlatVagyElmeletFalse = 0
SELECT TOP 1
@ElsoNapTanev = t.C_KEZDONAP
,@UtolsoTanitasiNapTanev = t.C_UTOLSOTANITASINAP
FROM T_TANEV_OSSZES t
WHERE t.ID = @tanevId
AND t.TOROLT = 'F'
SELECT TOP 1
@UtolsoTanitasiNapTanevRendje = tr.C_DATUM
FROM T_TANEVRENDJE_OSSZES tr
WHERE tr.C_NAPTIPUSA = 1395
AND tr.C_TANEVID = @tanevId
AND tr.TOROLT = 'F'
SELECT TOP 1
@VegzosUtolsoNap = tr.C_DATUM
FROM T_TANEVRENDJE_OSSZES tr
WHERE tr.C_NAPTIPUSA = 1402
AND tr.C_TANEVID = @tanevId
AND tr.TOROLT = 'F'
SELECT TOP 1
@FelevVege = tr.C_DATUM
FROM T_TANEVRENDJE_OSSZES tr
WHERE tr.C_NAPTIPUSA = 1400
AND tr.C_TANEVID = @tanevId
AND tr.TOROLT = 'F'
SELECT TOP 1
@isVegzos = o.C_VEGZOSEVFOLYAM
FROM T_OSZTALYCSOPORT_OSSZES o
WHERE o.ID = @csoportId
--Kezdőoldal
SELECT
ia.C_NEV AS IntezmenyNev
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCim
,ia.C_OMKOD AS OMKOD
,ia.C_IGAZGATONEVE AS IntezmenyVezeto
,ocs.C_NEV AS Csoport
,ocs.ID AS CsoportId
,ISNULL(f.C_NYOMTATASINEV, '-') AS CsoportVezeto
,ISNULL(cs.C_CSOPORTNAPLOLEIRAS, '-') AS CsoportNaploLeiras
,FORMAT(cs.C_CSOPORTNAPLOMEGNYITASA, 'yyyy. MMMM dd.', 'hu-hu') AS Megnyitas
,ISNULL(FORMAT(cs.C_CSOPORTNAPLOZARASA, 'yyyy. MMMM dd.', 'hu-hu'), '-') AS Lezaras
,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296) AS EvfolyamTipusa -- 1296 = Na
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
,cs.C_TIPUSA AS CsoportTipusa
FROM T_INTEZMENY_OSSZES i
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid = i.id
AND ocs.c_tanevid = @tanevid
INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
WHERE i.id = @intezmenyid
AND ia.c_tanevid = @tanevid
AND ocs.id = @csoportId
--Csoportot vezette
SELECT
ISNULL(felhasznaloNev.C_NYOMTATASINEV, '-') AS CsoportVezeto
,csoport.C_CSOPORTVEZETOID CsoportVezetoId
FROM T_CSOPORT_OSSZES csoport
INNER JOIN T_FELHASZNALO_OSSZES felhasznaloNev ON felhasznaloNev.id = csoport.C_CSOPORTVEZETOID
WHERE csoport.id = @csoportId
--Tanulók
SELECT
Id
,TanuloCSoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,NevElotagNelkul
,Allampolgarsaga
,DiakigazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
,Osztaly
,OsztalyId
,BelepesDatum
INTO #studentsWithTanuloCsoport
FROM (
SELECT
tcs.C_TANULOID AS Id
,tcs.ID AS TanuloCSoportId
,tta.C_NAPLOSORSZAM AS Sorszam
,tta.C_TORZSLAPSZAM AS TorzslapSzam
,f.C_OKTATASIAZONOSITO AS OktAzon
,f.C_TAJSZAM AS TajSzam
,f.C_ANYJANEVE AS AnyjaNeve
,f.C_SZULETESIHELY AS SzulHely
,FORMAT(f.C_SZULETESIDATUM, 'yyyy. MM. dd.') AS SzulIdo
,IIF(tta.C_MAGANTANULO = 'T', N'Magántanuló / Egyéni munkarend ('
+ ISNULL(MagantanulosagOka.C_NAME, N'-') + N')', N'')
+ IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', N', Jogviszony szüneteltetve', N'')
+ IIF(tta.C_SZAKMAIGYAKORLATON = 'T', N', Szakmai gyakorlat', N'')
+ IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', N', Szociális támogatás', N'')
+ IIF(tta.C_BEJARO = 'T', N', Bejáró', N'') As SocAdat
,tanterv.C_NEV AS Kepzes
,f.C_NYOMTATASINEV AS TanuloNeve
,IIF(f.C_NEVSORREND = 'T',
f.C_UTONEV + ' ' + f.C_VEZETEKNEV,
f.C_VEZETEKNEV + ' ' + f.C_UTONEV) AS NevElotagNelkul
,allampolgarsag.C_NAME AS Allampolgarsaga
,tanulo.C_DIAKIGAZOLVANYSZAM AS DiakigazolvanySzam
,FORMAT(tcs.C_KILEPESDATUM, 'yyyy. MM. dd.') AS KilepesDatum
,tta.C_BEIRASINAPLOSORSZAM AS BeirasiNaploSorszam
,ocso.C_NEV AS Osztaly
,ocso.ID AS OsztalyId
,tcs.C_BELEPESDATUM AS BelepesDatum
,ROW_NUMBER() OVER(PARTITION BY tcs.C_TANULOID ORDER BY tcso.C_BELEPESDATUM desc) AS RN
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.C_TANULOID = tcs.C_TANULOID AND tcso.TOROLT = 'F'
AND tcso.C_BELEPESDATUM <= ISNULL(tcs.C_KILEPESDATUM,@pDatum)
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM >= tcs.C_BELEPESDATUM)
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcso.C_OSZTALYCSOPORTID AND o.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocso ON ocso.ID = o.ID AND ocso.TOROLT = 'F' AND ocso.C_FELADATKATEGORIAID = @feladatKategoriaId
INNER JOIN T_TANULO_OSSZES tanulo ON tanulo.ID = tcs.C_TANULOID AND tanulo.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES f on f.ID = tanulo.ID AND f.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = f.C_ALLAMPOLGARSAGA AND allampolgarsag.TOROLT = 'F' AND allampolgarsag.C_TANEVID = @tanevId
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tcso.ID = tta.C_TANULOCSOPORTID AND tta.TOROLT = 'F' AND tta.C_TANEVID = tcs.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka ON MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID AND MagantanulosagOka.C_TANEVID = f.C_TANEVID AND MagantanulosagOka.TOROLT = 'F'
LEFT JOIN T_TANTERV_OSSZES AS tanterv ON Tanterv.ID = tta.C_TANTERVID AND tanterv.TOROLT = 'F' AND tanterv.C_TANEVID = tcs.C_TANEVID
WHERE tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @tanevId
AND tcs.C_OSZTALYCSOPORTID = @csoportId
) x
WHERE x.RN = 1
SELECT
Id
,Osztaly
,OktAzon
,TanuloNeve AS Nev
,NevElotagNelkul AS NevElotagNelkul
,BelepesDatum AS BelepesDatum
FROM #studentsWithTanuloCsoport
SELECT DISTINCT
Id
INTO #students
FROM #studentsWithTanuloCsoport
--Napló adatok
CREATE TABLE #NapSorszamTemp (
Datum DATE
)
INSERT INTO #NapSorszamTemp
EXEC sp_GetDokumentumTanitasiNapokSorszama
@tanevId = @tanevId,
@osztalyId = @csoportId
INSERT INTO @NapSorszam (
Datum
,Sorszam
)
SELECT
Sorszam.Datum Datum
,DENSE_RANK() OVER(ORDER BY Sorszam.Datum)
FROM #NapSorszamTemp Sorszam
INNER JOIN fnGetDokumentumOsztalyMegtartottOrakSzama(@tanevId, @csoportId) OrakSzama ON OrakSzama.Datum = Sorszam.Datum
INSERT INTO #OraSorszam (
TanitasioraId
,OraSorszam
)
EXEC uspGetOraSorszamByOsztaly
@osztalyCsoportId = @csoportId
,@datum = @pDatum
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
SELECT
tao.Id AS TanitasioraId
,tao.C_DATUM AS Datum
,CONVERT(varchar (5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(varchar (5), tao.C_ORAVEGE, 108) AS KezdetVeg
,C_ORATULAJDONOSID AS PedagogusId
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV + IIF(tao.C_HELYETTESITESOKA IS NOT NULL, ' (' + tao.C_HELYETTESITESOKA + ')', ''), pedagogus.C_NYOMTATASINEV) AS PedagogusNev
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(nvarchar (max), OraSorszam),'-'), '-') AS OraSorszam
,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), CHAR(0x0002), ''), 'Elmaradt' + IIF(tao.C_MEGJEGYZES IS NOT NULL, ' - ' + tao.C_MEGJEGYZES, '')) AS Tema
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(nvarchar (max), OraSorszam),'-') +'.: ' + REPLACE(REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), CHAR(0x0002), ''), 'Elmaradt' + IIF(tao.C_MEGJEGYZES IS NOT NULL, ' - ' + tao.C_MEGJEGYZES, '')) AS TemaOraSzammal
,tao.C_HETNAPJA AS HetNapja
,C_HETSORSZAMA AS HetSorszama
,C_MEGTARTOTT AS Megtartott
,C_TANTARGYID AS TantargyId
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS Tantargynev
,C_OSZTALYCSOPORTID AS OsztalyCsoportId
,C_NAPSORSZAMA AS NapSorszama
,C_ORAKEZDETE AS Kezdete
INTO #megtartottOrak
FROM T_TANITASIORA_OSSZES tao
INNER 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
AND (tantargy.C_GYAKORLATI = CASE @isGyakorlatVagyElmelet WHEN 1 THEN 'T' WHEN 0 THEN 'F' END
OR @isGyakorlatVagyElmelet IS NULL)
LEFT JOIN(
SELECT DISTINCT
OraSorszam
,TanitasioraId
FROM #OraSorszam
) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
WHERE C_OSZTALYCSOPORTID = @csoportId
AND tao.TOROLT = 'F'
INSERT INTO #Hetek (
Het
,HetEleje
,HetVege
,IsSzombatiMulasztas
,IsVasarnapiMulasztas
)
SELECT
nn.C_HETSORSZAMA
,MIN(nn.C_NAPDATUMA)
,MAX(nn.C_NAPDATUMA)
,0 --default
,0 --default
FROM T_NAPTARINAP_OSSZES nn
WHERE nn.C_NAPDATUMA BETWEEN @ElsoNapTanev AND IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap, @UtolsoTanitasiNapTanevRendje, @UtolsoTanitasiNapTanev), ISNULL(@UtolsoTanitasiNapTanevRendje, @UtolsoTanitasiNapTanev))
AND nn.TOROLT='F'
AND nn.c_tanevId = @tanevId
GROUP BY nn.C_HETSORSZAMA
ORDER BY MIN(nn.C_NAPDATUMA)
/* Naplo */
-- Hétfőtől vasárnapig kellenek, mert ez csak segédtábla
SELECT DISTINCT
nn.C_HETSORSZAMA AS Het
,NapDictionary.C_NAME AS Nap
,FORMAT(nn.C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
,nn.C_NAPDATUMA
,ISNULL(osztalyCsoportTanevRendje.NapTipus
+ IIF(osztalyCsoportTanevRendje.HetNapja <> nn.C_ALAPHETNAPJA, ' (' + osztalyCsoportTanevRendje.ElteroNap +')', '')
+ osztalyCsoportTanevRendje.Megjegyzes, '') AS Megjegyzes
FROM T_NAPTARINAP_OSSZES nn
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = nn.c_napdatuma
AND tao.c_osztalycsoportid = @csoportid
AND tao.torolt = 'F'
LEFT JOIN
(
SELECT
C_DATUM
,tr.C_HETNAPJA AS HetNapja
,elteroNap.C_NAME AS ElteroNap
,ISNULL(trNaptipus.C_NAME, '') AS NapTipus
,ISNULL(', ' + C_MEGJEGYZES, '') AS Megjegyzes
FROM T_TANEVRENDJE_OSSZES tr
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.Id = ocstr.C_TANEVRENDJEID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA AND trNaptipus.C_TANEVID = @tanevId AND trNaptipus.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES elteroNap ON elteroNap.ID = tr.C_HETNAPJA AND elteroNap.C_TANEVID = @tanevId AND elteroNap.TOROLT = 'F'
WHERE
tr.TOROLT = 'F'
AND tr.C_TANEVID = @tanevId
AND (tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' OR C_OSZTALYCSOPORTID = @csoportId)
) osztalyCsoportTanevRendje ON osztalyCsoportTanevRendje.C_DATUM = nn.C_NAPDATUMA
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES NapDictionary ON NapDictionary.id = nn.C_ALAPHETNAPJA
AND NapDictionary.C_TANEVID = @tanevId
WHERE nn.c_napdatuma >= @ElsoNapTanev
AND nn.c_napdatuma <= ISNULL(@UtolsoTanitasiNapTanevRendje, @UtolsoTanitasiNapTanev)
ORDER BY
nn.C_HETSORSZAMA
,nn.C_NAPDATUMA
SELECT
mto.Datum AS C_NAPDATUMA
,FORMAT(mto.Datum, 'dddd', 'hu-hu') AS Napneve
,NULL AS C_MEGJEGYZES
,nh.C_HETKEZDONAPJA AS C_HETKEZDONAPJA
,nh.C_HETUTOLSONAPJA AS C_HETUTOLSONAPJA
,HetSorszama AS C_HETSORSZAMA
,KezdetVeg AS KezdetVeg
,nsz.Sorszam AS Napszam
,Tantargynev AS Tantargy
,PedagogusNev AS Tanar
,Tema AS Oraanyaga
,OraSorszam AS C_ORAEVESSORSZAM
,Kezdete AS Kezdete
INTO #szoveges
FROM #megtartottOrak mto
INNER JOIN T_NAPTARIHET_OSSZES nh ON Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA
AND nh.C_TANEVID = @tanevId
AND nh.torolt='F'
LEFT JOIN @NapSorszam nsz ON nsz.Datum = mto.Datum
/* NaploAdatok */
IF (@isGyakorlatVagyElmeletFalse IS NULL) BEGIN
IF ((@isGyakorlatVagyElmelet = 1) OR (@isGyakorlatVagyElmelet = 0) OR (@isGyakorlatVagyElmelet IS NULL)) BEGIN
SELECT DISTINCT
FORMAT(C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
,napneve
,c_megjegyzes
,c_hetkezdonapja
,c_hetutolsonapja
,c_hetsorszama
,KezdetVeg
,napszam
,STUFF(
(
SELECT
' | ' + CAST(bszov.TANTARGY AS nvarchar (max))
FROM #szoveges bszov
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
AND bszov.KezdetVeg = szov.KezdetVeg
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1, 3, ''
) AS TANTARGY
,STUFF(
(
SELECT
' | ' + CAST(bszov.TANAR AS nvarchar (max))
FROM #szoveges bszov
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
AND bszov.KezdetVeg = szov.KezdetVeg
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1, 3, ''
) AS TANAR
,STUFF(
(
SELECT
' | ' + CAST(bszov.ORAANYAGA AS nvarchar (max))
FROM #szoveges bszov
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
AND bszov.KezdetVeg = szov.KezdetVeg
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1, 3, ''
) AS ORAANYAGA
,STUFF(
(
SELECT
' | ' + CAST(bszov.C_ORAEVESSORSZAM AS nvarchar (max))
FROM #szoveges bszov
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
AND bszov.KezdetVeg = szov.KezdetVeg
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1, 3, ''
) AS OraEvesSorszama
,Kezdete
,szov.C_NAPDATUMA
,IIF(szov2.MaxTanitasiNap = szov.C_NAPDATUMA, 'T', 'F') AS IsHonapUtolsoNaplozottNapja
FROM #szoveges szov
LEFT JOIN (
SELECT DATEPART(month, C_NAPDATUMA) AS Honap,
MAX(C_NAPDATUMA) AS MaxTanitasiNap
FROM #szoveges
GROUP BY DATEPART(month, C_NAPDATUMA)
) AS szov2 on szov2.Honap = DATEPART(month, szov.C_NAPDATUMA)
ORDER BY
szov.C_NAPDATUMA
,Kezdete
END
END
ELSE BEGIN
IF (@isGyakorlatVagyElmeletFalse = 0) BEGIN
SELECT
'' Datum
,'' AS napneve
,'' AS c_megjegyzes
,'' AS c_hetkezdonapja
,'' AS c_hetutolsonapja
,'' AS c_hetsorszama
,'' AS KezdetVeg
,'' AS napszam
,'' AS TANTARGY
,'' AS TANAR
,'' AS ORAANYAGA
,'' AS OraEvesSorszama
,'' AS Kezdete
,'F' AS IsHonapUtolsoNaplozottNapja
END
END
/*Hiányzások*/
INSERT INTO #hianyzasok (
C_HETSORSZAMA
,C_NYOMTATASINEV
,TanuloId
,Hetfo
,Kedd
,Szerda
,Csutortok
,Pentek
,Szombat
,Vasarnap
)
SELECT
C_HETSORSZAMA
,C_NYOMTATASINEV
,TanuloId
,MAX([1]) AS [Hetfo]
,MAX([2]) AS [Kedd]
,MAX([3]) AS [Szerda]
,MAX([4]) AS [Csutortok]
,MAX([5]) AS [Pentek]
,MAX([6]) AS [Szombat]
,MAX([7]) AS [Vasarnap]
FROM (
SELECT
C_HETSORSZAMA
,C_NYOMTATASINEV
,C_ORATANULOIID AS TanuloId
,[1]
,[2]
,[3]
,[4]
,[5]
,[6]
,[7]
FROM (
SELECT DISTINCT
n.C_NAPTARINAPID
,DATEPART(dw,n.C_DATUM) AS NAP
,t.C_NYOMTATASINEV
,C_ORATANULOIID
,n.C_HETSORSZAMA
,'['
+ STUFF(
(
SELECT
', ' + CAST(OraSorszam AS varchar (3)) + IIF(tm.C_TIPUS = 1499, '(k)','')
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
INNER JOIN #students s ON s.Id = tm.C_ORATANULOIID
LEFT JOIN (SELECT DISTINCT * FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = O.Id
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
AND tm.C_TANEVID = @tanevId
AND tm.torolt='F'
AND o.c_tanevId = @tanevId
AND o.TOROLT = 'F'
AND tm.C_TIPUS IN (1499, 1500)
AND o.C_OSZTALYCSOPORTID = @csoportId
ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
FOR XML PATH(''), TYPE
).value
('.', 'varchar(max)'), 1, 2, '')
+ '] '
+ CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2))
+ '/'
+ CAST(SUM(IIF(m.C_IGAZOLT = 'F', 1, 0)) AS varchar(2)) AS hianyzas
FROM T_TANITASIORA_OSSZES n
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID and m.torolt='F'
INNER JOIN #students s ON s.Id = m.C_ORATANULOIID
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
WHERE n.C_TANEVID = @tanevId
AND m.C_TANEVID = @tanevId
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
AND m.C_TIPUS IN (1499, 1500)
AND n.TOROLT = 'F'
AND n.C_OSZTALYCSOPORTID = @csoportId
GROUP BY
n.C_NAPTARINAPID
,C_ORATANULOIID
,C_NYOMTATASINEV
,n.C_HETSORSZAMA
,n.C_DATUM
) AS SUB
PIVOT
(
MAX(HIANYZAS)
FOR NAP IN ([1], [2], [3], [4], [5], [6], [7])
) AS PivotTable
) AS ASD
GROUP BY
C_HETSORSZAMA
,C_NYOMTATASINEV
,TanuloId
UPDATE #hetek
SET
#hetek.IsSzombatiMulasztas = h.Sz
,#hetek.IsVasarnapiMulasztas = h.V
FROM (
SELECT
C_HETSORSZAMA AS hetsorszama
,(CASE WHEN MAX(Szombat) IS NOT NULL THEN 1 ELSE 0 END) AS Sz
,(CASE WHEN MAX(Vasarnap) IS NOT NULL THEN 1 ELSE 0 END) AS V
FROM #hianyzasok
GROUP BY C_HETSORSZAMA
) AS h
WHERE h.hetsorszama=#hetek.Het
/* NaploMulasztas */
SELECT
hi.C_HETSORSZAMA
,hi.C_NYOMTATASINEV
,hi.Hetfo
,hi.Kedd
,hi.Szerda
,hi.Csutortok
,hi.Pentek
,hi.Szombat
,hi.Vasarnap
FROM #hianyzasok hi
ORDER BY hi.C_HETSORSZAMA
/* NaptariHetek */
SELECT
ROW_NUMBER() OVER (ORDER BY ret.Het) AS TanitasiHetSorszam
,ret.Het
,dbo.fnGetDokumentumDatumFormatum(ret.HetEleje) AS HetEleje
,dbo.fnGetDokumentumDatumFormatum(ret.HetVege) AS HetVege
,ret.IsSzombatiMulasztas
,ret.IsVasarnapiMulasztas
FROM (
SELECT DISTINCT
ha.*
FROM #hetek ha
INNER JOIN #NapSorszamTemp ns ON ns.Datum >= ha.HetEleje and ns.Datum <= ha.HetVege
) ret
UNION
SELECT
NULL AS TanitasiHetSorszam
,ret.Het
,dbo.fnGetDokumentumDatumFormatum(ret.HetEleje) AS HetEleje
,dbo.fnGetDokumentumDatumFormatum(ret.HetVege) AS HetVege
,ret.IsSzombatiMulasztas
,ret.IsVasarnapiMulasztas
FROM (
SELECT DISTINCT
ha.*
FROM #hetek ha
LEFT JOIN #NapSorszamTemp ns ON ns.Datum >= ha.HetEleje and ns.Datum <= ha.HetVege
WHERE ns.Datum IS NULL
) ret
ORDER BY ret.Het
/*TANULÓ adatai*/
SELECT
Id AS TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,NevElotagNelkul
,Allampolgarsaga
,DiakIgazolvanySzam
,KilepesDatum
,BeirasiNaploSorszam
,Osztaly
,OsztalyId
,BelepesDatum
FROM #studentsWithTanuloCsoport
/*TANULÓ elérhetőségei */
INSERT INTO @TanuloCimTable (
FelhasznaloId
,Cim
,Cimtipusa
)
SELECT DISTINCT
TanuloId
,STUFF(
(
SELECT DISTINCT
CAST(Btemp.Cim AS nvarchar (max)) + char(13) + char(10)
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid, 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, @csoportid, NULL, NULL) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
AND cimTipusa.C_TANEVID = @tanevId
INSERT INTO @GondViseloCimTable (
GondviseloId
,Cim
,Cimtipusa
)
SELECT DISTINCT
GondviseloId
,STUFF(
(
SELECT DISTINCT
CAST(Btemp.Cim AS nvarchar (max)) + char(13) + char(10)
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid, 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, @csoportid, NULL, NULL) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
AND cimTipusa.C_TANEVID = @tanevId
INSERT INTO @EmailCimTableTemp (
FelhasznaloId
,EmailCim
,GondviseloId
,Alapertelmezett
)
SELECT
TanuloId
,C_EMAILCIM
,C_GONDVISELOID
,C_ALAPERTELMEZETT
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
WHERE email.TOROLT = 'F'
AND email.C_TANEVID = @tanevId
AND LEN(C_EMAILCIM) > 0
INSERT INTO @EmailCimTanuloTable (
FelhasznaloId
,EmailCim
)
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
INSERT INTO @EmailCimGondviseloTable (
GondviseloId
,EmailCim
)
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'
INSERT INTO @TelefonTableTemp (
FelhasznaloId
,Telefon
,GondviseloId
,Alapertelmezett
)
SELECT
TanuloId
,C_TELEFONSZAM
,C_GONDVISELOID
,C_ALAPERTELMEZETT
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
WHERE
telefon.TOROLT = 'F'
AND telefon.C_TANEVID = @tanevId
AND LEN(telefon.C_TELEFONSZAM) > 0
INSERT INTO @TanuloTelefonTable (
FelhasznaloId
,Telefon
)
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
INSERT INTO @GondviseloTelefonTable (
GondviseloId
,Telefon
)
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'
SELECT
s.Id AS tanuloid
,cim.Cimtipusa AS cimtipus
,cim.Cim
,email.EmailCim AS email
,telefon.Telefon AS 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
SELECT
DATEPART(MONTH, Datum) AS Honap
,TantargyId AS Id
,Igazolt AS IgazoltE
,TanuloId AS TanuloId
,TanuloCsoportId AS TanuloCsoportId
,IgazolasTipusa AS IgazolasTipus
,Datum AS Datum
,Tipusa AS Tipus
,KesesPercben AS KesesPercben
,HetSorszama AS HetSorszama
,Oraszam AS Oraszam
,CAST(DATEPART(MONTH, Datum) AS nvarchar (10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') AS ElmeletGyakorlat
,C_GYAKORLATI AS isGyakorlat
INTO #mulasztasTmp
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @csoportId, @iskolaErdekuSzamit, 1, 0, DEFAULT, DEFAULT, 0) TanulokMulasztasai
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
EXEC sp_GetDokumentumMulasztasokIdoszakonkent
@tanevId = @tanevId
,@osztalyCsoportId = @csoportId
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
,@isReszletesMulasztasok = @isreszletesmulasztasok
,@igazolasTipusTypeId = @igazolasTipusTypeId
DECLARE @gondviselok TABLE (Id INT)
INSERT INTO @gondviselok
SELECT
GondviseloId
FROM fnGetDokumentumGondviselok(@csoportId, @tanevId, 'F', 'T')
/*gondviselő elérhetőségei */
SELECT DISTINCT
Gondviselok.TanuloId AS TanuloId
,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' AS C_NEV
,cim.Cimtipusa AS C_CIMTIPUSA
,cim.cim AS C_OSSZETETTCIM
,telefon.telefon AS C_TELEFONSZAM
,email.emailcim AS C_EMAILCIM
FROM fnGetDokumentumGondviselok (@csoportId, @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
ORDER BY cim.Cimtipusa
/*TANULÓ osztályzatai*/
SELECT
Datum
,RogzitesDatum
,TipusId
,TanuloCsoportId
,ErtekelesSzoveg
,ErtekelesSzovegFormazott
,ErtekelesSzovegRovidNev
,ErtekelesOsztalyzatId
,ErtekelesOsztalyzatValue
,ErtekelesOsztalyzatNev
,ErtekelesSzazalek
,MagatartasOsztalyzatId
,MagatartasOsztalyzatNev
,MagatartasSzoveg
,MagatartasSzovegRovidNev
,MagatartasErtekId
,MagatartasErtek
,SzorgalomOsztalyzatId
,SzorgalomOsztalyzatNev
,SzorgalomSzoveg
,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, @csoportId, DEFAULT, 0, 1, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID)
WHERE OsztalyCsoportId = @csoportId
EXEC uspGetDokumentumErtekelesekIdoszakonkent
@tanevId = @tanevId
,@osztalyCsoportId = @csoportid
,@ertekelesTipusa = NULL
,@csakTanorai = 0
,@csakKivalasztottOsztalyCsoport = 1
,@atsoroltTanuloErtekelesek = 0
,@fuggolegesTantargyak = 0
,@intezmenyId = @intezmenyid
,@osztalyzatTipusTypeID = @osztalyzatTipusTypeID
,@magatartasErtekelesTipusTypeID = @magatartasErtekelesTipusTypeID
,@szorgalomErtekelesTipusTypeID = @szorgalomErtekelesTipusTypeID
/*Szöveges minősítések*/
INSERT INTO #szovegesTemp
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]' AS Honap
,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) AS Tantargy
,IIF(Jeloles IS NOT NULL AND TipusId = 1518, LOWER(ISNULL(ErtekelesSzovegRovidNev, 'sz')) + Jeloles + ' ', '') + ErtekelesSzovegFormazott + ISNULL(' *' + ErtekelesTema, '') Ertekeles
,ErtekelesTipusDictionary.C_NAME AS 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 s.TanuloCsoportId = szoveges.TanuloCsoportId
) a
ORDER BY
RendezHonap
,Tantargy
SELECT DISTINCT
kulso.TanuloId
,kulso.TanuloCsoportId
,kulso.Honap
,kulso.Tantargy
,STUFF(((SELECT
'<br>|' + 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
FROM #szovegesTemp kulso
SELECT
COUNT(DISTINCT Id) TanulokSzama
,Osztaly as Osztaly
FROM #studentsWithTanuloCsoport
GROUP BY Osztaly
--é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.ErtekelesSzoveg IS NULL
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 LEN(JelolesAndErtekelesTema) > 0
AND ErtekelesTemaval.ErtekelesSzoveg IS NULL
AND ErtekelesTemaval.MagatartasSzoveg IS NULL
AND ErtekelesTemaval.SzorgalomSzoveg IS NULL
--megtartott órák száma
SELECT
COUNT(mo.TantargyId) AS TantargyOraszam
,mo.Tantargynev AS TantargyNev
INTO #megtartottOrakSzama
FROM #megtartottOrak mo
WHERE mo.Megtartott = 'T'
GROUP BY
mo.TantargyId
,mo.TantargyNev
SELECT DISTINCT
SUM(tmp.TantargyOraszam) AS OsszesTantargySzam
,STUFF(
(
SELECT DISTINCT
', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS nvarchar (max)) + ')'
FROM #megtartottOrakSzama btmp
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'), 1 , 2, ''
) AS Tantargyak
FROM #megtartottOrakSzama tmp
-- Csoport tanárai
SELECT
targy.C_NEV AS TargyNev
,tanar.C_NYOMTATASINEV AS TanarNev
,targykategoria.C_ORDER
,tanar.ID TanarId
,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
FROM T_FELHASZNALO_OSSZES tanar
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID
AND f.TOROLT='F'
AND f.C_OSZTALYCSOPORTID = @csoportId
INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID
AND targy.TOROLT='F'
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 tanar.C_INTEZMENYID = @intezmenyid
AND tanar.c_tanevId = @tanevId
GROUP BY
C_ORDER
,targy.C_NEV
,tanar.C_NYOMTATASINEV
,tanar.ID
,tanar.C_OKTATASIAZONOSITO
ORDER BY
C_ORDER
,targy.C_NEV
,tanar.C_NYOMTATASINEV
DROP TABLE #megtartottOrakSzama
DROP TABLE #students
DROP TABLE #Tantargyak
/* TANULÓ záradékai */
CREATE TABLE #Zaradekok(
TanuloId int
,TanuloCsoportId int
,KeltezesDatuma nvarchar(11)
,KeltezesHelye nvarchar(max)
,Bejegyzes nvarchar(max)
,BejegyzesIdegenNyelven nvarchar(max)
)
INSERT INTO #Zaradekok (
TanuloId
,TanuloCsoportId
,KeltezesDatuma
,KeltezesHelye
,Bejegyzes
,BejegyzesIdegenNyelven
) EXEC dbo.uspGetDokumentumTanuloZaradekai
@tanevId = @tanevId
,@osztalyId = @csoportId
,@zaradekTipusId = null
,@idegenNyelvId = 0
,@dokumentumTipusId = 1
SELECT
TanuloId
,TanuloCsoportId
,KeltezesDatuma
,KeltezesHelye
,Bejegyzes AS Zaradek
FROM #Zaradekok
END
GO