445 lines
No EOL
19 KiB
Transact-SQL
445 lines
No EOL
19 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNapkozisNaplo]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetNapkozisNaplo]
|
|
@tanevId INT
|
|
,@intezmenyId INT
|
|
,@csoportId INT
|
|
,@iskolaErdekuSzamit BIT
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
--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
|
|
)
|
|
|
|
|
|
INSERT INTO #tanulok
|
|
SELECT DISTINCT
|
|
tanulok.TanuloId Id
|
|
,tanulok.TanuloCsoportId
|
|
,iif(KilepesDatum IS NOT NULL,f.C_NYOMTATASINEV+' (kilépett)', f.C_NYOMTATASINEV) as Nev
|
|
,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.Id) as Osztaly /*TODO:Tobb Osztaly*//*OM-1651*/
|
|
,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 TanuloId
|
|
,cimTipusa.C_NAME 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,'') Cim
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) temp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId AND cimTipusa.TOROLT = 'F'
|
|
WHERE temp.CimTipusa = 907
|
|
)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 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 NapkozisCsoport, iif(len(ocs.c_nev)>17, SUBSTRING (ocs.c_nev, 1 , 17)+'...', ocs.c_nev) 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 NapkozisCsoportId
|
|
,f.ID CsoportVezetoId
|
|
,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296) AS EvfolyamTipusa -- 1296 = Na
|
|
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
|
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
|
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
|
,cs.C_TIPUSA 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
|
|
DECLARE @elsonap as date
|
|
DECLARE @utolsonap as date
|
|
|
|
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=1394
|
|
WHERE c_osztalycsoportid=@csoportid
|
|
) IS NULL begin
|
|
SET @elsonap= (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1394 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T')
|
|
END
|
|
ELSE BEGIN
|
|
SET @elsonap = (
|
|
SELECT top 1 tr.C_DATUM
|
|
FROM T_OSZTALYCSOPORT_TANEVRENDJE otr
|
|
INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394
|
|
WHERE c_osztalycsoportid=@csoportid)
|
|
END
|
|
|
|
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
|
|
BEGIN
|
|
SET @utolsonap = (SELECT top 1 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')
|
|
END
|
|
ELSE BEGIN
|
|
SET @utolsonap = (
|
|
SELECT top 1 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)
|
|
END
|
|
|
|
SELECT
|
|
nn.C_HETSORSZAMA Het
|
|
,FORMAT(MIN(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetEleje
|
|
,FORMAT(MAX(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetVege
|
|
FROM T_NAPTARINAP_OSSZES nn
|
|
WHERE
|
|
nn.C_NAPDATUMA BETWEEN @ElsoNap AND @UtolsoNap
|
|
AND nn.C_HETNAPJA BETWEEN 1407 AND 1413
|
|
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
|
|
|
|
--Mulasztások
|
|
DECLARE @Mulasztasok TABLE ( IgazoltE nvarchar(1), Tanulo int, Tipus int)
|
|
|
|
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')
|
|
|
|
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, @csoportId, @iskolaErdekuSzamit, 1, 0, DEFAULT, DEFAULT, 0) TanulokMulasztasai
|
|
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
|
|
|
|
SELECT
|
|
TanuloId Id
|
|
,TanuloCsoportId
|
|
,Sorszam
|
|
,TorzslapSzam
|
|
,OktAzon
|
|
,TajSzam
|
|
,AnyjaNeve
|
|
,SzulHely
|
|
,SzulIdo
|
|
,SocAdat
|
|
,Kepzes
|
|
,TanuloNeve
|
|
,Allampolgarsaga
|
|
,DiakIgazolvanySzam
|
|
,KilepesDatum
|
|
,BeirasiNaploSorszam
|
|
,AktualisOsztaly Osztaly
|
|
,CONVERT(DATE, LEFT(BelepesDatum, LEN(BelepesDatum) - 1), 102) BelepesDatum
|
|
INTO #studentsWithTanuloCsoport
|
|
FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId)
|
|
|
|
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
|
|
DECLARE @datum DATE = GETDATE()
|
|
CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT)
|
|
|
|
INSERT INTO #OraSorszam
|
|
EXEC sp_GetOraSorszamByOsztaly
|
|
@osztalyCsoportId = @csoportId,
|
|
@datum = @datum,
|
|
@intezmenyId = @intezmenyId,
|
|
@tanevId = @tanevId
|
|
|
|
SELECT DISTINCT
|
|
tao.C_ORASZAM Oraszam
|
|
,tao.C_HETSORSZAMA Het
|
|
,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') Datum
|
|
,CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108) DatumKezdettel
|
|
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, f.C_NYOMTATASINEV) Tanar
|
|
,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
|
|
,tao.C_TEMA 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) 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 Het, C_NYOMTATASINEV 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) 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
|
|
|
|
CREATE TABLE #Gondviselok (TanuloId INT, GondviseloId INT PRIMARY KEY CLUSTERED)
|
|
INSERT INTO #Gondviselok
|
|
SELECT
|
|
TanuloId
|
|
,GondviseloId
|
|
FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T')
|
|
|
|
CREATE TABLE #GondViseloCimTable (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
|
|
INSERT INTO #GondViseloCimTable
|
|
SELECT
|
|
GondviseloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @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 AND cimTipusa.TOROLT = 'F'
|
|
|
|
CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT)
|
|
INSERT INTO #EmailCimTableTemp
|
|
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 #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
|
|
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 #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
|
|
|
|
|
|
--Tanuló gondviselői
|
|
SELECT DISTINCT
|
|
Gondviselok.TanuloId
|
|
,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' C_NEV
|
|
,cim.Cimtipusa C_CIMTIPUSA
|
|
,cim.cim C_OSSZETETTCIM
|
|
,telefon.telefon C_TELEFONSZAM
|
|
,email.emailcim C_EMAILCIM
|
|
FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselok
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId AND RokonsagiFok.TOROLT = 'F'
|
|
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
|
|
|
|
--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.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
|
|
END
|
|
GO |