kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetNapkozisNaplo.sql
2024-03-13 00:33:46 +01:00

388 lines
20 KiB
Transact-SQL

IF OBJECT_ID('[DBO].[sp_GetNapkozisNaplo]') IS NOT NULL BEGIN
DROP PROCEDURE [DBO].[sp_GetNapkozisNaplo]
END
GO
CREATE PROCEDURE [DBO].[sp_GetNapkozisNaplo]
@tanevId int
,@intezmenyId int
,@csoportId int
AS
BEGIN
SET NOCOUNT ON;
--Tanulók adatai, elérhetőségei
DECLARE @tanulok table (
Id int, Nev nvarchar(max), TanuloRovid nvarchar(40), Osztaly nvarchar(max), RovidNev nvarchar(30), Sorszam 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), TanuloTelefon nvarchar(max), TanuloEmail nvarchar(max), szoc nvarchar(max)
)
INSERT INTO @tanulok
SELECT DISTINCT
t.id Id
,iif(tcs.c_kilepesdatum is not null,f.c_nyomtatasinev+' (kilépett)', f.c_nyomtatasinev) as Nev
,iif(len(f.c_nyomtatasinev)>40, SUBSTRING (f.c_nyomtatasinev, 1 , 40), f.c_nyomtatasinev)
,Osztaly.Osztaly as Osztaly
,iif(len(Osztaly.Osztaly)>17, SUBSTRING (Osztaly.Osztaly, 1 , 16)+'...', Osztaly.Osztaly) RovidNev
,t.c_naplosorszam as Sorszam
,t.c_beirasinaplosorszam as Torzslapszam
,Allampolgarsaga.Allampolgarsaga as Allampolgarsag
,t.c_diakigazolvanyszam as DiakIg
,f.c_szuletesihely as SzulHely
,FORMAT(f.c_szuletesidatum, 'yyyy. MMMM dd.', 'hu-hu') as SzulIdo
,f.c_anyjaneve as Anyja
,f.c_tajszam as Taj
,f.c_oktatasiazonosito as OktAzon
,FORMAT(tcs.c_kilepesdatum, 'yyyy. MMMM dd.', 'hu-hu') as Kilepes
,tt.c_nev as Kepzes
,cim.Tipus
,cim.cim
,tel.c_telefonszam
,email.c_emailcim as TanuloEmail
,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') +
IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') AS szoc
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=tcs.c_tanuloid AND f.torolt='F'
INNER JOIN (SELECT distinct d.id Id, d.c_name Allampolgarsaga FROM T_DICTIONARYITEMBASE_OSSZES d) Allampolgarsaga ON Allampolgarsaga.Id=f.c_allampolgarsaga
LEFT JOIN (
SELECT tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALY_OSSZES o ON o.id=tcs.c_osztalycsoportid
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON o.id=ocs.id
WHERE tcs.torolt='F'
) osztaly ON tcs.c_tanuloid=osztaly.TanuloId
INNER JOIN T_TANTERV_OSSZES tt ON tt.c_intezmenyid=tcs.c_intezmenyid AND tt.c_intezmenyid=@intezmenyid AND tt.c_tanevid=@tanevid
INNER JOIN T_TANULO_OSSZES t ON t.id=f.id
INNER JOIN (
SELECT f.id Tanulo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim
FROM t_cim c
INNER JOIN (SELECT distinct d.id, d.c_name FROM t_dictionaryitembase_osszes d )dt ON dt.id=c.c_cimtipusa
INNER JOIN t_felhasznalo_osszes f ON f.id=c.c_felhasznaloid
INNER JOIN (SELECT distinct d.id, d.c_name FROM t_dictionaryitembase_osszes d)dj ON dj.id=c.c_kozteruletjellege
WHERE c.c_cimtipusa=907 AND c.c_gondviseloid is null AND c.torolt='F' AND c.c_intezmenyid=@intezmenyid)cim ON cim.Tanulo=tcs.c_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=tcs.c_tanuloid AND email.c_gondviseloid is null AND email.torolt='F' AND email.c_alapertelmezett='T'
WHERE tcs.c_osztalycsoportid=@csoportId AND tcs.c_tanevid=@tanevid AND tcs.torolt='F'
--Kezdőoldal
SELECT ia.c_nev as IntezmenyNev, ia.c_cime 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. MMMM dd.', 'hu-hu') as Megnyitas,
isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras
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, RovidNev as Osztaly, OktAzon
FROM @tanulok
ORDER BY Nev
--Naplóhetek
DECLARE @elsonap as date
DECLARE @utolsonap as date
IF (
SELECT c_osztalycsoportid FROM T_OSZTALYCSOPORT_TANEVRENDJE_OSSZES 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_OSSZES 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_OSSZES 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_OSSZES otr
INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395
WHERE c_osztalycsoportid=@csoportId)
END
SELECT
n.c_hetsorszama as Het
,FORMAT(convert(date,min(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu')as HetEleje
,FORMAT(convert(date,max(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu') as HetVege
FROM t_naptarinap n
WHERE n.c_napdatuma >= @elsonap
AND n.c_napdatuma <= @utolsonap
AND n.c_orarendinap = 'T'
AND n.c_tanevid = @tanevid
AND n.c_intezmenyid = @intezmenyid
GROUP BY n.c_hetsorszama
--Tanuló adatok
SELECT * FROM @tanulok ORDER BY Nev
--Mulasztások
CREATE TABLE #mulasztas (Nap int, Tanulo int, Osztaly int, MulasztasTipus int, IgazoltE nvarchar(1), IgazolasTipus int)
INSERT INTO #mulasztas
SELECT
CAST(Month(tao.c_datum) as int) as Nap
,tm.c_oratanuloiid as Tanulo
,tao.c_osztalycsoportid as Osztaly
,tm.c_tipus MulasztasTipus
,tm.c_igazolt IgazoltE
,tm.c_igazolastipusa IgazolasTipus
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.id=tm.c_tanitasiorakid
AND tao.torolt='F'
AND tao.c_tanevid = @tanevid
AND tao.c_intezmenyid = @intezmenyid
AND tao.c_osztalycsoportid = @csoportId
WHERE tm.torolt = 'F'
AND tm.c_tanevid = @tanevid
DECLARE @mul table(TanuloId int, Tipus nvarchar(50), TipusRendez int, [9] int, [10] int, [11] int, [12] int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int)
--Mulasztások
INSERT INTO @mul
SELECT f.id, 'mulasztások', (1),
isnull(m.[9],0) as '9', isnull(m.[10],0) as '10', isnull(m.[11],0) as '11', isnull(m.[12],0) as '12', isnull(m.[1],0) as '1', isnull(m.[2],0) as '2', isnull(m.[3],0) as '3', isnull(m.[4],0) as '4', isnull(m.[5],0) as '5', isnull(m.[6],0) as '6', isnull(m.[7],0) as '7'
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--Ebből igazolt
INSERT INTO @mul
SELECT f.id, '*igazolt', (2),
isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazoltE='T' AND MulasztasTipus=1500 )m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--Egyéb
INSERT INTO @mul
SELECT f.id, '-egyéb', (3),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1529 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--Orvosi igazolás
INSERT INTO @mul
SELECT f.id, '-orvosi ig.', (4),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1530 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--Szülői
INSERT INTO @mul
SELECT f.id, '-szülői ig.', (5),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1531 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--hivatalos távollét
INSERT INTO @mul
SELECT f.id, '-hivatalos t.', (6),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1532 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--iskolaérdekű távollét
INSERT INTO @mul
SELECT f.id, '-iskolaérdekű t.', (7),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazolasTipus=1533 AND MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--Ebből igazolatlan
INSERT INTO @mul
SELECT f.id, '*igazolatlan', (8),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE IgazoltE='F' AND MulasztasTipus=1500)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--késés
INSERT INTO @mul
SELECT f.id, 'késés', (9),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1499)m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--késés igazolt
INSERT INTO @mul
SELECT f.id, '*igazolt', (10),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1499 AND IgazoltE='T')m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
--késés igazolatlan
INSERT INTO @mul
SELECT f.id, '*igazolatlan', (11),
/*Igazolt*/isnull(m.[9],0), isnull(m.[10],0), isnull(m.[11],0), isnull(m.[12],0), isnull(m.[1],0), isnull(m.[2],0), isnull(m.[3],0), isnull(m.[4],0), isnull(m.[5],0), isnull(m.[6],0), isnull(m.[7],0)
FROM @tanulok t
LEFT JOIN (SELECT * FROM #mulasztas m pivot (count(Osztaly) for Nap in ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]))pv WHERE MulasztasTipus=1499 AND IgazoltE='F')m ON m.Tanulo=t.id
INNER JOIN t_felhasznalo f ON f.id=t.Id
ORDER BY f.id
SELECT distinct *, m.[1]+m.[2]+m.[3]+m.[4]+m.[5]+m.[6]+m.[7]+m.[9]+m.[10]+m.[11]+m.[12] as Ossz FROM @mul m
--Napló
SELECT distinct nn.c_hetsorszama as Het, d.Nap 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 (SELECT distinct d.id as ID, d.c_name Nap FROM T_DICTIONARYITEMBASE_OSSZES d) d ON d.id=nn.c_hetnapja
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id=tao.c_foglalkozasid AND fog.c_tanevid=@tanevid
LEFT JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON ft.c_foglalkozasokid=fog.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=ft.c_tanarokid AND f.torolt='F'
WHERE nn.c_orarendinap='T' AND 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 @Orak TABLE (datum date, Sorszam int, Hetsorszam int)
INSERT INTO @Orak
SELECT DISTINCT convert(date, n.c_napdatuma) datum, sz.Oraszam, n.c_hetsorszama
FROM T_NAPTARINAP_OSSZES n
CROSS JOIN (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) sz (Oraszam)
WHERE n.c_napdatuma>=@elsonap AND n.c_napdatuma<=@utolsonap AND n.c_orarendinap='T' AND n.c_intezmenyId=@intezmenyId
DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
INSERT INTO @oraSorszam (Id, EvesSorszam)
SELECT DISTINCT
s.Id
,s.EvesSorszam
FROM (
SELECT DISTINCT tn.C_TANTARGYID, tn.C_OSZTALYCSOPORTID, ot.C_TANAROKID, tn.C_INTEZMENYID--, fh.C_NYOMTATASINEV
FROM T_TANITASIORA_OSSZES tn
INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
WHERE tn.C_OSZTALYCSOPORTID = @csoportid
) x
CROSS APPLY dbo.fnGetEvesOraszamLista (
x.C_TANTARGYID
,x.C_OSZTALYCSOPORTID
,x.C_TANAROKID
,GETDATE()
,x.C_INTEZMENYID
,@tanevID
) s
SELECT DISTINCT
o.Hetsorszam as Het
,o.Sorszam as Oraszam
,FORMAT(o.Datum, 'yyyy. MMMM dd.', 'hu-hu') as Datum
,CONVERT(nvarchar(max), DATEPART(hour,tao.c_orakezdete)) + ':' + CONVERT(nvarchar(max)
,DATEPART(minute,tao.c_orakezdete)) as OraKezd
,f.c_nyomtatasinev as Tanar
,s.EvesSorszam as Sorszam
,tao.c_tema as Tema
FROM @Orak o
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = o.Datum
AND tao.c_osztalycsoportid = @csoportid
AND tao.torolt = 'F'
AND tao.c_oraszam = o.Sorszam
AND tao.c_tanevid = @tanevid
LEFT JOIN @oraSorszam s ON s.Id = tao.ID
LEFT JOIN T_NAPTARINAP_OSSZES nn ON nn.c_napdatuma = o.Datum AND nn.c_tanevid = @tanevid
LEFT JOIN (SELECT distinct d.id as ID, d.c_name Nap FROM t_dictionaryitembase_osszes d) d ON d.id=nn.c_hetnapja
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.c_foglalkozasid AND fog.torolt = 'F'
LEFT JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON ft.c_foglalkozasokid = fog.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = ft.c_tanarokid AND f.torolt = 'F'
ORDER BY Oraszam
--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(o.C_ORASZAM AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1500, '', '(k)')
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
INNER JOIN t_osztalycsoport ocs ON ocs.id=@csoportid
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
AND o.C_TANEVID = @tanevID
AND tm.C_TANEVID = @tanevID
AND tm.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 = 'T' OR m.C_TIPUS = 1499, 0, 1)) AS varchar(2)) AS hianyzas
FROM T_TANITASIORA_OSSZES n
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
WHERE n.C_TANEVID = @tanevID AND m.C_TANEVID = @tanevID 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 ([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 tcs.c_tanuloid Tanulo, convert(nvarchar(max),datepart(year, te.c_kezdete))+'.'+convert(nvarchar(max),datepart(month, te.c_kezdete))+'.'+convert(nvarchar(max),datepart(day, te.c_kezdete))+'.' as Idopont, d.Tipus as Tipus, te.c_tartalom as Feljegyzes, f.c_nyomtatasinev as Feljegyzo
FROM t_tanulocsoport tcs
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.c_tanuloid=tcs.c_tanuloid AND te.torolt='F' AND te.c_intezmenyid=@intezmenyid AND te.c_tanevid=@tanevid
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=te.c_feljegyzoid AND f.torolt='F'
INNER JOIN (SELECT distinct d.id Id, d.c_name Tipus FROM t_dictionaryitembase d) d ON d.id=te.c_tipus
WHERE tcs.c_osztalycsoportid=@csoportId
--Tanuló gondviselői
SELECT 'Gondviselő ('+Rokonsag.Rokonsag+'):' as Fejlec, tcs.c_tanuloid Tanulo, g.c_nev Gondviselo, gcim.Tipus Tipus,gcim.Cim as Cim, gtel.c_telefonszam Telefon, gemail.C_EMAILCIM Email
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_GONDVISELO_OSSZES g ON g.c_tanuloid=tcs.c_tanuloid AND g.torolt='F'
LEFT JOIN (
SELECT g.id Gondviselo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim
FROM T_CIM_OSSZES c
INNER JOIN (SELECT distinct d.id, d.c_name FROM T_DICTIONARYITEMBASE_OSSZES d )dt ON dt.id=c.c_cimtipusa
INNER JOIN t_gondviselo_osszes g ON g.id=c.c_gondviseloid AND g.torolt='F'
INNER JOIN (SELECT distinct d.id, d.c_name FROM T_DICTIONARYITEMBASE_OSSZES d )dj ON dj.id=c.c_kozteruletjellege
)gcim ON gcim.Gondviselo=g.id
LEFT JOIN T_TELEFON_OSSZES gtel ON gtel.c_gondviseloid=g.id AND gtel.torolt='F'
LEFT JOIN T_EMAIL_OSSZES gemail ON gemail.c_gondviseloid=g.id AND gemail.torolt='F'
LEFT JOIN (SELECT distinct d.id Id, d.c_name Rokonsag FROM T_DICTIONARYITEMBASE_OSSZES d) Rokonsag ON Rokonsag.Id=g.c_rokonsagfoka
WHERE tcs.c_osztalycsoportid=@csoportId AND tcs.c_tanevid=@tanevid AND tcs.torolt='F'
DROP TABLE #MULASZTAS
END;
GO