388 lines
20 KiB
Transact-SQL
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
|
|
|