This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,302 @@
DROP PROCEDURE IF EXISTS dbo.sp_GetSzakmaiGyNaplo
GO
CREATE PROCEDURE [dbo].[sp_GetSzakmaiGyNaplo]
@tanevId int
,@intezmenyId int
,@csoportId int
,@iskolaErdekuSzamit bit
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #Tanulo (
Tanulo int
,Osztaly nvarchar(max)
,TanuloNeve nvarchar(255)
,TanuloOktAzon nvarchar(20)
,BelepesDatum DATETIME
)
CREATE TABLE #OraSorszam (
TanitasioraId int
,OraSorszam int
)
CREATE TABLE #mulasztas (
Csoport nvarchar(1)
,Tanulo int
,Oraszam int
)
CREATE TABLE #hianyzas (
Tanulo int
,Osztaly nvarchar(max)
,Honap int
,IgazoltE nvarchar(1)
)
CREATE TABLE #hianyzasOssz (
Osztaly int
,Honap int
,IgazoltE nvarchar(1)
)
CREATE TABLE #igazoltH (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
[11] int, [12] int)
CREATE TABLE #igazolatlanH (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
[11] int, [12] int)
CREATE TABLE #Igazolt (
Csoport int
,Osszes int
)
CREATE TABLE #IgazoltOsszesOsszes (
Csoport int
,Osszes int
)
--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 NapkozisCsoport
,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
,t.c_nev as Tanev
,cs.c_csoportnaploleiras as Megjegyzes
,ocs.ID NapkozisCsoportId
,f.ID CsoportVezetoId
,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
INNER JOIN T_CSOPORT_OSSZES cs on cs.ID = ocs.ID
LEFT JOIN T_FELHASZNALO_OSSZES f on f.ID = cs.C_CSOPORTVEZETOID
INNER JOIN T_TANEV_OSSZES t on t.ID = ia.C_TANEVID
WHERE i.ID = @intezmenyid
AND ia.C_TANEVID = @tanevid
AND ocs.ID = @csoportId
--Csoport tanulóinak osztályai
SELECT
COUNT(DISTINCT TanuloId) Tanulo
,dbo.fnGetDokumentumTanuloAktualisOsztaly(TanuloId) Osztaly
,dbo.fnGetDokumentumTanuloAktualisOsztalyId(TanuloId) OsztalyId
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T')
GROUP BY dbo.fnGetDokumentumTanuloAktualisOsztaly(TanuloId), dbo.fnGetDokumentumTanuloAktualisOsztalyId(TanuloId)
INSERT INTO #Tanulo
SELECT
ocst.TanuloId
,dbo.fnGetDokumentumTanuloAktualisOsztaly(ocst.TanuloId) /*TODO:Tobb Osztaly*//*OM-1600*/
,fh.C_NYOMTATASINEV
,fh.C_OKTATASIAZONOSITO
,ocst.BelepesDatum AS BelepesDatum
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T') AS ocst
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID=ocst.TanuloId AND fh.TOROLT='F'
DECLARE @datum date = getdate()
INSERT INTO #OraSorszam
EXEC [uspGetOraSorszamByOsztaly]
@osztalyCsoportId = @csoportId
,@datum = @datum
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
INSERT INTO #mulasztas
SELECT
'x' Csoport
,tm.c_oratanuloiid Tanulo
,oes.OraSorszam AS OraSzam
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES tao on tm.C_TANITASIORAKID=tao.ID and tao.C_TANEVID=@tanevid
LEFT JOIN #OraSorszam oes on oes.TanitasioraId=tao.ID
WHERE tao.C_OSZTALYCSOPORTID=@csoportId
AND tm.TOROLT='F'
AND tm.C_TANEVID=@tanevid
AND tm.C_INTEZMENYID=@intezmenyid
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
SELECT f.c_nyomtatasinev Tanulo, tanulo.Osztaly Osztaly, m.[1], m.[2], m.[3], m.[4], m.[5], m.[6], m.[7], m.[8], m.[9], m.[10],
m.[11], m.[12], m.[13], m.[14], m.[15], m.[16], m.[17], m.[18],m.[19],m.[20],
m.[21], m.[22], m.[23], m.[24], m.[25], m.[26], m.[27], m.[28],m.[29],m.[30],
m.[31], m.[32], m.[33], m.[34], m.[35], m.[36], m.[37], m.[38],m.[39],m.[40],
m.[41], m.[42], m.[43], m.[44], m.[45], m.[46], m.[47], m.[48],m.[49],m.[50],
osszesM.Osszes, tanulo.BelepesDatum
FROM #Tanulo tanulo
LEFT JOIN (select * from #mulasztas mulasztas pivot (max(Csoport) for Oraszam in ([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], [26], [27], [28],[29],[30],
[31], [32], [33], [34], [35], [36], [37], [38],[39],[40],
[41], [42], [43], [44], [45], [46], [47], [48],[49],[50])) pv)m on m.Tanulo=tanulo.Tanulo
INNER JOIN T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
LEFT JOIN (select Tanulo, count(Csoport) as Osszes from #mulasztas m group by Tanulo) osszesM on osszesM.Tanulo=tanulo.Tanulo
order by f.c_nyomtatasinev
--napló
declare @letszam int=(select count(tcs.c_tanuloid) from T_TANULOCSOPORT_OSSZES tcs where tcs.c_osztalycsoportid=@csoportId and tcs.Torolt='F')
SELECT
tao.Id TanitasioraId
,dbo.fnGetDokumentumDatumFormatum(tao.C_DATUM) Datum
,C_ORATULAJDONOSID PedagogusId
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV) PedagogusNev
,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt') Tema
,@letszam-isnull(hianyzo.Hianyzok,0) as Letszam
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) TantargyNev
,tao.C_TANTARGYID TantargyId
,tao.C_MEGTARTOTT Megtartott
,C_OSZTALYCSOPORTID OsztalyCsoportId
INTO #megtartottOrak
FROM T_TANITASIORA_OSSZES tao
LEFT JOIN (
SELECT
tm.c_tanitasiorakid as Tanitasiora
,count(tm.c_oratanuloiid) Hianyzok
FROM T_TANULOMULASZTAS_OSSZES tm
WHERE tm.TOROLT='F'
GROUP BY tm.c_tanitasiorakid) hianyzo ON hianyzo.Tanitasiora=tao.id
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 = 'T'
WHERE C_OSZTALYCSOPORTID = @csoportId
AND tao.TOROLT = 'F'
ORDER BY tao.C_DATUM
SELECT * FROM #megtartottOrak
--hiányzások
INSERT INTO #hianyzas
SELECT
Tanulo
,Osztaly
,datepart(month,tao.c_datum) as Honap
,tm.c_igazolt as IgazoltE
FROM #Tanulo tanulo
LEFT JOIN T_TANULOMULASZTAS_OSSZES tm on tm.C_ORATANULOIID=tanulo.Tanulo AND tm.TOROLT='F' AND tm.C_TANEVID=@tanevid
LEFT JOIN T_TANITASIORA_OSSZES tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_TANEVID=@tanevid
WHERE tao.C_OSZTALYCSOPORTID=@csoportId
AND tao.TOROLT='F'
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
SELECT f.c_nyomtatasinev as Tanulo, tanulo.Osztaly Osztaly,
--igazolt
iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
--igazolatlan
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12,
igazolt.Igazolt, igazolatlan.Igazolatlan, tanulo.BelepesDatum
FROM #Tanulo tanulo
LEFT JOIN (select pv.* from #hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='T')i on tanulo.Tanulo=i.Tanulo
LEFT JOIN (select pv.* from #hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='F')ni on tanulo.Tanulo=ni.Tanulo
LEFT JOIN (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolt from #hianyzas hianyzas where hianyzas.IgazoltE='T' group by hianyzas.Tanulo) igazolt on igazolt.Tanulo=tanulo.Tanulo
LEFT JOIN (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolatlan from #hianyzas hianyzas where hianyzas.IgazoltE='F' group by hianyzas.Tanulo) igazolatlan on igazolatlan.Tanulo=tanulo.Tanulo
INNER JOIN T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
--Mulasztások összesen
insert into #hianyzasOssz
select @csoportId, datepart(month,tao.c_datum) as Honap, tm.c_igazolt as IgazoltE from #Tanulo tanulo
left join T_TANULOMULASZTAS_OSSZES tm on tm.c_oratanuloiid=tanulo.Tanulo and tm.torolt='F' and tm.c_tanevid=@tanevid
left join T_TANITASIORA_OSSZES tao on tao.id=tm.c_tanitasiorakid and tao.c_tanevid=@tanevid
where
tao.c_osztalycsoportid=@csoportId
and tao.torolt='F'
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
insert into #igazoltH
select @csoportId, iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12]
from #hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))i where i.IgazoltE='T'
--Mulasztott órák összesen
insert into #igazolatlanH
select @csoportId, iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
from #hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))ni where ni.IgazoltE='F'
select iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
from #igazolth i
left join #igazolatlanH ni on i.Csoport=ni.csoport
--Mulasztó tanulók szama
INSERT INTO #Igazolt
SELECT
@csoportId as Id
,count(Tanulo) as IgazoltOsszes
FROM (select distinct tanulo from #hianyzas where IgazoltE='T')m
SELECT
i.Osszes IgazoltOsszes
,ni.Osszes IgazolatlanOsszes
FROM #Igazolt i
left join (select @csoportId as Id, count(Tanulo) as Osszes from (select distinct tanulo from #hianyzas where IgazoltE='F')m) ni on ni.Id=i.Csoport
--Mulasztott órák összesen-összesen
INSERT INTO #IgazoltOsszesOsszes
SELECT
@csoportId
,count(IgazoltE)
FROM #hianyzasOssz
WHERE IgazoltE='T'
select
ioo.Osszes IgazoltOsszesOsszes
,nioo.Osszes as IgazolatlanOsszesOsszes
from #IgazoltOsszesOsszes ioo
LEFT JOIN (select @csoportId as Id, count(IgazoltE) Osszes from #hianyzasOssz where IgazoltE='F') nioo on nioo.Id=ioo.Csoport
--Megtartott órák száma
SELECT
COUNT(TantargyId) TantargyOraszam
,Tantargynev TantargyNev
INTO #MegtartottOrakSzama
FROM #megtartottOrak
WHERE Megtartott = 'T'
GROUP BY TantargyId, TantargyNev
SELECT DISTINCT
SUM(tmp.TantargyOraszam) OsszesTantargySzam
,STUFF((
SELECT DISTINCT ', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS nvarchar(MAX)) + ')'
FROM #MegtartottOrakSzama btmp
FOR XML PATH(''), TYPE) .value('.','nvarchar(MAX)'),1,2,'') Tantargyak
FROM #MegtartottOrakSzama tmp
-- Csoport tanárai
SELECT
targy.C_NEV TargyNev
,tanar.C_NYOMTATASINEV TanarNev
,targykategoria.C_ORDER
,tanar.ID TanarId
,tanar.C_OKTATASIAZONOSITO 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.C_GYAKORLATI = 'T' 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 f.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
-- Csoport tanulói
SELECT * FROM #Tanulo
END
GO

View File

@@ -0,0 +1,673 @@
DROP PROCEDURE IF EXISTS uspGetNapkozisNaplo
GO
CREATE PROCEDURE uspGetNapkozisNaplo
@tanevId int
,@intezmenyId int
,@csoportId int
,@iskolaErdekuSzamit bit
AS BEGIN
SET NOCOUNT ON;
DECLARE
@elsonap date
,@utolsonap date
,@FelevVege date
,@datum date = GETDATE()
CREATE TABLE #OraSorszam (
TanitasioraId int PRIMARY KEY
,OraSorszam int
)
--Tanulók adatai, elérhetőségei
CREATE TABLE #tanulok (
Id int
,TanuloCsoportId int
,Nev nvarchar (max)
,Osztaly nvarchar (max)
,OsztalyId int
,Sorszam nvarchar (max)
,beirasiSorszam nvarchar (max)
,Torzslapszam nvarchar (max)
,Allampolgarsaga nvarchar (max)
,DiakIg nvarchar (max)
,SzulHely nvarchar (max)
,SzulIdo nvarchar (max)
,Anyja nvarchar (max)
,Taj nvarchar (max)
,OktAzon nvarchar (max)
,Kilepes nvarchar (max)
,Kepzes nvarchar (max)
,TanuloCimTipus nvarchar (max)
,TanuloCim nvarchar (max)
,TanuloEmail nvarchar (max)
,szoc nvarchar (max)
,BelepesDatum datetime
)
DECLARE @Mulasztasok TABLE (
IgazoltE nvarchar (1)
,Tanulo int
,Tipus int
)
DECLARE @GondViseloCimTable TABLE (
GondviseloId int
,Cim nvarchar (max)
,Cimtipusa nvarchar (max)
)
DECLARE @EmailCimTableTemp TABLE (
FelhasznaloId int
,EmailCim nvarchar (max)
,GondviseloId int
)
DECLARE @EmailCimGondviseloTable TABLE (
GondviseloId int
,EmailCim nvarchar (max)
)
DECLARE @TelefonTableTemp TABLE (
FelhasznaloId int
,Telefon nvarchar (max)
,GondviseloId int
)
DECLARE @GondviseloTelefonTable TABLE (
GondviseloId int
,Telefon nvarchar (max)
)
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'
INSERT INTO #tanulok (
Id
,TanuloCsoportId
,Nev
,Osztaly
,OsztalyId
,Sorszam
,beirasiSorszam
,Torzslapszam
,Allampolgarsaga
,DiakIg
,SzulHely
,SzulIdo
,Anyja
,Taj
,OktAzon
,Kilepes
,Kepzes
,TanuloCimTipus
,TanuloCim
,TanuloEmail
,szoc
,BelepesDatum
)
SELECT DISTINCT
tanulok.TanuloId AS Id
,tanulok.TanuloCsoportId
,IIF(KilepesDatum IS NOT NULL, f.C_NYOMTATASINEV + ' (kilépett)', f.C_NYOMTATASINEV) AS Nev
,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.Id) AS Osztaly
,dbo.fnGetDokumentumTanuloAktualisOsztalyId(t.Id) AS OsztalyId
,tta.C_NAPLOSORSZAM AS NaploSorszam
,tta.C_BEIRASINAPLOSORSZAM AS beirasiSorszam
,tta.C_TORZSLAPSZAM AS TorzsLapSzam
,Allampolgarsaga.C_NAME AS Allampolgarsag
,t.C_DIAKIGAZOLVANYSZAM AS DiakIg
,f.C_SZULETESIHELY AS SzulHely
,FORMAT(f.c_szuletesidatum, 'yyyy.MM.dd.') AS SzulIdo
,f.C_ANYJANEVE AS Anyja
,f.C_TAJSZAM AS Taj
,f.C_OKTATASIAZONOSITO AS OktAzon
,FORMAT(KilepesDatum, 'yyyy.MM.dd.') AS Kilepes
,tt.c_nev AS Kepzes
,cim.Tipus
,cim.cim
,email.c_emailcim AS TanuloEmail
,STUFF(
IIF(tta.C_MAGANTANULO = 'T', ', Magántanuló (' + ISNULL(MagantanulosagOka.C_NAME, '-') + ')', '')
+ IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', ', Jogviszony szüneteltetve', '')
+ IIF(tta.C_SZAKMAIGYAKORLATON = 'T', ', Szakmai gyakorlat', '')
+ IIF(t.C_SZOCIALISTAMOGATAS = 'T', ', Szociális támogatás', ''), 1, 2, ''
) AS szoc
,tanulok.BelepesDatum AS BelepesDatum
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T') tanulok
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id = tanulok.TanuloId
AND f.torolt = 'F'
INNER JOIN T_TANULO_OSSZES t ON t.ID = f.ID
INNER JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@csoportId, DEFAULT) tta ON tta.TanuloId = t.ID
INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = tta.C_TANTERVID
AND tt.TOROLT = 'F'
AND tt.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES Allampolgarsaga ON Allampolgarsaga.Id = f.c_allampolgarsaga
AND Allampolgarsaga.C_TANEVID = @tanevId
AND Allampolgarsaga.TOROLT = 'F'
LEFT JOIN (
SELECT DISTINCT
TanuloId AS TanuloId
,cimTipusa.C_NAME AS Tipus
,STUFF(
(
SELECT DISTINCT
CAST(Btemp.Cim AS nvarchar(max)) + char(13) + char(10)
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @csoportid) btemp
WHERE temp.TanuloId = btemp.TanuloId
AND temp.CimTipusa = btemp.CimTipusa
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1, 0, ''
) AS Cim
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @csoportid) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS cimTipusa ON cimTipusa.Id = temp.CimTipusa
AND cimTipusa.C_TANEVID = @tanevId
AND cimTipusa.TOROLT = 'F'
WHERE temp.CimTipusa = 907
) AS cim ON cim.TanuloId = tanulok.TanuloId
LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid = f.id
AND tel.c_gondviseloid IS NULL
AND tel.torolt = 'F'
AND tel.c_alapertelmezett = 'T'
LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid = tanulok.TanuloId
AND email.c_gondviseloid IS NULL
AND email.torolt = 'F'
AND email.c_alapertelmezett = 'T'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS MagantanulosagOka ON MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID
AND MagantanulosagOka.C_TANEVID = f.C_TANEVID
AND MagantanulosagOka.TOROLT = 'F'
--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 NapkozisCsoport
,IIF(LEN(ocs.c_nev) > 17, SUBSTRING(ocs.c_nev, 1, 17) + '...', ocs.c_nev) AS RovidNev
,ISNULL(f.c_nyomtatasinev, '-') AS CsoportVezeto
,ISNULL(cs.c_csoportnaploleiras, '-') AS CsoportNaploLeiras
,FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy.MM.dd.') AS Megnyitas
,ISNULL(FORMAT(cs.c_csoportnaplozarasa, 'yyyy.MM.dd.'), '-') AS Lezaras
,ocs.ID AS NapkozisCsoportId
,f.ID AS CsoportVezetoId
,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
AND ocs.id = @csoportId
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
--Csoportot vezette
SELECT
ISNULL(f.c_nyomtatasinev, '-') AS CsoportVezeto
FROM T_CSOPORT_OSSZES cs
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid
WHERE cs.id = @csoportId
AND cs.c_altanevid = @tanevid
AND cs.c_alintezmenyid = @intezmenyid
--Tanulók
SELECT DISTINCT
Nev
,Osztaly
,OktAzon
,OsztalyId
,BelepesDatum
FROM #tanulok
ORDER BY
Nev
--Naplóhetek
SELECT TOP 1
@elsonap = t.C_KEZDONAP
FROM T_TANEV_OSSZES t
WHERE t.ID = @tanevId
AND t.TOROLT = 'F'
IF (
SELECT
c_osztalycsoportid
FROM T_OSZTALYCSOPORT_TANEVRENDJE otr
INNER JOIN t_tanevrendje_osszes tr ON tr.id = otr.c_tanevrendjeid
AND tr.c_naptipusa = 1395
WHERE c_osztalycsoportid = @csoportid
) IS NULL
SELECT TOP 1
@utolsonap = tr.c_datum
FROM t_tanevrendje_osszes tr
WHERE c_naptipusa = 1395
AND c_tanevid = @tanevId
AND c_intezmenyid = @intezmenyId
AND torolt = 'F'
AND c_osszescsoportravonatkozik = 'T'
ELSE
SELECT TOP 1
@utolsonap = tr.c_datum
FROM T_OSZTALYCSOPORT_TANEVRENDJE otr
INNER JOIN t_tanevrendje_osszes tr ON tr.id = otr.c_tanevrendjeid
AND tr.c_naptipusa = 1395
WHERE c_osztalycsoportid = @csoportid
SELECT
nn.C_HETSORSZAMA AS Het
,FORMAT(MIN(nn.C_NAPDATUMA), 'yyyy.MM.dd.') AS HetEleje
,FORMAT(MAX(nn.C_NAPDATUMA), 'yyyy.MM.dd.') AS HetVege
FROM T_NAPTARINAP_OSSZES nn
WHERE nn.C_NAPDATUMA BETWEEN @elsoNap AND @utolsoNap
AND nn.TOROLT = 'F'
AND nn.c_tanevId = @tanevId
GROUP BY
nn.C_HETSORSZAMA
ORDER BY
MIN(nn.C_NAPDATUMA)
--Tanuló adatok
SELECT
*
FROM #tanulok
ORDER BY
Nev
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 AS Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
SELECT
ta.TanuloId AS Id
,ta.TanuloCsoportId
,ta.Sorszam
,ta.TorzslapSzam
,ta.OktAzon
,ta.TajSzam
,ta.AnyjaNeve
,ta.SzulHely
,ta.SzulIdo
,ta.SocAdat
,ta.Kepzes
,ta.TanuloNeve
,ta.Allampolgarsaga
,ta.DiakIgazolvanySzam
,ta.KilepesDatum
,ta.BeirasiNaploSorszam
,ta.AdottOsztaly AS Osztaly
,ta.AdottOsztalyId AS OsztalyId
,CONVERT(DATE, LEFT(ta.BelepesDatum, LEN(ta.BelepesDatum) - 1), 102) AS BelepesDatum
INTO #studentsWithTanuloCsoport
FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) ta
EXEC sp_GetDokumentumMulasztasokIdoszakonkent
@tanevId = @tanevId
,@osztalyCsoportId = @csoportId
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
,@isReszletesMulasztasok = 0
--Napló
SELECT DISTINCT
nn.c_hetsorszama AS Het
,d.c_name AS Nap
,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
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 T_DICTIONARYITEMBASE_OSSZES d ON d.id = nn.c_hetnapja
AND d.C_TANEVID = @tanevId
AND d.TOROLT = 'F'
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.c_foglalkozasid
AND fog.c_tanevid = @tanevid
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = fog.c_tanarid
AND f.torolt = 'F'
WHERE nn.c_napdatuma >= @elsonap
AND nn.c_napdatuma <= @utolsonap
ORDER BY
nn.c_hetsorszama
,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')
--Napló adatok
INSERT INTO #OraSorszam (
TanitasioraId
,OraSorszam
)
EXEC uspGetOraSorszamByOsztaly
@osztalyCsoportId = @csoportId
,@datum = @datum
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
SELECT DISTINCT
tao.C_ORASZAM AS Oraszam
,tao.C_HETSORSZAMA AS Het
,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
,CONVERT(varchar(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(varchar(5), tao.C_ORAVEGE, 108) AS DatumKezdettel
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, f.C_NYOMTATASINEV) AS Tanar
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS TantargyNev
,tao.C_TANTARGYID AS TantargyId
,tao.C_MEGTARTOTT AS Megtartott
,tao.C_TEMA AS Tema
,OraSorszam
,C_ORAKEZDETE
INTO #megtartottOrak
FROM T_TANITASIORA_OSSZES tao
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.C_FOGLALKOZASID
AND fog.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = tao.C_TANARID
AND f.TOROLT = 'F'
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
OraSorszam
,TanitasioraId
FROM #OraSorszam
) AS oraSorszam ON oraSorszam.TanitasioraId = tao.Id
WHERE tao.C_OSZTALYCSOPORTID = @csoportid
AND tao.TOROLT = 'F'
ORDER BY
tao.C_ORAKEZDETE
,tao.C_ORASZAM
SELECT
*
FROM #megtartottOrak
--Napló mulasztás
SELECT
C_HETSORSZAMA AS Het
,C_NYOMTATASINEV AS Tanulo
,MAX([1]) AS Hetfo
,MAX([2]) AS Kedd
,MAX([3]) AS Szerda
,MAX([4]) AS Csutortok
,MAX([5]) AS Pentek
,MAX([6]) AS Szombat
FROM (
SELECT
C_HETSORSZAMA
,C_NYOMTATASINEV
,[0]
,[1]
,[2]
,[3]
,[4]
,[5]
,[6]
FROM (
SELECT DISTINCT
n.C_NAPTARINAPID
,DATEPART(dw, n.C_DATUM) AS NAP
,t.C_NYOMTATASINEV
,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
LEFT JOIN (
SELECT DISTINCT
OraSorszam
,TanitasioraId
FROM #OraSorszam
) AS 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 tm.c_intezmenyId = @intezmenyId
AND o.c_tanevId = @tanevId
AND o.C_OSZTALYCSOPORTID = @csoportId
AND o.TOROLT = 'F'
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 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 n.C_OSZTALYCSOPORTID = @csoportId
AND n.TOROLT = 'F'
GROUP BY
n.C_NAPTARINAPID
,C_ORATANULOIID
,C_NYOMTATASINEV
,n.C_HETSORSZAMA
,n.C_DATUM
) AS SUB PIVOT(MAX(HIANYZAS) FOR NAP IN(
[0]
,[1]
,[2]
,[3]
,[4]
,[5]
,[6])) AS PivotTable
) AS ASD
GROUP BY
C_HETSORSZAMA
,C_NYOMTATASINEV
ORDER BY
C_HETSORSZAMA
--Tanuló feljegyzései
SELECT
tte.C_TANULOID AS Tanulo
,FORMAT(tao.c_datum, 'yyyy.MM.dd.') AS Idopont
,d.C_NAME AS Tipus
,te.C_TARTALOM AS Feljegyzes
,f.C_NYOMTATASINEV AS Feljegyzo
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.Id = tte.C_TANULOESEMENYID
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.Id = te.C_TANITASIORAID
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = te.C_FELJEGYZOID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.Id = te.C_TIPUS
AND d.C_TANEVID = @tanevId
AND d.TOROLT = 'F'
WHERE C_OSZTALYCSOPORTID = @csoportId
AND te.TOROLT = 'F'
AND C_TIPUS <> 1534
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) 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) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
AND cimTipusa.C_TANEVID = @tanevId
INSERT INTO @EmailCimTableTemp (
FelhasznaloId
,EmailCim
,GondviseloId
)
SELECT
TanuloId
,C_EMAILCIM
,C_GONDVISELOID
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 @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
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
) Email
FROM @EmailCimTableTemp temp
WHERE GondviseloId IS NOT NULL
INSERT INTO @TelefonTableTemp (
FelhasznaloId
,Telefon
,GondviseloId
)
SELECT
TanuloId
,C_TELEFONSZAM
,C_GONDVISELOID
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 @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 GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
)
FROM @TelefonTableTemp temp
WHERE GondviseloId IS NOT NULL
/*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
--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
END
GO

View File

@@ -0,0 +1,203 @@
DROP PROCEDURE IF EXISTS uspGetOraSorszamByOsztaly
GO
CREATE PROCEDURE uspGetOraSorszamByOsztaly
@osztalyCsoportId int
,@datum date
,@intezmenyId int
,@tanevId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@tanarSzamit bit
,@osztalybontasEgybe bit
,@osztalybontasCsoport bit
,@osszerendelesId int
,@kezdoErtek int
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
SET @osztalybontasCsoport = 0
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE TOROLT='F' AND ((ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId))
BEGIN
SET @osztalybontasCsoport = 1
END
IF (@osztalybontasEgybe = 1 AND @osztalybontasCsoport = 1)
BEGIN
CREATE TABLE #kapcsolodoOsztalyCsoportok (OsztalyCsoportId int)
INSERT INTO #kapcsolodoOsztalyCsoportok (OsztalyCsoportId)
SELECT cs.ID
FROM T_CSOPORT_OSSZES cs
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId) AND cs.TOROLT='F'
UNION
SELECT cs.C_OSZTALYBONTASID
FROM T_CSOPORT_OSSZES cs
WHERE cs.ID = @osztalyCsoportId AND cs.TOROLT='F'
UNION
SELECT cs.ID
FROM T_CSOPORT_OSSZES cs
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId AND cs.TOROLT='F'
UNION
SELECT @osztalyCsoportId
END
SELECT
@osszerendelesId = h.ID
FROM T_ORASORSZAMOZASHALMAZ_OSSZES h
INNER JOIN T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh ON h.ID = oh.C_ORASORSZAMOZASHALMAZID
AND oh.C_OSZTALYCSOPORTID = @osztalycsoportId
AND oh.TOROLT='F'
WHERE h.TOROLT='F'
--Van összerendelés
IF @osszerendelesId IS NOT NULL BEGIN
SELECT
@tanarSzamit = IIF(C_KOZOSORASORSZAMOZASELTEROTAN = 'T',1,0)
,@kezdoErtek = ISNULL(C_KEZDOERTEK-1,0)
FROM T_ORASORSZAMOZASHALMAZ_OSSZES
WHERE ID = @osszerendelesId AND TOROLT='F'
IF @tanarSzamit = 1 BEGIN
SELECT
ID
,ROW_NUMBER() OVER(PARTITION BY C_TANARID,C_TANTARGYID ORDER BY C_ORAKEZDETE,C_NEV)+IIF(C_TANTARGYID = -1, @kezdoErtek, 0) OraSorszam
FROM(
SELECT
tao.ID
,tao.C_ORAKEZDETE
,tao.C_TANTARGYID
,ocs.C_NEV
,tao.C_TANARID
FROM T_TANITASIORA_OSSZES tao
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
WHERE tao.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND tao.C_DATUM <= @datum
AND tao.C_SORSZAMOZANDO = 'T'
AND tao.TOROLT='F'
AND tao.C_MEGTARTOTT = 'T'
AND NOT EXISTS (
SELECT 1
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES
WHERE C_ORASORSZAMOZASHALMAZID = @osszerendelesId
AND C_TANTARGYID = tao.C_TANTARGYID
AND C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID
AND TOROLT='F'
)
UNION ALL
SELECT
tao.ID
,tao.C_ORAKEZDETE
,-1 as C_TANTARGYID
,ocs.C_NEV
,tao.C_TANARID
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.C_TANTARGYID = oh.C_TANTARGYID AND tao.C_OSZTALYCSOPORTID = oh.C_OSZTALYCSOPORTID
AND tao.C_SORSZAMOZANDO = 'T' AND tao.C_MEGTARTOTT ='T' AND tao.TOROLT='F' AND tao.C_DATUM <= @datum
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.TOROLT='F' AND ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
WHERE oh.C_ORASORSZAMOZASHALMAZID = @osszerendelesId
AND oh.TOROLT='F'
) MindenOra
END
ELSE BEGIN
SELECT
ID
,ROW_NUMBER() OVER(PARTITION BY C_TANTARGYID ORDER BY C_ORAKEZDETE,C_NEV)+IIF(C_TANTARGYID = -1, @kezdoErtek, 0) OraSorszam
FROM(
SELECT
tao.ID
,tao.C_ORAKEZDETE
,tao.C_TANTARGYID
,ocs.C_NEV
FROM T_TANITASIORA_OSSZES tao
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
WHERE tao.C_OSZTALYCSOPORTID = @osztalycsoportId
AND tao.C_DATUM <= @datum
AND tao.C_SORSZAMOZANDO = 'T'
AND tao.C_MEGTARTOTT = 'T'
AND tao.TOROLT='F'
AND NOT EXISTS (
SELECT 1
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES
WHERE C_ORASORSZAMOZASHALMAZID = @osszerendelesId
AND C_TANTARGYID = tao.C_TANTARGYID
AND C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID
AND TOROLT='F'
)
UNION ALL
SELECT
tao.ID
,tao.C_ORAKEZDETE
,-1 as C_TANTARGYID
,ocs.C_NEV
FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.C_TANTARGYID = oh.C_TANTARGYID AND tao.C_OSZTALYCSOPORTID = oh.C_OSZTALYCSOPORTID
AND tao.C_SORSZAMOZANDO = 'T' AND tao.C_MEGTARTOTT ='T' AND tao.TOROLT='F' AND tao.C_DATUM <= @datum
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.TOROLT='F' AND ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
WHERE oh.C_ORASORSZAMOZASHALMAZID = @osszerendelesId AND oh.TOROLT='F'
) MindenOra
END
END
ELSE
BEGIN
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
IF @tanarSzamit = 1 BEGIN
SELECT
t.ID AS TanitasiOraId
,ROW_NUMBER() OVER (PARTITION BY t.C_TANARID, t.C_TANTARGYID ORDER BY t.C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
FROM T_TANITASIORA_OSSZES t
WHERE t.C_MEGTARTOTT = 'T'
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_DATUM <= @datum
AND t.TOROLT = 'F'
AND t.C_INTEZMENYID = @intezmenyid
AND t.C_TANEVID = @tanevId
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
END
ELSE BEGIN
SELECT
t.ID AS TanitasiOraId
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
FROM T_TANITASIORA_OSSZES t
WHERE t.C_MEGTARTOTT = 'T'
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND t.C_DATUM <= @datum
AND t.TOROLT = 'F'
AND t.C_INTEZMENYID = @intezmenyid
AND t.C_TANEVID = @tanevId
END
END
ELSE BEGIN
IF @tanarSzamit = 1 BEGIN
SELECT
t.ID AS TanitasiOraId
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID,t.C_TANARID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
FROM T_TANITASIORA_OSSZES t
WHERE t.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM #kapcsolodoOsztalyCsoportok)
AND t.C_DATUM <= @datum
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_MEGTARTOTT = 'T'
AND t.TOROLT = 'F'
AND t.C_INTEZMENYID = @intezmenyid
AND t.C_TANEVID = @tanevId
END
ELSE BEGIN
SELECT
t.ID AS TanitasiOraId
,ROW_NUMBER() OVER (PARTITION BY t.C_TANTARGYID ORDER BY C_ORAKEZDETE, C_BEJEGYZESIDEJE) AS OraSorszam
FROM T_TANITASIORA_OSSZES t
WHERE t.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportId FROM #kapcsolodoOsztalyCsoportok)
AND t.C_DATUM <= @datum
AND t.C_SORSZAMOZANDO = 'T'
AND t.C_MEGTARTOTT = 'T'
AND t.TOROLT = 'F'
AND t.C_INTEZMENYID = @intezmenyid
AND t.C_TANEVID = @tanevId
END
END
END
END
GO

View File

@@ -0,0 +1,443 @@
DROP PROCEDURE IF EXISTS uspGetTanoranKivuliNaplo
GO
CREATE PROCEDURE uspGetTanoranKivuliNaplo
@tanevId int
,@intezmenyId int
,@csoportId int
,@iskolaErdekuSzamit bit
AS BEGIN
SET NOCOUNT ON;
DECLARE
@datum date = GETDATE()
,@letszam int
CREATE TABLE #students (
ID int
,Osztaly nvarchar (max)
,OsztalyId int
,BelepesDatum datetime
)
CREATE TABLE #OraSorszam (
TanitasioraId int
,OraSorszam nvarchar (100)
)
CREATE TABLE #TanuloCimTable (
FelhasznaloId int
,Cim nvarchar (max)
,Cimtipusa nvarchar (max)
)
CREATE TABLE #GondViseloCimTable (
GondviseloId int
,Cim nvarchar (max)
,Cimtipusa nvarchar (max)
)
CREATE TABLE #EmailCimTableTemp (
FelhasznaloId int
,EmailCim nvarchar (max)
,GondviseloId int
)
CREATE TABLE #EmailCimTanuloTable(
FelhasznaloId int
,EmailCim nvarchar (max)
)
CREATE TABLE #EmailCimGondviseloTable (
GondviseloId int
,EmailCim nvarchar (max)
)
CREATE TABLE #TelefonTableTemp(
FelhasznaloId int
,Telefon nvarchar (max)
,GondviseloId int
)
CREATE TABLE #TanuloTelefonTable(
FelhasznaloId int
,Telefon nvarchar (max)
)
CREATE TABLE #GondviseloTelefonTable (
GondviseloId int
,Telefon nvarchar (max)
)
SELECT
@letszam = COUNT(tcs.C_TANULOID)
FROM T_TANULOCSOPORT_OSSZES tcs
WHERE tcs.C_OSZTALYCSOPORTID = @csoportId
AND tcs.TOROLT='F'
--Fejlecoldal (Fejléc)
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
,dbo.fnGetDokumentumDatumFormatum(cs.C_CSOPORTNAPLOMEGNYITASA) AS Megnyitas
,ISNULL(dbo.fnGetDokumentumDatumFormatum(cs.C_CSOPORTNAPLOZARASA),'-') AS Lezaras
,t.C_NEV AS Tanev
,cs.C_CSOPORTNAPLOLEIRAS AS Megjegyzes
,f.ID AS CsoportVezetoId
,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
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = cs.C_CSOPORTVEZETOID
INNER JOIN T_TANEV_OSSZES t ON t.ID = ia.C_TANEVID
WHERE ia.C_TANEVID = @tanevid
AND ocs.ID = @csoportId
INSERT INTO #students (
ID
,Osztaly
,OsztalyId
,BelepesDatum
)
SELECT
TanuloId
,dbo.fnGetDokumentumTanuloAktualisOsztaly(TanuloId) AS Osztaly
,dbo.fnGetDokumentumTanuloAktualisOsztalyId(TanuloId) AS OsztalyId
,BelepesDatum AS BelepesDatum
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportId, 'T')
--Osztaly (Csoport tanulóinak osztályai)
SELECT
COUNT(Id) AS Tanulo
,Osztaly
,OsztalyId
FROM #students
GROUP BY
Osztaly
,OsztalyId
--Napló
INSERT INTO #OraSorszam (
TanitasioraId
,OraSorszam
)
EXEC uspGetOraSorszamByOsztaly
@osztalyCsoportId = @csoportId
,@datum = @datum
,@intezmenyId = @intezmenyId
,@tanevId = @tanevId
SELECT
dbo.fnGetDokumentumDatumFormatum(tao.C_ORAKEZDETE) + CONVERT(varchar(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(varchar(5), tao.C_ORAVEGE, 108) AS Datum
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN
+ ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS TantargyNev
,tao.C_TANTARGYID AS TantargyId
,tao.C_MEGTARTOTT AS Megtartott
,IIF(C_MEGTARTOTT = 'F', 'Elmaradt', tao.C_TEMA) AS Tema
,@letszam - ISNULL(hianyzo.Hianyzok, 0) AS Letszam
,IIF(C_MEGTARTOTT = 'F', '-', f.C_NYOMTATASINEV) AS Pedagogus
,Terem.C_NEV AS TeremNev
,ISNULL(Oraszam.OraSorszam + '.', '-') AS OraSorszam
,tao.C_ORAKEZDETE AS OraKezdete
INTO #megtartottOrak
FROM T_TANITASIORA_OSSZES tao
LEFT JOIN (
SELECT
tm.C_TANITASIORAKID AS Tanitasiora
,COUNT(tm.C_ORATANULOIID) AS Hianyzok
FROM T_TANULOMULASZTAS_OSSZES tm
WHERE tm.torolt = 'F'
AND C_TIPUS IN (1499, 1500)
GROUP BY tm.C_TANITASIORAKID
) hianyzo ON hianyzo.Tanitasiora = tao.ID
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = tao.C_ORATULAJDONOSID
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
LEFT JOIN T_TEREM_OSSZES Terem ON Terem.Id = tao.C_TEREMID
LEFT JOIN #OraSorszam Oraszam ON Oraszam.TanitasioraId = tao.Id
WHERE tao.C_OSZTALYCSOPORTID = @csoportId
AND tao.TOROLT='F'
SELECT
Datum
,TantargyNev
,TantargyId
,Megtartott
,Tema
,Letszam
,Pedagogus
,TeremNev
,OraSorszam
,OraKezdete
FROM #megtartottOrak
ORDER BY OraKezdete
/*TANULÓ adatai*/
SELECT DISTINCT
ta.TanuloId
,ta.OktAzon
,ta.TajSzam
,ta.AnyjaNeve
,ta.SzulHely
,ta.SzulIdo
,ta.SocAdat
,ta.Kepzes
,ta.TanuloNeve
,ta.Allampolgarsaga
,ta.DiakIgazolvanySzam
,ta.AktualisOsztaly Osztalya
,ta.BelepesDatum
FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) ta
ORDER BY TanuloNeve
/*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) 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) 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) 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) temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
AND cimTipusa.C_TANEVID = @tanevId
INSERT INTO #EmailCimTableTemp (
FelhasznaloId
,EmailCim
,GondviseloId
)
SELECT
TanuloId
,C_EMAILCIM
,C_GONDVISELOID
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
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
) Email
FROM #EmailCimTableTemp temp
WHERE GondviseloId IS NOT NULL
INSERT INTO #TelefonTableTemp (
FelhasznaloId
,Telefon
,GondviseloId
)
SELECT
TanuloId
,C_TELEFONSZAM
,C_GONDVISELOID
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 GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE
).value
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
)
FROM #TelefonTableTemp temp
WHERE GondviseloId IS NOT NULL
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
/*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
--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
END
GO