init
This commit is contained in:
@@ -0,0 +1,309 @@
|
||||
DROP PROCEDURE IF EXISTS dbo.sp_GetSzakmaiGyNaplo
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetSzakmaiGyNaplo]
|
||||
@tanevId int
|
||||
,@intezmenyId int
|
||||
,@csoportId int
|
||||
,@iskolaErdekuSzamit bit
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId AND TOROLT = 'F')
|
||||
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #Tanulo (
|
||||
Tanulo int
|
||||
,Osztaly nvarchar(max)
|
||||
,OsztalyId int
|
||||
,TanuloNeve nvarchar(255)
|
||||
,TanuloOktAzon nvarchar(20)
|
||||
,BelepesDatum DATETIME
|
||||
)
|
||||
CREATE TABLE #OraSorszam (
|
||||
TanitasioraId int
|
||||
,OraSorszam int
|
||||
)
|
||||
CREATE TABLE #mulasztas (
|
||||
Csoport nvarchar(1)
|
||||
,Tanulo int
|
||||
,Oraszam int
|
||||
)
|
||||
CREATE TABLE #hianyzas (
|
||||
Tanulo int
|
||||
,Osztaly nvarchar(max)
|
||||
,Honap int
|
||||
,IgazoltE nvarchar(1)
|
||||
)
|
||||
CREATE TABLE #hianyzasOssz (
|
||||
Osztaly int
|
||||
,Honap int
|
||||
,IgazoltE nvarchar(1)
|
||||
)
|
||||
CREATE TABLE #igazoltH (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int)
|
||||
CREATE TABLE #igazolatlanH (Csoport int, [1] int, [2] int, [3] int, [4] int, [5] int, [6] int, [7] int, [8] int, [9] int, [10] int,
|
||||
[11] int, [12] int)
|
||||
CREATE TABLE #Igazolt (
|
||||
Csoport int
|
||||
,Osszes int
|
||||
)
|
||||
CREATE TABLE #IgazoltOsszesOsszes (
|
||||
Csoport int
|
||||
,Osszes int
|
||||
)
|
||||
|
||||
--Kezdőoldal
|
||||
SELECT
|
||||
ia.c_nev as IntezmenyNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) as IntezmenyCim
|
||||
,ia.c_omkod as OMKOD
|
||||
,ia.c_igazgatoneve as IntezmenyVezeto
|
||||
,ocs.c_nev NapkozisCsoport
|
||||
,isnull(f.c_nyomtatasinev,'-') as CsoportVezeto
|
||||
,isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras
|
||||
,FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy. MMMM dd.', 'hu-hu') as Megnyitas
|
||||
,isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras
|
||||
,t.c_nev as Tanev
|
||||
,cs.c_csoportnaploleiras as Megjegyzes
|
||||
,ocs.ID NapkozisCsoportId
|
||||
,f.ID CsoportVezetoId
|
||||
,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296) AS EvfolyamTipusa -- 1296 = Na
|
||||
,ocs.C_FELADATELLATASIHELYID as FeladatEllatasiHelyId
|
||||
,ocs.C_KERESZTFELEVES as OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM as CSJVegzosEvfolyamu
|
||||
,cs.C_TIPUSA as CsoportTipusa
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia on ia.C_INTEZMENYID = i.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.C_INTEZMENYID = i.ID
|
||||
INNER JOIN T_CSOPORT_OSSZES cs on cs.ID = ocs.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f on f.ID = cs.C_CSOPORTVEZETOID
|
||||
INNER JOIN T_TANEV_OSSZES t on t.ID = ia.C_TANEVID
|
||||
WHERE i.ID = @intezmenyid
|
||||
AND ia.C_TANEVID = @tanevid
|
||||
AND ocs.ID = @csoportId
|
||||
|
||||
--Csoport tanulóinak osztályai
|
||||
INSERT INTO #Tanulo
|
||||
SELECT
|
||||
tcs.C_TANULOID AS TanuloId
|
||||
,osztaly.OsztalyNev AS Osztaly
|
||||
,osztaly.ID AS OsztalyId
|
||||
,tanuloNeve.C_NYOMTATASINEV AS TanuloNeve
|
||||
,tanuloNeve.C_OKTATASIAZONOSITO AS OktAzon
|
||||
,osztaly.BelepesDatuma AS BelepesDatum
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
CROSS APPLY fnGetTanuloOsztaly(tcs.C_TANULOID, tcs.C_KILEPESDATUM, @feladatKategoriaId, 1, DEFAULT) osztaly
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tanuloNeve on tanuloNeve.ID = tcs.C_TANULOID
|
||||
WHERE tcs.C_TANEVID = @tanevId
|
||||
AND tcs.C_OSZTALYCSOPORTID = @csoportId
|
||||
|
||||
SELECT
|
||||
COUNT(DISTINCT Tanulo) AS Tanulo
|
||||
,Osztaly
|
||||
,OsztalyId
|
||||
FROM #Tanulo
|
||||
GROUP BY Osztaly, OsztalyId
|
||||
|
||||
DECLARE @datum date = getdate()
|
||||
|
||||
INSERT INTO #OraSorszam
|
||||
EXEC [uspGetOraSorszamByOsztaly]
|
||||
@osztalyCsoportId = @csoportId
|
||||
,@datum = @datum
|
||||
,@intezmenyId = @intezmenyId
|
||||
,@tanevId = @tanevId
|
||||
|
||||
INSERT INTO #mulasztas
|
||||
SELECT
|
||||
'x' Csoport
|
||||
,tm.c_oratanuloiid Tanulo
|
||||
,oes.OraSorszam AS OraSzam
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao on tm.C_TANITASIORAKID=tao.ID and tao.C_TANEVID=@tanevid
|
||||
LEFT JOIN #OraSorszam oes on oes.TanitasioraId=tao.ID
|
||||
WHERE tao.C_OSZTALYCSOPORTID=@csoportId
|
||||
AND tm.TOROLT='F'
|
||||
AND tm.C_TANEVID=@tanevid
|
||||
AND tm.C_INTEZMENYID=@intezmenyid
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
SELECT f.c_nyomtatasinev Tanulo, tanulo.Osztaly Osztaly, m.[1], m.[2], m.[3], m.[4], m.[5], m.[6], m.[7], m.[8], m.[9], m.[10],
|
||||
m.[11], m.[12], m.[13], m.[14], m.[15], m.[16], m.[17], m.[18],m.[19],m.[20],
|
||||
m.[21], m.[22], m.[23], m.[24], m.[25], m.[26], m.[27], m.[28],m.[29],m.[30],
|
||||
m.[31], m.[32], m.[33], m.[34], m.[35], m.[36], m.[37], m.[38],m.[39],m.[40],
|
||||
m.[41], m.[42], m.[43], m.[44], m.[45], m.[46], m.[47], m.[48],m.[49],m.[50],
|
||||
osszesM.Osszes, tanulo.BelepesDatum
|
||||
FROM #Tanulo tanulo
|
||||
LEFT JOIN (select * from #mulasztas mulasztas pivot (max(Csoport) for Oraszam in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
||||
[11], [12], [13], [14], [15], [16], [17], [18],[19],[20],
|
||||
[21], [22], [23], [24], [25], [26], [27], [28],[29],[30],
|
||||
[31], [32], [33], [34], [35], [36], [37], [38],[39],[40],
|
||||
[41], [42], [43], [44], [45], [46], [47], [48],[49],[50])) pv)m on m.Tanulo=tanulo.Tanulo
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
|
||||
LEFT JOIN (select Tanulo, count(Csoport) as Osszes from #mulasztas m group by Tanulo) osszesM on osszesM.Tanulo=tanulo.Tanulo
|
||||
order by f.c_nyomtatasinev
|
||||
|
||||
--napló
|
||||
declare @letszam int=(select count(tcs.c_tanuloid) from T_TANULOCSOPORT_OSSZES tcs where tcs.c_osztalycsoportid=@csoportId and tcs.Torolt='F')
|
||||
|
||||
SELECT
|
||||
tao.Id TanitasioraId
|
||||
,dbo.fnGetDokumentumDatumFormatum(tao.C_DATUM) Datum
|
||||
,C_ORATULAJDONOSID PedagogusId
|
||||
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV) PedagogusNev
|
||||
,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt') Tema
|
||||
,@letszam-isnull(hianyzo.Hianyzok,0) as Letszam
|
||||
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) TantargyNev
|
||||
,tao.C_TANTARGYID TantargyId
|
||||
,tao.C_MEGTARTOTT Megtartott
|
||||
,C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
INTO #megtartottOrak
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tm.c_tanitasiorakid as Tanitasiora
|
||||
,count(tm.c_oratanuloiid) Hianyzok
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
WHERE tm.TOROLT='F'
|
||||
GROUP BY tm.c_tanitasiorakid) hianyzo ON hianyzo.Tanitasiora=tao.id
|
||||
INNER JOIN T_FELHASZNALO_OSSZES pedagogus ON pedagogus.ID = tao.C_TANARID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tao.C_HELYETTESITOTANARID
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = tao.C_TANTARGYID AND tantargy.C_GYAKORLATI = 'T'
|
||||
WHERE C_OSZTALYCSOPORTID = @csoportId
|
||||
AND tao.TOROLT = 'F'
|
||||
ORDER BY tao.C_DATUM
|
||||
|
||||
SELECT * FROM #megtartottOrak
|
||||
|
||||
--hiányzások
|
||||
|
||||
INSERT INTO #hianyzas
|
||||
SELECT
|
||||
Tanulo
|
||||
,Osztaly
|
||||
,datepart(month,tao.c_datum) as Honap
|
||||
,tm.c_igazolt as IgazoltE
|
||||
FROM #Tanulo tanulo
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES tm on tm.C_ORATANULOIID=tanulo.Tanulo AND tm.TOROLT='F' AND tm.C_TANEVID=@tanevid
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_TANEVID=@tanevid
|
||||
WHERE tao.C_OSZTALYCSOPORTID=@csoportId
|
||||
AND tao.TOROLT='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
SELECT f.c_nyomtatasinev as Tanulo, tanulo.Osztaly Osztaly,
|
||||
--igazolt
|
||||
iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
|
||||
--igazolatlan
|
||||
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12,
|
||||
igazolt.Igazolt, igazolatlan.Igazolatlan, tanulo.BelepesDatum
|
||||
FROM #Tanulo tanulo
|
||||
LEFT JOIN (select pv.* from #hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='T')i on tanulo.Tanulo=i.Tanulo
|
||||
LEFT JOIN (select pv.* from #hianyzas hianyzas pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))pv where pv.IgazoltE='F')ni on tanulo.Tanulo=ni.Tanulo
|
||||
LEFT JOIN (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolt from #hianyzas hianyzas where hianyzas.IgazoltE='T' group by hianyzas.Tanulo) igazolt on igazolt.Tanulo=tanulo.Tanulo
|
||||
LEFT JOIN (select hianyzas.Tanulo Tanulo, count(IgazoltE) as Igazolatlan from #hianyzas hianyzas where hianyzas.IgazoltE='F' group by hianyzas.Tanulo) igazolatlan on igazolatlan.Tanulo=tanulo.Tanulo
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f on f.id=tanulo.Tanulo
|
||||
|
||||
--Mulasztások összesen
|
||||
|
||||
insert into #hianyzasOssz
|
||||
select @csoportId, datepart(month,tao.c_datum) as Honap, tm.c_igazolt as IgazoltE from #Tanulo tanulo
|
||||
left join T_TANULOMULASZTAS_OSSZES tm on tm.c_oratanuloiid=tanulo.Tanulo and tm.torolt='F' and tm.c_tanevid=@tanevid
|
||||
left join T_TANITASIORA_OSSZES tao on tao.id=tm.c_tanitasiorakid and tao.c_tanevid=@tanevid
|
||||
where
|
||||
tao.c_osztalycsoportid=@csoportId
|
||||
and tao.torolt='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
|
||||
|
||||
insert into #igazoltH
|
||||
select @csoportId, iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12]
|
||||
from #hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))i where i.IgazoltE='T'
|
||||
|
||||
--Mulasztott órák összesen
|
||||
|
||||
insert into #igazolatlanH
|
||||
select @csoportId, iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
|
||||
from #hianyzasOssz ho pivot (count(Honap) for Honap in ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]))ni where ni.IgazoltE='F'
|
||||
|
||||
select iif(i.[1]=0,null, i.[1]) as [1], iif(i.[2]=0,null, i.[2]) as [2], iif(i.[3]=0,null, i.[3]) as [3], iif(i.[4]=0,null, i.[4]) as [4], iif(i.[5]=0,null, i.[5]) as [5],iif(i.[6]=0,null, i.[6]) as [6],
|
||||
iif(i.[7]=0,null, i.[7]) as [7], iif(i.[8]=0,null, i.[8]) as [8], iif(i.[9]=0,null, i.[9]) as [9], iif(i.[10]=0,null, i.[10]) as [10], iif(i.[11]=0,null, i.[11]) as [11], iif(i.[12]=0,null, i.[12]) as [12],
|
||||
iif(ni.[1]=0,null, ni.[1]) as n1, iif(ni.[2]=0,null, ni.[2]) as n2, iif(ni.[3]=0,null, ni.[3]) as n3, iif(ni.[4]=0,null, ni.[4]) as n4, iif(ni.[5]=0,null, ni.[5]) as n5,iif(ni.[6]=0,null, ni.[6]) as n6,
|
||||
iif(ni.[7]=0,null, ni.[7]) as n7, iif(ni.[8]=0,null, ni.[8]) as n8, iif(ni.[9]=0,null, ni.[9]) as n9, iif(ni.[10]=0,null, ni.[10]) as n10, iif(ni.[11]=0,null, ni.[11]) as n11, iif(ni.[12]=0,null, ni.[12]) as n12
|
||||
from #igazolth i
|
||||
left join #igazolatlanH ni on i.Csoport=ni.csoport
|
||||
|
||||
--Mulasztó tanulók szama
|
||||
|
||||
INSERT INTO #Igazolt
|
||||
SELECT
|
||||
@csoportId as Id
|
||||
,count(Tanulo) as IgazoltOsszes
|
||||
FROM (select distinct tanulo from #hianyzas where IgazoltE='T')m
|
||||
|
||||
SELECT
|
||||
i.Osszes IgazoltOsszes
|
||||
,ni.Osszes IgazolatlanOsszes
|
||||
FROM #Igazolt i
|
||||
left join (select @csoportId as Id, count(Tanulo) as Osszes from (select distinct tanulo from #hianyzas where IgazoltE='F')m) ni on ni.Id=i.Csoport
|
||||
|
||||
--Mulasztott órák összesen-összesen
|
||||
|
||||
INSERT INTO #IgazoltOsszesOsszes
|
||||
SELECT
|
||||
@csoportId
|
||||
,count(IgazoltE)
|
||||
FROM #hianyzasOssz
|
||||
WHERE IgazoltE='T'
|
||||
|
||||
select
|
||||
ioo.Osszes IgazoltOsszesOsszes
|
||||
,nioo.Osszes as IgazolatlanOsszesOsszes
|
||||
from #IgazoltOsszesOsszes ioo
|
||||
LEFT JOIN (select @csoportId as Id, count(IgazoltE) Osszes from #hianyzasOssz where IgazoltE='F') nioo on nioo.Id=ioo.Csoport
|
||||
|
||||
--Megtartott órák száma
|
||||
SELECT
|
||||
COUNT(TantargyId) TantargyOraszam
|
||||
,Tantargynev TantargyNev
|
||||
INTO #MegtartottOrakSzama
|
||||
FROM #megtartottOrak
|
||||
WHERE Megtartott = 'T'
|
||||
GROUP BY TantargyId, TantargyNev
|
||||
|
||||
|
||||
SELECT DISTINCT
|
||||
SUM(tmp.TantargyOraszam) OsszesTantargySzam
|
||||
,STUFF((
|
||||
SELECT DISTINCT ', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS nvarchar(MAX)) + ')'
|
||||
FROM #MegtartottOrakSzama btmp
|
||||
FOR XML PATH(''), TYPE) .value('.','nvarchar(MAX)'),1,2,'') Tantargyak
|
||||
FROM #MegtartottOrakSzama tmp
|
||||
|
||||
-- Csoport tanárai
|
||||
SELECT
|
||||
targy.C_NEV TargyNev
|
||||
,tanar.C_NYOMTATASINEV TanarNev
|
||||
,targykategoria.C_ORDER
|
||||
,tanar.ID TanarId
|
||||
,tanar.C_OKTATASIAZONOSITO TanarOktAzon
|
||||
FROM T_FELHASZNALO_OSSZES tanar
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID and f.TOROLT='F' and f.C_OSZTALYCSOPORTID = @csoportId
|
||||
INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID and targy.C_GYAKORLATI = 'T' and targy.TOROLT='F'
|
||||
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID AND targykategoria.TOROLT = 'F' AND targykategoria.C_TANEVID = @tanevId
|
||||
WHERE tanar.TOROLT = 'F' AND f.TOROLT = 'F'
|
||||
AND tanar.C_INTEZMENYID = @intezmenyid
|
||||
AND tanar.C_TANEVID = @tanevId
|
||||
GROUP BY C_ORDER, targy.C_NEV, tanar.C_NYOMTATASINEV, tanar.ID, tanar.C_OKTATASIAZONOSITO
|
||||
ORDER BY C_ORDER, targy.C_NEV, tanar.C_NYOMTATASINEV
|
||||
|
||||
-- Csoport tanulói
|
||||
SELECT * FROM #Tanulo
|
||||
|
||||
END
|
||||
GO
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,720 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetNapkozisNaplo
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetNapkozisNaplo
|
||||
@tanevId int
|
||||
,@intezmenyId int
|
||||
,@csoportId int
|
||||
,@iskolaErdekuSzamit bit
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId AND TOROLT = 'F')
|
||||
|
||||
DECLARE
|
||||
@elsonap date
|
||||
,@utolsonap date
|
||||
,@FelevVege date
|
||||
,@datum date = GETDATE()
|
||||
|
||||
CREATE TABLE #OraSorszam (
|
||||
TanitasioraId int PRIMARY KEY
|
||||
,OraSorszam int
|
||||
)
|
||||
|
||||
--Tanulók adatai, elérhetőségei
|
||||
CREATE TABLE #tanulok (
|
||||
Id int
|
||||
,TanuloCsoportId int
|
||||
,Nev nvarchar (max)
|
||||
,Osztaly nvarchar (max)
|
||||
,OsztalyId int
|
||||
,Sorszam nvarchar (max)
|
||||
,beirasiSorszam nvarchar (max)
|
||||
,Torzslapszam nvarchar (max)
|
||||
,Allampolgarsaga nvarchar (max)
|
||||
,DiakIg nvarchar (max)
|
||||
,SzulHely nvarchar (max)
|
||||
,SzulIdo nvarchar (max)
|
||||
,Anyja nvarchar (max)
|
||||
,Taj nvarchar (max)
|
||||
,OktAzon nvarchar (max)
|
||||
,Kilepes nvarchar (max)
|
||||
,Kepzes nvarchar (max)
|
||||
,TanuloCimTipus nvarchar (max)
|
||||
,TanuloCim nvarchar (max)
|
||||
,TanuloEmail nvarchar (max)
|
||||
,szoc nvarchar (max)
|
||||
,BelepesDatum datetime
|
||||
)
|
||||
|
||||
DECLARE @Mulasztasok TABLE (
|
||||
IgazoltE nvarchar (1)
|
||||
,Tanulo int
|
||||
,Tipus int
|
||||
)
|
||||
|
||||
DECLARE @GondViseloCimTable TABLE (
|
||||
GondviseloId int
|
||||
,Cim nvarchar (max)
|
||||
,Cimtipusa nvarchar (max)
|
||||
)
|
||||
|
||||
DECLARE @EmailCimTableTemp TABLE (
|
||||
FelhasznaloId int
|
||||
,EmailCim nvarchar (max)
|
||||
,GondviseloId int
|
||||
)
|
||||
|
||||
DECLARE @EmailCimGondviseloTable TABLE (
|
||||
GondviseloId int
|
||||
,EmailCim nvarchar (max)
|
||||
)
|
||||
|
||||
DECLARE @TelefonTableTemp TABLE (
|
||||
FelhasznaloId int
|
||||
,Telefon nvarchar (max)
|
||||
,GondviseloId int
|
||||
)
|
||||
|
||||
DECLARE @GondviseloTelefonTable TABLE (
|
||||
GondviseloId int
|
||||
,Telefon nvarchar (max)
|
||||
)
|
||||
|
||||
SELECT TOP 1
|
||||
@FelevVege = tr.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES tr
|
||||
WHERE tr.C_NAPTIPUSA = 1400
|
||||
AND tr.C_TANEVID = @tanevId
|
||||
AND tr.TOROLT = 'F'
|
||||
|
||||
INSERT INTO #tanulok (
|
||||
Id
|
||||
,TanuloCsoportId
|
||||
,Nev
|
||||
,Osztaly
|
||||
,OsztalyId
|
||||
,Sorszam
|
||||
,beirasiSorszam
|
||||
,Torzslapszam
|
||||
,Allampolgarsaga
|
||||
,DiakIg
|
||||
,SzulHely
|
||||
,SzulIdo
|
||||
,Anyja
|
||||
,Taj
|
||||
,OktAzon
|
||||
,Kilepes
|
||||
,Kepzes
|
||||
,TanuloCimTipus
|
||||
,TanuloCim
|
||||
,TanuloEmail
|
||||
,szoc
|
||||
,BelepesDatum
|
||||
)
|
||||
SELECT
|
||||
tcs.C_TANULOID AS Id
|
||||
,tcs.ID AS TanuloCsoportId
|
||||
,IIF(tcs.C_KILEPESDATUM IS NOT NULL, f.C_NYOMTATASINEV + ' (kilépett)', f.C_NYOMTATASINEV) AS Nev
|
||||
,osztaly.OsztalyNev Osztaly
|
||||
,osztaly.ID AS OsztalyId
|
||||
,tta.C_NAPLOSORSZAM AS NaploSorszam
|
||||
,tta.C_BEIRASINAPLOSORSZAM AS beirasiSorszam
|
||||
,tta.C_TORZSLAPSZAM AS TorzsLapSzam
|
||||
,Allapolgarasaga.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(tcs.C_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
|
||||
,tcs.C_BELEPESDATUM AS BelepesDatum
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
CROSS APPLY fnGetTanuloOsztaly(tcs.C_TANULOID, tcs.C_KILEPESDATUM, @feladatKategoriaId, 1, DEFAULT) osztaly
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID
|
||||
INNER JOIN T_TANULO_OSSZES t ON t.ID = tcs.C_TANULOID
|
||||
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
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
TanuloId AS TanuloId
|
||||
,cimTipusa.C_NAME AS Tipus
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(Btemp.Cim AS nvarchar(max)) + char(13) + char(10)
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @csoportid) btemp
|
||||
WHERE temp.TanuloId = btemp.TanuloId
|
||||
AND temp.CimTipusa = btemp.CimTipusa
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1, 0, ''
|
||||
) AS Cim
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @csoportid) temp
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS cimTipusa ON cimTipusa.Id = temp.CimTipusa
|
||||
AND cimTipusa.C_TANEVID = @tanevId
|
||||
AND cimTipusa.TOROLT = 'F'
|
||||
WHERE temp.CimTipusa = 907
|
||||
) AS cim ON cim.TanuloId = t.ID
|
||||
LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid = t.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 = t.ID
|
||||
AND email.c_gondviseloid IS NULL
|
||||
AND email.torolt = 'F'
|
||||
AND email.c_alapertelmezett = 'T'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS MagantanulosagOka ON MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID
|
||||
AND MagantanulosagOka.C_TANEVID = tt.C_TANEVID
|
||||
AND MagantanulosagOka.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Allapolgarasaga ON Allapolgarasaga.ID = f.C_ALLAMPOLGARSAGA
|
||||
AND Allapolgarasaga.C_TANEVID = tt.C_TANEVID
|
||||
AND Allapolgarasaga.TOROLT = 'F'
|
||||
WHERE tcs.C_TANEVID = @tanevId
|
||||
AND tcs.C_OSZTALYCSOPORTID = @csoportId
|
||||
|
||||
--Kezdőoldal
|
||||
SELECT
|
||||
ia.c_nev AS IntezmenyNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCim
|
||||
,ia.c_omkod AS OMKOD
|
||||
,ia.c_igazgatoneve AS IntezmenyVezeto
|
||||
,ocs.c_nev AS NapkozisCsoport
|
||||
,IIF(LEN(ocs.c_nev) > 17, SUBSTRING(ocs.c_nev, 1, 17) + '...', ocs.c_nev) AS RovidNev
|
||||
,ISNULL(f.c_nyomtatasinev, '-') AS CsoportVezeto
|
||||
,ISNULL(cs.c_csoportnaploleiras, '-') AS CsoportNaploLeiras
|
||||
,FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy.MM.dd.') AS Megnyitas
|
||||
,ISNULL(FORMAT(cs.c_csoportnaplozarasa, 'yyyy.MM.dd.'), '-') AS Lezaras
|
||||
,ocs.ID AS NapkozisCsoportId
|
||||
,f.ID AS CsoportVezetoId
|
||||
,ISNULL(ocs.C_EVFOLYAMTIPUSA,1296) AS EvfolyamTipusa -- 1296 = Na
|
||||
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
|
||||
,cs.C_TIPUSA AS CsoportTipusa
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid = i.id
|
||||
AND ocs.c_tanevid = @tanevid
|
||||
AND ocs.id = @csoportId
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid
|
||||
WHERE i.id = @intezmenyid
|
||||
AND ia.c_tanevid = @tanevid
|
||||
|
||||
--Csoportot vezette
|
||||
SELECT
|
||||
ISNULL(f.c_nyomtatasinev, '-') AS CsoportVezeto
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid
|
||||
WHERE cs.id = @csoportId
|
||||
AND cs.c_altanevid = @tanevid
|
||||
AND cs.c_alintezmenyid = @intezmenyid
|
||||
|
||||
--Tanulók
|
||||
SELECT DISTINCT
|
||||
Nev
|
||||
,Osztaly
|
||||
,OktAzon
|
||||
,OsztalyId
|
||||
,BelepesDatum
|
||||
FROM #tanulok
|
||||
ORDER BY
|
||||
Nev
|
||||
|
||||
--Naplóhetek
|
||||
|
||||
SELECT TOP 1
|
||||
@elsonap = t.C_KEZDONAP
|
||||
FROM T_TANEV_OSSZES t
|
||||
WHERE t.ID = @tanevId
|
||||
AND t.TOROLT = 'F'
|
||||
|
||||
IF (
|
||||
SELECT
|
||||
c_osztalycsoportid
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE otr
|
||||
INNER JOIN t_tanevrendje_osszes tr ON tr.id = otr.c_tanevrendjeid
|
||||
AND tr.c_naptipusa = 1395
|
||||
WHERE c_osztalycsoportid = @csoportid
|
||||
) IS NULL
|
||||
|
||||
SELECT TOP 1
|
||||
@utolsonap = tr.c_datum
|
||||
FROM t_tanevrendje_osszes tr
|
||||
WHERE c_naptipusa = 1395
|
||||
AND c_tanevid = @tanevId
|
||||
AND c_intezmenyid = @intezmenyId
|
||||
AND torolt = 'F'
|
||||
AND c_osszescsoportravonatkozik = 'T'
|
||||
|
||||
ELSE
|
||||
|
||||
SELECT TOP 1
|
||||
@utolsonap = tr.c_datum
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE otr
|
||||
INNER JOIN t_tanevrendje_osszes tr ON tr.id = otr.c_tanevrendjeid
|
||||
AND tr.c_naptipusa = 1395
|
||||
WHERE c_osztalycsoportid = @csoportid
|
||||
|
||||
CREATE TABLE #NapSorszamTemp (
|
||||
Datum DATE
|
||||
)
|
||||
INSERT INTO #NapSorszamTemp
|
||||
EXEC sp_GetDokumentumTanitasiNapokSorszama
|
||||
@tanevId = @tanevId
|
||||
,@osztalyId = @csoportId
|
||||
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY ret.Het) AS TanitasiHetSorszam
|
||||
,ret.Het
|
||||
,dbo.fnGetDokumentumDatumFormatum(ret.HetEleje) AS HetEleje
|
||||
,dbo.fnGetDokumentumDatumFormatum(ret.HetVege) AS HetVege
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
ha.*
|
||||
FROM (
|
||||
SELECT
|
||||
nn.C_HETSORSZAMA AS Het
|
||||
,MIN(nn.C_NAPDATUMA) AS HetEleje
|
||||
,MAX(nn.C_NAPDATUMA) AS HetVege
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
WHERE nn.C_NAPDATUMA BETWEEN @elsonap AND @utolsonap
|
||||
AND nn.TOROLT='F'
|
||||
AND nn.c_tanevId = @tanevId
|
||||
GROUP BY nn.C_HETSORSZAMA
|
||||
) ha
|
||||
INNER JOIN #NapSorszamTemp ns ON ns.Datum >= ha.HetEleje and ns.Datum <= ha.HetVege
|
||||
) ret
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
NULL AS TanitasiHetSorszam
|
||||
,ret.Het
|
||||
,dbo.fnGetDokumentumDatumFormatum(ret.HetEleje) AS HetEleje
|
||||
,dbo.fnGetDokumentumDatumFormatum(ret.HetVege) AS HetVege
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
ha.*
|
||||
FROM (
|
||||
SELECT
|
||||
nn.C_HETSORSZAMA AS Het
|
||||
,MIN(nn.C_NAPDATUMA) AS HetEleje
|
||||
,MAX(nn.C_NAPDATUMA) AS HetVege
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
WHERE nn.C_NAPDATUMA BETWEEN @elsonap AND @utolsonap
|
||||
AND nn.TOROLT='F'
|
||||
AND nn.c_tanevId = @tanevId
|
||||
GROUP BY nn.C_HETSORSZAMA
|
||||
) ha
|
||||
LEFT JOIN #NapSorszamTemp ns ON ns.Datum >= ha.HetEleje and ns.Datum <= ha.HetVege
|
||||
WHERE ns.Datum IS NULL
|
||||
) ret
|
||||
ORDER BY ret.Het
|
||||
|
||||
--Tanuló adatok
|
||||
SELECT
|
||||
*
|
||||
FROM #tanulok
|
||||
ORDER BY
|
||||
Nev
|
||||
|
||||
SELECT
|
||||
DATEPART(MONTH, Datum) AS Honap
|
||||
,TantargyId AS Id
|
||||
,Igazolt AS IgazoltE
|
||||
,TanuloId AS TanuloId
|
||||
,TanuloCsoportId AS TanuloCsoportId
|
||||
,IgazolasTipusa AS IgazolasTipus
|
||||
,Datum AS Datum
|
||||
,Tipusa AS Tipus
|
||||
,KesesPercben AS KesesPercben
|
||||
,HetSorszama AS HetSorszama
|
||||
,Oraszam AS Oraszam
|
||||
,CAST(DATEPART(MONTH, Datum) AS nvarchar (10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') AS ElmeletGyakorlat
|
||||
,C_GYAKORLATI AS isGyakorlat
|
||||
INTO #mulasztasTmp
|
||||
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @csoportId, @iskolaErdekuSzamit, 1, 0, DEFAULT, DEFAULT, 0) TanulokMulasztasai
|
||||
INNER JOIN T_TANTARGY_OSSZES AS Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
|
||||
|
||||
SELECT
|
||||
ta.TanuloId AS Id
|
||||
,ta.TanuloCsoportId
|
||||
,ta.Sorszam
|
||||
,ta.TorzslapSzam
|
||||
,ta.OktAzon
|
||||
,ta.TajSzam
|
||||
,ta.AnyjaNeve
|
||||
,ta.SzulHely
|
||||
,ta.SzulIdo
|
||||
,ta.SocAdat
|
||||
,ta.Kepzes
|
||||
,ta.TanuloNeve
|
||||
,ta.Allampolgarsaga
|
||||
,ta.DiakIgazolvanySzam
|
||||
,ta.KilepesDatum
|
||||
,ta.BeirasiNaploSorszam
|
||||
,ta.AdottOsztaly AS Osztaly
|
||||
,ta.AdottOsztalyId AS OsztalyId
|
||||
,CONVERT(DATE, LEFT(ta.BelepesDatum, LEN(ta.BelepesDatum) - 1), 102) AS BelepesDatum
|
||||
INTO #studentsWithTanuloCsoport
|
||||
FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) ta
|
||||
|
||||
EXEC sp_GetDokumentumMulasztasokIdoszakonkent
|
||||
@tanevId = @tanevId
|
||||
,@osztalyCsoportId = @csoportId
|
||||
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
||||
,@isReszletesMulasztasok = 0
|
||||
|
||||
--Napló
|
||||
SELECT DISTINCT
|
||||
nn.c_hetsorszama AS Het
|
||||
,d.c_name AS Nap
|
||||
,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = nn.c_napdatuma
|
||||
AND tao.c_osztalycsoportid = @csoportid
|
||||
AND tao.torolt = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = nn.c_hetnapja
|
||||
AND d.C_TANEVID = @tanevId
|
||||
AND d.TOROLT = 'F'
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.c_foglalkozasid
|
||||
AND fog.c_tanevid = @tanevid
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = fog.c_tanarid
|
||||
AND f.torolt = 'F'
|
||||
WHERE nn.c_napdatuma >= @elsonap
|
||||
AND nn.c_napdatuma <= @utolsonap
|
||||
ORDER BY
|
||||
nn.c_hetsorszama
|
||||
,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')
|
||||
|
||||
--Napló adatok
|
||||
INSERT INTO #OraSorszam (
|
||||
TanitasioraId
|
||||
,OraSorszam
|
||||
)
|
||||
EXEC uspGetOraSorszamByOsztaly
|
||||
@osztalyCsoportId = @csoportId
|
||||
,@datum = @datum
|
||||
,@intezmenyId = @intezmenyId
|
||||
,@tanevId = @tanevId
|
||||
|
||||
SELECT DISTINCT
|
||||
tao.C_ORASZAM AS Oraszam
|
||||
,tao.C_HETSORSZAMA AS Het
|
||||
,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') AS Datum
|
||||
,CONVERT(varchar(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(varchar(5), tao.C_ORAVEGE, 108) AS DatumKezdettel
|
||||
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, f.C_NYOMTATASINEV) AS Tanar
|
||||
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS TantargyNev
|
||||
,tao.C_TANTARGYID AS TantargyId
|
||||
,tao.C_MEGTARTOTT AS Megtartott
|
||||
,tao.C_TEMA AS Tema
|
||||
,OraSorszam
|
||||
,C_ORAKEZDETE
|
||||
INTO #megtartottOrak
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.C_FOGLALKOZASID
|
||||
AND fog.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = tao.C_TANARID
|
||||
AND f.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tao.C_HELYETTESITOTANARID
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
OraSorszam
|
||||
,TanitasioraId
|
||||
FROM #OraSorszam
|
||||
) AS oraSorszam ON oraSorszam.TanitasioraId = tao.Id
|
||||
WHERE tao.C_OSZTALYCSOPORTID = @csoportid
|
||||
AND tao.TOROLT = 'F'
|
||||
ORDER BY
|
||||
tao.C_ORAKEZDETE
|
||||
,tao.C_ORASZAM
|
||||
|
||||
SELECT
|
||||
*
|
||||
FROM #megtartottOrak
|
||||
|
||||
--Napló mulasztás
|
||||
SELECT
|
||||
C_HETSORSZAMA AS Het
|
||||
,C_NYOMTATASINEV AS Tanulo
|
||||
,MAX([1]) AS Hetfo
|
||||
,MAX([2]) AS Kedd
|
||||
,MAX([3]) AS Szerda
|
||||
,MAX([4]) AS Csutortok
|
||||
,MAX([5]) AS Pentek
|
||||
,MAX([6]) AS Szombat
|
||||
FROM (
|
||||
SELECT
|
||||
C_HETSORSZAMA
|
||||
,C_NYOMTATASINEV
|
||||
,[0]
|
||||
,[1]
|
||||
,[2]
|
||||
,[3]
|
||||
,[4]
|
||||
,[5]
|
||||
,[6]
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
n.C_NAPTARINAPID
|
||||
,DATEPART(dw, n.C_DATUM) AS NAP
|
||||
,t.C_NYOMTATASINEV
|
||||
,n.C_HETSORSZAMA
|
||||
,'[' + STUFF(
|
||||
(
|
||||
SELECT
|
||||
', ' + CAST(OraSorszam AS varchar(3)) + IIF(tm.C_TIPUS = 1499, '(k)', '')
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
OraSorszam
|
||||
,TanitasioraId
|
||||
FROM #OraSorszam
|
||||
) AS oraSorszam ON oraSorszam.TanitasioraId = o.Id
|
||||
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
|
||||
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
|
||||
AND tm.C_TANEVID = @tanevId
|
||||
AND tm.torolt = 'F'
|
||||
AND tm.c_intezmenyId = @intezmenyId
|
||||
AND o.c_tanevId = @tanevId
|
||||
AND o.C_OSZTALYCSOPORTID = @csoportId
|
||||
AND o.TOROLT = 'F'
|
||||
ORDER BY
|
||||
o.C_NAPTARINAPID
|
||||
,o.C_ORASZAM
|
||||
FOR XML PATH(''), TYPE
|
||||
) .value
|
||||
('.', 'varchar(max)'), 1, 2, ''
|
||||
) + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'F', 1, 0)) AS varchar(2)) AS hianyzas
|
||||
FROM T_TANITASIORA_OSSZES n
|
||||
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID
|
||||
AND m.torolt = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
|
||||
WHERE n.C_TANEVID = @tanevId
|
||||
AND m.C_TANEVID = @tanevId
|
||||
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
|
||||
AND n.C_OSZTALYCSOPORTID = @csoportId
|
||||
AND n.TOROLT = 'F'
|
||||
GROUP BY
|
||||
n.C_NAPTARINAPID
|
||||
,C_ORATANULOIID
|
||||
,C_NYOMTATASINEV
|
||||
,n.C_HETSORSZAMA
|
||||
,n.C_DATUM
|
||||
) AS SUB PIVOT(MAX(HIANYZAS) FOR NAP IN(
|
||||
[0]
|
||||
,[1]
|
||||
,[2]
|
||||
,[3]
|
||||
,[4]
|
||||
,[5]
|
||||
,[6])) AS PivotTable
|
||||
) AS ASD
|
||||
GROUP BY
|
||||
C_HETSORSZAMA
|
||||
,C_NYOMTATASINEV
|
||||
ORDER BY
|
||||
C_HETSORSZAMA
|
||||
|
||||
--Tanuló feljegyzései
|
||||
SELECT
|
||||
tte.C_TANULOID AS Tanulo
|
||||
,FORMAT(tao.c_datum, 'yyyy.MM.dd.') AS Idopont
|
||||
,d.C_NAME AS Tipus
|
||||
,te.C_TARTALOM AS Feljegyzes
|
||||
,f.C_NYOMTATASINEV AS Feljegyzo
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.Id = tte.C_TANULOESEMENYID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.Id = te.C_TANITASIORAID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = te.C_FELJEGYZOID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.Id = te.C_TIPUS
|
||||
AND d.C_TANEVID = @tanevId
|
||||
AND d.TOROLT = 'F'
|
||||
WHERE C_OSZTALYCSOPORTID = @csoportId
|
||||
AND te.TOROLT = 'F'
|
||||
AND C_TIPUS <> 1534
|
||||
|
||||
INSERT INTO @GondViseloCimTable (
|
||||
GondviseloId
|
||||
,Cim
|
||||
,Cimtipusa
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GondviseloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(Btemp.Cim AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) btemp
|
||||
WHERE temp.GondviseloId = btemp.GondviseloId
|
||||
AND temp.CimTipusa = btemp.CimTipusa
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
)
|
||||
,cimTipusa.C_NAME
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) temp
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
|
||||
AND cimTipusa.C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO @EmailCimTableTemp (
|
||||
FelhasznaloId
|
||||
,EmailCim
|
||||
,GondviseloId
|
||||
)
|
||||
SELECT
|
||||
TanuloId
|
||||
,C_EMAILCIM
|
||||
,C_GONDVISELOID
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
|
||||
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
|
||||
WHERE email.TOROLT = 'F'
|
||||
AND email.C_TANEVID = @tanevId
|
||||
AND LEN(C_EMAILCIM) > 0
|
||||
|
||||
INSERT INTO @EmailCimGondviseloTable (
|
||||
GondviseloId
|
||||
,EmailCim
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GondviseloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(btemp.EmailCim AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM @EmailCimTableTemp btemp
|
||||
WHERE temp.GondviseloId = btemp.GondviseloId
|
||||
AND btemp.GondviseloId IS NOT NULL
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
) Email
|
||||
FROM @EmailCimTableTemp temp
|
||||
WHERE GondviseloId IS NOT NULL
|
||||
|
||||
INSERT INTO @TelefonTableTemp (
|
||||
FelhasznaloId
|
||||
,Telefon
|
||||
,GondviseloId
|
||||
)
|
||||
SELECT
|
||||
TanuloId
|
||||
,C_TELEFONSZAM
|
||||
,C_GONDVISELOID
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
|
||||
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
|
||||
WHERE
|
||||
telefon.TOROLT = 'F'
|
||||
AND telefon.C_TANEVID = @tanevId
|
||||
AND LEN(telefon.C_TELEFONSZAM) > 0
|
||||
|
||||
INSERT INTO @GondviseloTelefonTable (
|
||||
GondviseloId
|
||||
,Telefon
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GondviseloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(btemp.Telefon AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM @TelefonTableTemp btemp
|
||||
WHERE temp.GondviseloId = btemp.GondviseloId
|
||||
AND temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
AND GondviseloId IS NOT NULL
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
)
|
||||
FROM @TelefonTableTemp temp
|
||||
WHERE GondviseloId IS NOT NULL
|
||||
|
||||
/*gondviselő elérhetőségei */
|
||||
SELECT DISTINCT
|
||||
Gondviselok.TanuloId AS TanuloId
|
||||
,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' AS C_NEV
|
||||
,cim.Cimtipusa AS C_CIMTIPUSA
|
||||
,cim.cim AS C_OSSZETETTCIM
|
||||
,telefon.telefon AS C_TELEFONSZAM
|
||||
,email.emailcim AS C_EMAILCIM
|
||||
FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselok
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId
|
||||
LEFT JOIN @EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId
|
||||
LEFT JOIN @GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId
|
||||
LEFT JOIN @GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId
|
||||
ORDER BY cim.Cimtipusa
|
||||
|
||||
--megtartott órák száma
|
||||
SELECT
|
||||
COUNT(mo.TantargyId) AS TantargyOraszam
|
||||
,mo.Tantargynev AS TantargyNev
|
||||
INTO #megtartottOrakSzama
|
||||
FROM #megtartottOrak mo
|
||||
WHERE mo.Megtartott = 'T'
|
||||
GROUP BY
|
||||
mo.TantargyId
|
||||
,mo.TantargyNev
|
||||
|
||||
SELECT DISTINCT
|
||||
SUM(tmp.TantargyOraszam) AS OsszesTantargySzam
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS nvarchar (max)) + ')'
|
||||
FROM #megtartottOrakSzama btmp
|
||||
FOR XML PATH(''), TYPE
|
||||
).value('.', 'NVARCHAR(MAX)'), 1 , 2, ''
|
||||
) AS Tantargyak
|
||||
FROM #megtartottOrakSzama tmp
|
||||
|
||||
-- Csoport tanárai
|
||||
SELECT
|
||||
targy.C_NEV AS TargyNev
|
||||
,tanar.C_NYOMTATASINEV AS TanarNev
|
||||
,targykategoria.C_ORDER
|
||||
,tanar.ID TanarId
|
||||
,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
|
||||
FROM T_FELHASZNALO_OSSZES tanar
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID
|
||||
AND f.TOROLT='F'
|
||||
AND f.C_OSZTALYCSOPORTID = @csoportId
|
||||
INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID
|
||||
AND targy.TOROLT='F'
|
||||
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID
|
||||
AND targykategoria.TOROLT = 'F'
|
||||
AND targykategoria.C_TANEVID = @tanevId
|
||||
WHERE tanar.TOROLT = 'F'
|
||||
AND tanar.C_INTEZMENYID = @intezmenyid
|
||||
AND tanar.c_tanevId = @tanevId
|
||||
GROUP BY
|
||||
C_ORDER
|
||||
,targy.C_NEV
|
||||
,tanar.C_NYOMTATASINEV
|
||||
,tanar.ID
|
||||
,tanar.C_OKTATASIAZONOSITO
|
||||
ORDER BY
|
||||
C_ORDER
|
||||
,targy.C_NEV
|
||||
,tanar.C_NYOMTATASINEV
|
||||
|
||||
END
|
||||
GO
|
@@ -0,0 +1,449 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetTanoranKivuliNaplo
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetTanoranKivuliNaplo
|
||||
@tanevId int
|
||||
,@intezmenyId int
|
||||
,@csoportId int
|
||||
,@iskolaErdekuSzamit bit
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId AND TOROLT = 'F')
|
||||
|
||||
DECLARE
|
||||
@datum date = GETDATE()
|
||||
,@letszam int
|
||||
|
||||
CREATE TABLE #students (
|
||||
ID int
|
||||
,Osztaly nvarchar (max)
|
||||
,OsztalyId int
|
||||
,BelepesDatum datetime
|
||||
)
|
||||
|
||||
CREATE TABLE #OraSorszam (
|
||||
TanitasioraId int
|
||||
,OraSorszam nvarchar (100)
|
||||
)
|
||||
|
||||
CREATE TABLE #TanuloCimTable (
|
||||
FelhasznaloId int
|
||||
,Cim nvarchar (max)
|
||||
,Cimtipusa nvarchar (max)
|
||||
)
|
||||
|
||||
CREATE TABLE #GondViseloCimTable (
|
||||
GondviseloId int
|
||||
,Cim nvarchar (max)
|
||||
,Cimtipusa nvarchar (max)
|
||||
)
|
||||
|
||||
CREATE TABLE #EmailCimTableTemp (
|
||||
FelhasznaloId int
|
||||
,EmailCim nvarchar (max)
|
||||
,GondviseloId int
|
||||
)
|
||||
|
||||
CREATE TABLE #EmailCimTanuloTable(
|
||||
FelhasznaloId int
|
||||
,EmailCim nvarchar (max)
|
||||
)
|
||||
|
||||
CREATE TABLE #EmailCimGondviseloTable (
|
||||
GondviseloId int
|
||||
,EmailCim nvarchar (max)
|
||||
)
|
||||
|
||||
CREATE TABLE #TelefonTableTemp(
|
||||
FelhasznaloId int
|
||||
,Telefon nvarchar (max)
|
||||
,GondviseloId int
|
||||
)
|
||||
|
||||
CREATE TABLE #TanuloTelefonTable(
|
||||
FelhasznaloId int
|
||||
,Telefon nvarchar (max)
|
||||
)
|
||||
|
||||
CREATE TABLE #GondviseloTelefonTable (
|
||||
GondviseloId int
|
||||
,Telefon nvarchar (max)
|
||||
)
|
||||
|
||||
SELECT
|
||||
@letszam = COUNT(tcs.C_TANULOID)
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @csoportId
|
||||
AND tcs.TOROLT='F'
|
||||
|
||||
--Fejlecoldal (Fejléc)
|
||||
SELECT
|
||||
ia.C_NEV AS IntezmenyNev
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCim
|
||||
,ia.C_OMKOD AS OMKOD
|
||||
,ia.C_IGAZGATONEVE AS IntezmenyVezeto
|
||||
,ocs.C_NEV AS Csoport
|
||||
,ocs.ID AS CsoportId
|
||||
,ISNULL(f.C_NYOMTATASINEV,'-') AS CsoportVezeto
|
||||
,ISNULL(cs.C_CSOPORTNAPLOLEIRAS,'-') AS CsoportNaploLeiras
|
||||
,dbo.fnGetDokumentumDatumFormatum(cs.C_CSOPORTNAPLOMEGNYITASA) AS Megnyitas
|
||||
,ISNULL(dbo.fnGetDokumentumDatumFormatum(cs.C_CSOPORTNAPLOZARASA),'-') AS Lezaras
|
||||
,t.C_NEV AS Tanev
|
||||
,cs.C_CSOPORTNAPLOLEIRAS AS Megjegyzes
|
||||
,f.ID AS CsoportVezetoId
|
||||
,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296) AS EvfolyamTipusa -- 1296 = Na
|
||||
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
||||
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
|
||||
,cs.C_TIPUSA AS CsoportTipusa
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = i.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.C_INTEZMENYID = i.ID
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = cs.C_CSOPORTVEZETOID
|
||||
INNER JOIN T_TANEV_OSSZES t ON t.ID = ia.C_TANEVID
|
||||
WHERE ia.C_TANEVID = @tanevid
|
||||
AND ocs.ID = @csoportId
|
||||
|
||||
INSERT INTO #students (
|
||||
ID
|
||||
,Osztaly
|
||||
,OsztalyId
|
||||
,BelepesDatum
|
||||
)
|
||||
SELECT
|
||||
tcs.C_TANULOID AS TanuloId
|
||||
,osztaly.OsztalyNev AS Osztaly
|
||||
,osztaly.ID AS OsztalyId
|
||||
,CAST(osztaly.BelepesDatuma as DATE) as BelepesDatum
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
CROSS APPLY fnGetTanuloOsztaly(tcs.C_TANULOID, tcs.C_KILEPESDATUM, @feladatKategoriaId, 1, DEFAULT) osztaly
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tanuloNeve on tanuloNeve.ID = tcs.C_TANULOID
|
||||
WHERE tcs.C_TANEVID = @tanevId
|
||||
AND tcs.C_OSZTALYCSOPORTID = @csoportId
|
||||
|
||||
--Osztaly (Csoport tanulóinak osztályai)
|
||||
SELECT
|
||||
COUNT(Id) AS Tanulo
|
||||
,Osztaly
|
||||
,OsztalyId
|
||||
FROM #students
|
||||
GROUP BY
|
||||
Osztaly
|
||||
,OsztalyId
|
||||
|
||||
--Napló
|
||||
INSERT INTO #OraSorszam (
|
||||
TanitasioraId
|
||||
,OraSorszam
|
||||
)
|
||||
EXEC uspGetOraSorszamByOsztaly
|
||||
@osztalyCsoportId = @csoportId
|
||||
,@datum = @datum
|
||||
,@intezmenyId = @intezmenyId
|
||||
,@tanevId = @tanevId
|
||||
|
||||
SELECT
|
||||
dbo.fnGetDokumentumDatumFormatum(tao.C_ORAKEZDETE) + CONVERT(varchar(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(varchar(5), tao.C_ORAVEGE, 108) AS Datum
|
||||
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN
|
||||
+ ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS TantargyNev
|
||||
,tao.C_TANTARGYID AS TantargyId
|
||||
,tao.C_MEGTARTOTT AS Megtartott
|
||||
,IIF(C_MEGTARTOTT = 'F', 'Elmaradt', tao.C_TEMA) AS Tema
|
||||
,@letszam - ISNULL(hianyzo.Hianyzok, 0) AS Letszam
|
||||
,IIF(C_MEGTARTOTT = 'F', '-', f.C_NYOMTATASINEV) AS Pedagogus
|
||||
,Terem.C_NEV AS TeremNev
|
||||
,ISNULL(Oraszam.OraSorszam + '.', '-') AS OraSorszam
|
||||
,tao.C_ORAKEZDETE AS OraKezdete
|
||||
INTO #megtartottOrak
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tm.C_TANITASIORAKID AS Tanitasiora
|
||||
,COUNT(tm.C_ORATANULOIID) AS Hianyzok
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
WHERE tm.torolt = 'F'
|
||||
AND C_TIPUS IN (1499, 1500)
|
||||
GROUP BY tm.C_TANITASIORAKID
|
||||
) hianyzo ON hianyzo.Tanitasiora = tao.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = tao.C_ORATULAJDONOSID
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
|
||||
LEFT JOIN T_TEREM_OSSZES Terem ON Terem.Id = tao.C_TEREMID
|
||||
LEFT JOIN #OraSorszam Oraszam ON Oraszam.TanitasioraId = tao.Id
|
||||
WHERE tao.C_OSZTALYCSOPORTID = @csoportId
|
||||
AND tao.TOROLT='F'
|
||||
SELECT
|
||||
Datum
|
||||
,TantargyNev
|
||||
,TantargyId
|
||||
,Megtartott
|
||||
,Tema
|
||||
,Letszam
|
||||
,Pedagogus
|
||||
,TeremNev
|
||||
,OraSorszam
|
||||
,OraKezdete
|
||||
FROM #megtartottOrak
|
||||
ORDER BY OraKezdete
|
||||
|
||||
/*TANULÓ adatai*/
|
||||
SELECT DISTINCT
|
||||
ta.TanuloId
|
||||
,ta.OktAzon
|
||||
,ta.TajSzam
|
||||
,ta.AnyjaNeve
|
||||
,ta.SzulHely
|
||||
,ta.SzulIdo
|
||||
,ta.SocAdat
|
||||
,ta.Kepzes
|
||||
,ta.TanuloNeve
|
||||
,ta.Allampolgarsaga
|
||||
,ta.DiakIgazolvanySzam
|
||||
,ta.AktualisOsztaly Osztalya
|
||||
,ta.BelepesDatum
|
||||
FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) ta
|
||||
ORDER BY TanuloNeve
|
||||
|
||||
/*TANULÓ elérhetőségei */
|
||||
INSERT INTO #TanuloCimTable (
|
||||
FelhasznaloId
|
||||
,Cim
|
||||
,Cimtipusa
|
||||
)
|
||||
SELECT DISTINCT
|
||||
TanuloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(Btemp.Cim AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) btemp
|
||||
WHERE temp.TanuloId = btemp.TanuloId
|
||||
AND temp.CimTipusa = btemp.CimTipusa
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1, 0, ''
|
||||
)
|
||||
,cimTipusa.C_NAME
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) temp
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
|
||||
AND cimTipusa.C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO #GondViseloCimTable (
|
||||
GondviseloId
|
||||
,Cim
|
||||
,Cimtipusa
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GondviseloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(Btemp.Cim AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) btemp
|
||||
WHERE temp.GondviseloId = btemp.GondviseloId
|
||||
AND temp.CimTipusa = btemp.CimTipusa
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
)
|
||||
,cimTipusa.C_NAME
|
||||
FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportid) temp
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa
|
||||
AND cimTipusa.C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO #EmailCimTableTemp (
|
||||
FelhasznaloId
|
||||
,EmailCim
|
||||
,GondviseloId
|
||||
)
|
||||
SELECT
|
||||
TanuloId
|
||||
,C_EMAILCIM
|
||||
,C_GONDVISELOID
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
|
||||
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
|
||||
WHERE email.TOROLT = 'F'
|
||||
AND email.C_TANEVID = @tanevId
|
||||
AND LEN(C_EMAILCIM) > 0
|
||||
|
||||
INSERT INTO #EmailCimTanuloTable (
|
||||
FelhasznaloId
|
||||
,EmailCim
|
||||
)
|
||||
SELECT DISTINCT
|
||||
FelhasznaloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(btemp.EmailCim AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM #EmailCimTableTemp btemp
|
||||
WHERE temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
AND btemp.GondviseloId IS NULL
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
) Email
|
||||
FROM #EmailCimTableTemp temp
|
||||
WHERE GondviseloId IS NULL
|
||||
|
||||
INSERT INTO #EmailCimGondviseloTable (
|
||||
GondviseloId
|
||||
,EmailCim
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GondviseloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(btemp.EmailCim AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM #EmailCimTableTemp btemp
|
||||
WHERE temp.GondviseloId = btemp.GondviseloId
|
||||
AND btemp.GondviseloId IS NOT NULL
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
) Email
|
||||
FROM #EmailCimTableTemp temp
|
||||
WHERE GondviseloId IS NOT NULL
|
||||
|
||||
INSERT INTO #TelefonTableTemp (
|
||||
FelhasznaloId
|
||||
,Telefon
|
||||
,GondviseloId
|
||||
)
|
||||
SELECT
|
||||
TanuloId
|
||||
,C_TELEFONSZAM
|
||||
,C_GONDVISELOID
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
|
||||
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
|
||||
WHERE
|
||||
telefon.TOROLT = 'F'
|
||||
AND telefon.C_TANEVID = @tanevId
|
||||
AND LEN(telefon.C_TELEFONSZAM) > 0
|
||||
|
||||
INSERT INTO #TanuloTelefonTable (
|
||||
FelhasznaloId
|
||||
,Telefon
|
||||
)
|
||||
SELECT DISTINCT
|
||||
FelhasznaloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(btemp.Telefon AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM #TelefonTableTemp btemp
|
||||
WHERE temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
AND GondviseloId IS NULL
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
)
|
||||
FROM #TelefonTableTemp temp
|
||||
WHERE GondviseloId IS NULL
|
||||
|
||||
INSERT INTO #GondviseloTelefonTable (
|
||||
GondviseloId
|
||||
,Telefon
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GondviseloId
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
CAST(btemp.Telefon AS nvarchar (max)) + char(13) + char(10)
|
||||
FROM #TelefonTableTemp btemp
|
||||
WHERE temp.GondviseloId = btemp.GondviseloId
|
||||
AND temp.FelhasznaloId = btemp.FelhasznaloId
|
||||
AND GondviseloId IS NOT NULL
|
||||
FOR XML PATH(''), TYPE
|
||||
).value
|
||||
('.', 'NVARCHAR(MAX)'), 1 ,0, ''
|
||||
)
|
||||
FROM #TelefonTableTemp temp
|
||||
WHERE GondviseloId IS NOT NULL
|
||||
|
||||
SELECT
|
||||
s.Id AS tanuloid
|
||||
,cim.Cimtipusa AS cimtipus
|
||||
,cim.Cim
|
||||
,email.EmailCim AS email
|
||||
,telefon.Telefon AS telefonszam
|
||||
FROM #students s
|
||||
LEFT JOIN #TanuloCimTable cim ON cim.FelhasznaloId = s.Id
|
||||
LEFT JOIN #EmailCimTanuloTable email ON email.FelhasznaloId = s.Id
|
||||
LEFT JOIN #TanuloTelefonTable telefon ON telefon.FelhasznaloId = s.Id
|
||||
ORDER BY Cimtipusa
|
||||
|
||||
/*gondviselő elérhetőségei */
|
||||
SELECT DISTINCT
|
||||
Gondviselok.TanuloId AS TanuloId
|
||||
,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' AS C_NEV
|
||||
,cim.Cimtipusa AS C_CIMTIPUSA
|
||||
,cim.cim AS C_OSSZETETTCIM
|
||||
,telefon.telefon AS C_TELEFONSZAM
|
||||
,email.emailcim AS C_EMAILCIM
|
||||
FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselok
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId
|
||||
LEFT JOIN #EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId
|
||||
LEFT JOIN #GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId
|
||||
LEFT JOIN #GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId
|
||||
ORDER BY cim.Cimtipusa
|
||||
|
||||
--megtartott órák száma
|
||||
SELECT
|
||||
COUNT(mo.TantargyId) AS TantargyOraszam
|
||||
,mo.Tantargynev AS TantargyNev
|
||||
INTO #megtartottOrakSzama
|
||||
FROM #megtartottOrak mo
|
||||
WHERE mo.Megtartott = 'T'
|
||||
GROUP BY
|
||||
mo.TantargyId
|
||||
,mo.TantargyNev
|
||||
|
||||
SELECT DISTINCT
|
||||
SUM(tmp.TantargyOraszam) AS OsszesTantargySzam
|
||||
,STUFF(
|
||||
(
|
||||
SELECT DISTINCT
|
||||
', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS nvarchar (max)) + ')'
|
||||
FROM #megtartottOrakSzama btmp
|
||||
FOR XML PATH(''), TYPE
|
||||
).value('.', 'NVARCHAR(MAX)'), 1 , 2, ''
|
||||
) AS Tantargyak
|
||||
FROM #megtartottOrakSzama tmp
|
||||
|
||||
-- Csoport tanárai
|
||||
SELECT
|
||||
targy.C_NEV AS TargyNev
|
||||
,tanar.C_NYOMTATASINEV AS TanarNev
|
||||
,targykategoria.C_ORDER
|
||||
,tanar.ID TanarId
|
||||
,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
|
||||
FROM T_FELHASZNALO_OSSZES tanar
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID
|
||||
AND f.TOROLT='F'
|
||||
AND f.C_OSZTALYCSOPORTID = @csoportId
|
||||
INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID
|
||||
AND targy.TOROLT='F'
|
||||
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID
|
||||
AND targykategoria.TOROLT = 'F'
|
||||
AND targykategoria.C_TANEVID = @tanevId
|
||||
WHERE tanar.TOROLT = 'F'
|
||||
AND tanar.C_INTEZMENYID = @intezmenyid
|
||||
AND tanar.c_tanevId = @tanevId
|
||||
GROUP BY
|
||||
C_ORDER
|
||||
,targy.C_NEV
|
||||
,tanar.C_NYOMTATASINEV
|
||||
,tanar.ID
|
||||
,tanar.C_OKTATASIAZONOSITO
|
||||
ORDER BY
|
||||
C_ORDER
|
||||
,targy.C_NEV
|
||||
,tanar.C_NYOMTATASINEV
|
||||
|
||||
END
|
||||
GO
|
Reference in New Issue
Block a user