init
This commit is contained in:
@@ -0,0 +1,339 @@
|
||||
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
|
||||
,@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Tanulók adatai, elérhetőségei
|
||||
DECLARE @tanulok table (
|
||||
Id int, Nev nvarchar(max), Osztaly nvarchar(max), 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), 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
|
||||
,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.Id) as Osztaly
|
||||
,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.MM.dd.') as SzulIdo
|
||||
,f.c_anyjaneve as Anyja
|
||||
,f.c_tajszam as Taj
|
||||
,f.c_oktatasiazonosito as OktAzon
|
||||
,FORMAT(tcs.c_kilepesdatum, 'yyyy.MM.dd.') as Kilepes
|
||||
,tt.c_nev as Kepzes
|
||||
,cim.Tipus
|
||||
,cim.cim
|
||||
,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 T_TANULO_OSSZES t ON t.ID = f.ID
|
||||
INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID AND tt.TOROLT = 'F' AND tt.C_TANEVID = @tanevId
|
||||
INNER JOIN (SELECT distinct d.id Id, d.c_name Allampolgarsaga FROM T_DICTIONARYITEMBASE_OSSZES d) Allampolgarsaga ON Allampolgarsaga.Id=f.c_allampolgarsaga
|
||||
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, 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
|
||||
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
|
||||
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,tao.C_DATUM) Honap
|
||||
,tm.ID Id
|
||||
,C_IGAZOLT IgazoltE
|
||||
,tm.C_ORATANULOIID TanuloId
|
||||
,C_IGAZOLASTIPUSA IgazolasTipus
|
||||
,C_DATUM Datum
|
||||
,C_TIPUS Tipus
|
||||
,C_KESESPERCBEN KesesPercben
|
||||
INTO #mulasztasTmp
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
|
||||
INNER JOIN @tanulok tanulok ON tanulok.ID = tm.C_ORATANULOIID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID and tanulok.ID = tcs.C_TANULOID
|
||||
WHERE
|
||||
tm.TOROLT = 'F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tao.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tao.C_DATUM)
|
||||
|
||||
INSERT INTO @Mulasztasok
|
||||
SELECT 'T', ID, Tipus FROM @tanulok
|
||||
CROSS JOIN (SELECT DISTINCT Id FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TANEVID = @tanevId AND C_TYPE LIKE 'igazolastipus' AND (@iskolaErdekuSzamit = 1 OR Id <> 1533) ) Tipus (Tipus)
|
||||
|
||||
--hiányzás
|
||||
--Összes
|
||||
SELECT s.id tanuloId, cast('mulasztás' as nvarchar(100)) tipus,
|
||||
isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.',
|
||||
isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
|
||||
isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', 1 Rendez
|
||||
INTO #MulasztasVegleges
|
||||
FROM @tanulok s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, TanuloId, Honap FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv )ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.id
|
||||
|
||||
--igazolt
|
||||
INSERT INTO #MulasztasVegleges
|
||||
SELECT s.id, 'igazolt',
|
||||
isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.',
|
||||
isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
|
||||
isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', 2 Rendez
|
||||
FROM @tanulok s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'T' AND Tipus = 1500 )ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.id
|
||||
|
||||
--igazolatlan
|
||||
INSERT INTO #MulasztasVegleges
|
||||
SELECT s.id, 'igazolatlan',
|
||||
isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.',
|
||||
isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
|
||||
isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', 4999 Rendez
|
||||
FROM @tanulok s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'F' AND Tipus = 1500 )ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId, IgazolasTipus) felev on felev.TanuloId=s.id
|
||||
|
||||
--KÉSÉS
|
||||
INSERT INTO #MulasztasVegleges
|
||||
SELECT s.ID, 'késés (p)',
|
||||
isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.',
|
||||
isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
|
||||
isnull(Felev,0) 'felev',
|
||||
isnull(ni.[9],0)+isnull(ni.[10],0)+isnull(ni.[11],0)+isnull(ni.[12],0)+ isnull(ni.[1],0)+
|
||||
isnull(ni.[2],0)+isnull(ni.[3],0)+isnull(ni.[4],0)+isnull(ni.[5],0)+isnull(ni.[6],0)
|
||||
'osszesen', 5000 Rendez
|
||||
FROM @tanulok s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, Honap, TanuloId FROM #mulasztasTmp WHERE Tipus = 1499) a PIVOT (SUM(KesesPercben) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv)ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.id
|
||||
|
||||
--igazolt
|
||||
INSERT INTO #MulasztasVegleges
|
||||
select s.id, '* igazolt (p)',
|
||||
isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.',
|
||||
isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
|
||||
isnull(Felev,0) 'felev',
|
||||
isnull(ni.[9],0)+isnull(ni.[10],0)+isnull(ni.[11],0)+isnull(ni.[12],0)+ isnull(ni.[1],0)+
|
||||
isnull(ni.[2],0)+isnull(ni.[3],0)+isnull(ni.[4],0)+isnull(ni.[5],0)+isnull(ni.[6],0)'osszesen', 5001 Rendez
|
||||
FROM @tanulok s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'T' AND Tipus = 1499)ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.id
|
||||
|
||||
--igazolatlan
|
||||
INSERT INTO #MulasztasVegleges
|
||||
SELECT s.id, '* igazolatlan (p)',
|
||||
isnull(ni.[9],0) '09.', isnull(ni.[10],0) '10.', isnull(ni.[11],0) '11.', isnull(ni.[12],0) '12.',
|
||||
isnull(ni.[1],0) '01.', isnull(ni.[2],0) '02.', isnull(ni.[3],0) '03.', isnull(ni.[4],0) '04.', isnull(ni.[5],0) '05.', isnull(ni.[6],0) '06.',
|
||||
isnull(Felev,0) 'felev',
|
||||
isnull(ni.[9],0)+isnull(ni.[10],0)+isnull(ni.[11],0)+isnull(ni.[12],0)+ isnull(ni.[1],0)+
|
||||
isnull(ni.[2],0)+isnull(ni.[3],0)+isnull(ni.[4],0)+isnull(ni.[5],0)+isnull(ni.[6],0) 'osszesen', 5002 Rendez
|
||||
from @tanulok s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, Honap, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv WHERE IgazoltE = 'F' AND Tipus = 1499)ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.id
|
||||
|
||||
SELECT DISTINCT Mulasztas.tanuloid, Mulasztas.tipus, Mulasztas.[09.] sz, Mulasztas.[10.] o, Mulasztas.[11.] n, Mulasztas.[12.] d,
|
||||
Mulasztas.[01.] j, Mulasztas.[02.] f, Mulasztas.[03.] m, Mulasztas.[04.] a, Mulasztas.[05.] ma, Mulasztas.[06.] jun,
|
||||
mulasztas.felev felev, ISNULL(Mulasztas.osszesen,0) Osszesen, mulasztas.Rendez
|
||||
FROM #MulasztasVegleges Mulasztas
|
||||
ORDER BY Rendez
|
||||
|
||||
--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_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
|
||||
SELECT DISTINCT
|
||||
tao.C_ORASZAM Oraszam
|
||||
,tao.C_HETSORSZAMA Het
|
||||
,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') Datum
|
||||
,tao.C_DATUM
|
||||
,f.C_NYOMTATASINEV Tanar
|
||||
,tao.C_TEMA Tema
|
||||
,ROW_NUMBER() OVER (ORDER BY tao.C_ORAKEZDETE) OraSorszam
|
||||
,C_ORAKEZDETE
|
||||
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 = fog.C_TANARID AND f.TOROLT = 'F'
|
||||
WHERE
|
||||
tao.C_OSZTALYCSOPORTID = @csoportid
|
||||
AND tao.TOROLT = 'F'
|
||||
ORDER BY tao.C_ORAKEZDETE, tao.C_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 = 1499, '(k)','')
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
|
||||
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
|
||||
WHERE
|
||||
C_OSZTALYCSOPORTID = @csoportId
|
||||
AND te.TOROLT = 'F'
|
||||
AND C_TIPUS <> 1534
|
||||
|
||||
--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'
|
||||
|
||||
END
|
||||
GO
|
||||
|
@@ -0,0 +1,177 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetSzakmaiGyNaplo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetSzakmaiGyNaplo]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetSzakmaiGyNaplo]
|
||||
@tanevId INT,
|
||||
@intezmenyId INT,
|
||||
@csoportId INT,
|
||||
@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--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
|
||||
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 Osztaly.Osztaly, count(c_tanuloid) Tanulo from t_tanulocsoport tcs
|
||||
inner join (select tcs.c_tanuloid Tanulo, 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 and o.torolt='F'
|
||||
inner join T_OSZTALYCSOPORT_OSSZES ocs on o.id=ocs.id
|
||||
where tcs.c_kilepesdatum is null and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevid) osztaly on osztaly.Tanulo=tcs.c_tanuloid and tcs.TOROLT='F'
|
||||
where tcs.c_osztalycsoportid=@csoportId
|
||||
group by osztaly.Osztaly
|
||||
|
||||
DECLARE @tanulo TABLE (Tanulo int, Osztaly nvarchar(max), RovidNev nvarchar(max))
|
||||
insert into @tanulo
|
||||
select f.id as Tanulo, Osztaly.Osztaly, Osztaly.Osztaly RovidNev from T_TANULOCSOPORT_OSSZES tcs
|
||||
inner join (select tcs.c_tanuloid Tanulo, ocs.c_nev Osztaly from t_tanulocsoport tcs
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid and o.torolt='F'
|
||||
inner join t_osztalycsoport ocs on ocs.id=tcs.c_osztalycsoportid
|
||||
where tcs.c_kilepesdatum is null and tcs.c_tanevid=@tanevid) Osztaly on Osztaly.Tanulo=tcs.c_tanuloid and tcs.TOROLT='F'
|
||||
inner join t_felhasznalo f on f.id=tcs.c_tanuloid
|
||||
where tcs.c_osztalycsoportid=@csoportId
|
||||
|
||||
declare @datum date=getdate()
|
||||
create table #OraSorszam (TanitasioraId int, OraSorszam int)
|
||||
insert into #OraSorszam
|
||||
EXEC [sp_GetOraSorszamByOsztaly]
|
||||
@osztalyCsoportId = @csoportId,
|
||||
@datum = @datum,
|
||||
@intezmenyId = @intezmenyId,
|
||||
@tanevId = @tanevId
|
||||
|
||||
declare @mulasztas table (Csoport nvarchar(1), Tanulo int, Oraszam int)
|
||||
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.RovidNev 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
|
||||
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 convert(nvarchar(max),datepart(year,tao.c_orakezdete))+'. '+convert(nvarchar(max),datepart(month,tao.c_orakezdete))+'. '+convert(nvarchar(max),datepart(day,tao.c_orakezdete))+'.' as Datum,
|
||||
tao.c_tema as Tema, @letszam-isnull(hianyzo.Hianyzok,0) as Letszam, f.c_nyomtatasinev as Pedagogus from T_TANITASIORA_OSSZES tao
|
||||
inner join T_FOGLALKOZAS_OSSZES fog on fog.id=tao.c_foglalkozasid
|
||||
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 f on f.id=iif(tao.c_helyettesitotanarid is not null,tao.c_helyettesitotanarid, fog.c_tanarid)
|
||||
where tao.c_osztalycsoportid=@csoportId and tao.torolt='F' and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid
|
||||
order by tao.c_orakezdete
|
||||
|
||||
--hiányzások
|
||||
declare @hianyzas table (Tanulo int, Osztaly nvarchar(max), Honap int, IgazoltE nvarchar(1))
|
||||
insert into @hianyzas
|
||||
select Tanulo, RovidNev, 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.RovidNev 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
|
||||
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
|
||||
declare @hianyzasOssz table (Osztaly int, Honap int, IgazoltE nvarchar(1))
|
||||
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))
|
||||
|
||||
declare @igazoltH table (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)
|
||||
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
|
||||
declare @igazolatlanH table (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)
|
||||
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
|
||||
declare @Igazolt table (Csoport Int, Osszes int)
|
||||
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
|
||||
declare @IgazoltOsszesOsszes table (Csoport Int, Osszes int)
|
||||
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
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,244 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanoranKivuliNaplo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanoranKivuliNaplo]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanoranKivuliNaplo]
|
||||
@tanevId INT,
|
||||
@intezmenyId INT,
|
||||
@csoportId INT,
|
||||
@iskolaErdekuSzamit BIT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Fejlecoldal (Fejléc)
|
||||
SELECT
|
||||
ia.C_NEV IntezmenyNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) as IntezmenyCim
|
||||
,ia.C_OMKOD OMKOD
|
||||
,ia.C_IGAZGATONEVE IntezmenyVezeto
|
||||
,ocs.C_NEV Csoport
|
||||
,ISNULL(f.C_NYOMTATASINEV,'-') CsoportVezeto
|
||||
,ISNULL(cs.C_CSOPORTNAPLOLEIRAS,'-') CsoportNaploLeiras
|
||||
,FORMAT(cs.C_CSOPORTNAPLOMEGNYITASA, 'yyyy. MMMM dd.', 'hu-hu') Megnyitas
|
||||
,ISNULL(FORMAT(cs.C_CSOPORTNAPLOZARASA, 'yyyy. MMMM dd.', 'hu-hu'),'-') Lezaras
|
||||
,t.C_NEV as Tanev
|
||||
,cs.C_CSOPORTNAPLOLEIRAS Megjegyzes
|
||||
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
|
||||
|
||||
--Osztaly (Csoport tanulóinak osztályai)
|
||||
SELECT
|
||||
Osztaly.Osztaly Osztaly
|
||||
,COUNT(C_TANULOID) Tanulo
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN (SELECT tcs.C_TANULOID Tanulo, 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 AND o.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on o.ID=ocs.ID
|
||||
WHERE tcs.TOROLT='F') osztaly on osztaly.Tanulo=tcs.C_TANULOID
|
||||
WHERE tcs.C_OSZTALYCSOPORTID=@csoportId AND tcs.TOROLT='F' AND tcs.C_KILEPESDATUM IS NULL
|
||||
GROUP BY osztaly.Osztaly
|
||||
|
||||
--Mulasztasok
|
||||
DECLARE @datum DATE = GETDATE()
|
||||
CREATE TABLE #OraSorszam (TanitasioraId INT, OraSorszam INT)
|
||||
INSERT INTO #OraSorszam
|
||||
EXEC sp_GetOraSorszamByOsztaly
|
||||
@osztalyCsoportId = @csoportId,
|
||||
@datum = @datum,
|
||||
@intezmenyId = @intezmenyId,
|
||||
@tanevId = @tanevId
|
||||
|
||||
DECLARE @tanulo TABLE (Tanulo INT, Osztaly NVARCHAR(MAX))
|
||||
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES te WHERE te.C_NAPTIPUSA=1400 AND te.C_INTEZMENYID=@intezmenyid AND te.C_TANEVID=@tanevid AND te.TOROLT='F')
|
||||
|
||||
INSERT INTO @tanulo
|
||||
SELECT
|
||||
f.id as Tanulo
|
||||
,Osztaly.Osztaly Osztaly
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN (SELECT tcs.C_TANULOID Tanulo, ocs.C_NEV Osztaly from T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o on o.id=tcs.C_OSZTALYCSOPORTID AND o.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tcs.C_OSZTALYCSOPORTID
|
||||
WHERE tcs.c_tanevid=@tanevid AND tcs.TOROLT = 'F') Osztaly on Osztaly.Tanulo=tcs.C_TANULOID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f on f.id=tcs.C_TANULOID
|
||||
WHERE
|
||||
tcs.C_OSZTALYCSOPORTID=@csoportId
|
||||
AND tcs.TOROLT='F'
|
||||
|
||||
DECLARE @mulasztas TABLE (Csoport NVARCHAR(1), Tanulo INT, Oraszam INT, Felev INT)
|
||||
INSERT INTO @mulasztas
|
||||
SELECT
|
||||
'x' Csoport
|
||||
,tm.C_ORATANULOIID Tanulo
|
||||
,oes.OraSorszam OraSzam
|
||||
,iif(tao.C_DATUM < @FelevVege,1,2)
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tm.C_TANITASIORAKID=tao.ID
|
||||
LEFT JOIN #OraSorszam oes ON oes.TanitasioraId=tao.ID
|
||||
WHERE
|
||||
tao.C_OSZTALYCSOPORTID=@csoportId
|
||||
AND tao.TOROLT='F'
|
||||
and tm.TOROLT='F'
|
||||
AND tm.C_TANEVID=@tanevid
|
||||
AND tm.c_TIPUS IN (1499,1500)
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
SELECT f.C_NYOMTATASINEV Tanulo, tanulo.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, /*1. félév*/
|
||||
m2.[1] m1, m2.[2] m2, m2.[3] m3, m2.[4] m4, m2.[5] m5, m2.[6] m6, m2.[7] m7, m2.[8] m8, m2.[9] m9, m2.[10] m10,
|
||||
m2.[11] m11, m2.[12] m12, m2.[13] m13, m2.[14] m14, m2.[15] m15, m2.[16] m16, m2.[17] m17, m2.[18] m18, m2.[19] m19, m2.[20] m20,
|
||||
m2.[21] m21, m2.[22] m22, m2.[23] m23, m2.[24] m24, m2.[25] m25, m2.[26] m26, m2.[27] m27, m2.[28] m28, m2.[29] m29, m2.[30] m30,
|
||||
m2.[31] m31, m2.[32] m32, m2.[33] m33, m2.[34] m34, m2.[35] m35, m2.[36] m36, m2.[37] m37, m2.[38] m38, m2.[39] m39, m2.[40] m40,
|
||||
m2.[41] m41, m2.[42] m42, m2.[43] m43, m2.[44] m44, m2.[45] m45, m2.[46] m46, m2.[47] m47, m2.[48] m48, m2.[49] m49, m2.[50] m50,
|
||||
osszesM2.Osszes OsszesM/*2. félév*/
|
||||
FROM @tanulo tanulo
|
||||
|
||||
/* 1. félév*/
|
||||
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 WHERE pv.Felev=1)m ON m.Tanulo=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 WHERE pv.Felev=2)m2 ON m2.Tanulo=tanulo.Tanulo
|
||||
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
|
||||
LEFT JOIN(SELECT Tanulo, COUNT(Csoport) Osszes FROM @mulasztas m WHERE Felev=1 GROUP BY Tanulo) osszesM ON osszesM.Tanulo=tanulo.Tanulo
|
||||
LEFT JOIN (SELECT Tanulo, COUNT(Csoport) Osszes FROM @mulasztas m WHERE Felev=2 GROUP BY Tanulo) osszesM2 ON osszesM2.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
|
||||
FORMAT(tao.C_DATUM, 'yyyy.MM.dd.') Datum
|
||||
,tao.C_TEMA Tema
|
||||
,@letszam-isnull(hianyzo.Hianyzok,0)Letszam
|
||||
,f.C_NYOMTATASINEV Pedagogus
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.ID=tao.C_FOGLALKOZASID
|
||||
LEFT JOIN (SELECT tm.C_TANITASIORAKID Tanitasiora, COUNT(tm.C_ORATANULOIID) 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=IIF(tao.C_HELYETTESITOTANARID IS NOT NULL,tao.C_HELYETTESITOTANARID, fog.C_TANARID)
|
||||
WHERE
|
||||
tao.C_OSZTALYCSOPORTID=@csoportId
|
||||
AND tao.TOROLT='F'
|
||||
ORDER BY tao.C_ORAKEZDETE
|
||||
|
||||
--Hiányzások
|
||||
DECLARE @hianyzas TABLE (Tanulo INT, Osztaly NVARCHAR(MAX), Honap INT, IgazoltE NVARCHAR(1))
|
||||
INSERT INTO @hianyzas
|
||||
SELECT
|
||||
Tanulo
|
||||
,Osztaly
|
||||
,DATEPART(MONTH,tao.C_DATUM) Honap
|
||||
,tm.C_IGAZOLT 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 C_TIPUS IN (1499,1500)
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tao.torolt='F'
|
||||
|
||||
SELECT f.C_NYOMTATASINEV as Tanulo, tanulo.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
|
||||
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
|
||||
ORDER BY C_NYOMTATASINEV
|
||||
|
||||
--Hiányzások (Összesítő)
|
||||
DECLARE @hianyzasOssz TABLE (Osztaly INT, Honap INT, IgazoltE NVARCHAR(1))
|
||||
INSERT INTO @hianyzasOssz
|
||||
SELECT
|
||||
@csoportId
|
||||
,DATEPART(MONTH,tao.C_DATUM) Honap
|
||||
,tm.C_IGAZOLT 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 C_TIPUS IN (1499,1500)
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
DECLARE @igazoltH TABLE (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)
|
||||
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'
|
||||
|
||||
DECLARE @igazolatlanH TABLE (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)
|
||||
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'
|
||||
|
||||
--Hiányzás (Mulasztott órák összesen)
|
||||
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 ni.Csoport=i.csoport
|
||||
|
||||
--Hiányzás (Mulasztó tanulók száma)
|
||||
DECLARE @Igazolt TABLE (Csoport INT, Osszes INT)
|
||||
INSERT INTO @Igazolt
|
||||
SELECT @csoportId Id, COUNT(Tanulo) 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 Id, COUNT(Tanulo) as Osszes FROM (SELECT DISTINCT tanulo FROM @hianyzas WHERE IgazoltE='F')m) ni ON ni.Id=i.Csoport
|
||||
|
||||
--Hiányzás (Mulasztott órák Összesen-Összesen)
|
||||
DECLARE @IgazoltOsszesOsszes TABLE (Csoport INT, Osszes INT)
|
||||
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 Id, count(IgazoltE) Osszes FROM @hianyzasOssz WHERE IgazoltE='F') nioo ON nioo.Id=ioo.Csoport
|
||||
|
||||
END
|
||||
|
||||
GO
|
Reference in New Issue
Block a user