This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,803 @@
IF OBJECT_ID('[dbo].[sp_GetCsoportNaplo]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetCsoportNaplo]
END
GO
CREATE PROCEDURE [dbo].[sp_GetCsoportNaplo]
@tanevId INT,
@intezmenyid INT,
@csoportId INT,
@iskolaErdekuSzamit BIT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @isreszletesmulasztasok BIT = 0
--Kezdőoldal
SELECT
ia.C_NEV IntezmenyNev
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) 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
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
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
AND ocs.id = @csoportId
--Csoportot vezette
SELECT
ISNULL(felhasznaloNev.C_NYOMTATASINEV,'-') CsoportVezeto
FROM T_CSOPORT_OSSZES csoport
INNER JOIN
T_TANULOCSOPORT_OSSZES tanuloCsoport on tanuloCsoport.ID = csoport.ID
INNER JOIN
T_FELHASZNALO_OSSZES felhasznaloNev ON felhasznaloNev.id = csoport.C_CSOPORTVEZETOID
WHERE
csoport.id = @csoportId
--Tanulók
DECLARE @NaploSorszam TABLE (
TanuloId INT
,Sorszam INT
)
INSERT INTO @NaploSorszam
EXEC [sp_GetDokumentumTanuloNaploSorszam]
@osztalyid = @csoportid
CREATE TABLE #students (TanuloID INT PRIMARY KEY, BelepesDatum DATE, KilepesDatum DATE, NaploSorszam INT, Osztaly NVARCHAR(MAX), OktAzon nvarchar(max), Nev nvarchar(max))
INSERT INTO #students
SELECT
t.TanuloId
,BelepesDatum
,ISNULL(KilepesDatum, GETDATE())
,nsz.Sorszam
,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.TanuloId)
,C_OKTATASIAZONOSITO OktAzon
,C_NYOMTATASINEV Nev
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') t
INNER JOIN @NaploSorszam nsz ON nsz.TanuloId = t.TanuloId
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = t.TanuloId
ORDER BY C_NYOMTATASINEV
SELECT
TanuloId
,Osztaly
,OktAzon
,Nev
FROM #students
--Napló adatok
DECLARE @TanitasiNapTipusok TABLE (Id INT)
INSERT INTO @TanitasiNapTipusok
SELECT DISTINCT ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE ID IN (1385, 1393, 1394, 1395, 1400, 1402, 1403, 1404)
DECLARE @ElsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @tanevId AND TOROLT = 'F')
DECLARE @UtolsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
DECLARE @ElsoNapTanev DATE = (SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
DECLARE @UtolsoNapTanev DATE = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
DECLARE @isVegzos VARCHAR(1) = (SELECT TOP 1 C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @csoportId)
DECLARE @VegzosUtolsoNap DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F')
DECLARE @NapSorszam TABLE (Datum DATE, Sorszam NVARCHAR(4))
INSERT INTO @NapSorszam
SELECT
C_NAPDATUMA
,CAST(DENSE_RANK() OVER(ORDER BY C_NAPDATUMA) AS NVARCHAR(4))
FROM T_NAPTARINAP_OSSZES
WHERE
C_TANEVID = @tanevId
AND TOROLT = 'F'
AND C_NAPTIPUSA IN (SELECT Id FROM @TanitasiNapTipusok)
AND C_NAPDATUMA <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)
DECLARE @datum DATE = GETDATE()
CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT)
INSERT INTO #OraSorszam
EXEC sp_GetOraSorszamByOsztaly
@osztalyCsoportId = @csoportId,
@datum = @datum,
@intezmenyId = @intezmenyId,
@tanevId = @tanevId
SELECT
tao.Id TanitasioraId
,tao.C_DATUM Datum
,CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108) KezdetVeg
,C_ORATULAJDONOSID PedagogusId
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, pedagogus.C_NYOMTATASINEV) PedagogusNev
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-'), '-') OraSorszam
,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt') Tema
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(NVARCHAR(MAX), OraSorszam),'-') +'.: ' + REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), 'Elmaradt') TemaOraSzammal
,tao.C_HETNAPJA HetNapja
,C_HETSORSZAMA HetSorszama
,C_MEGTARTOTT Megtartott
,C_TANTARGYID TantargyId
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) Tantargynev
,C_OSZTALYCSOPORTID OsztalyCsoportId
,C_NAPSORSZAMA NapSorszama
,C_ORAKEZDETE Kezdete
INTO #megtartottOrak
FROM T_TANITASIORA_OSSZES tao
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
LEFT JOIN (SELECT DISTINCT OraSorszam, TanitasioraId FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
WHERE
C_OSZTALYCSOPORTID = @csoportId
AND tao.TOROLT = 'F'
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 ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap,@UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
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)
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
WHERE nn.c_orarendinap='T' AND nn.c_napdatuma >= ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev) AND nn.c_napdatuma <= ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev)
ORDER BY nn.c_hetsorszama, FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')
SELECT
mto.Datum C_NAPDATUMA
,FORMAT(mto.Datum, 'dddd', 'hu-hu') Napneve
,null C_MEGJEGYZES
,nh.C_HETKEZDONAPJA C_HETKEZDONAPJA
,nh.C_HETUTOLSONAPJA C_HETUTOLSONAPJA
,HetSorszama C_HETSORSZAMA
,KezdetVeg KezdetVeg
,nsz.Sorszam Napszam
,Tantargynev Tantargy
,PedagogusNev Tanar
,Tema Oraanyaga
,OraSorszam C_ORAEVESSORSZAM
,Kezdete Kezdete
INTO #szoveges
FROM #megtartottOrak mto
INNER JOIN T_NAPTARIHET_OSSZES nh ON Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @tanevId and nh.torolt='F'
LEFT JOIN @NapSorszam nsz ON nsz.Datum = mto.Datum
SELECT DISTINCT
FORMAT(C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu') Datum
, napneve
, c_megjegyzes
, c_hetkezdonapja
, c_hetutolsonapja
, c_hetsorszama
, KezdetVeg
, napszam
, STUFF((SELECT ' | ' + CAST(bszov.TANTARGY AS VARCHAR(max))
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.KezdetVeg=szov.KezdetVeg
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,3,'') TANTARGY
, STUFF((SELECT ' | ' + CAST(bszov.TANAR AS VARCHAR(max))
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.KezdetVeg=szov.KezdetVeg
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,3,'') TANAR
, STUFF((SELECT ' | ' + CAST(bszov.ORAANYAGA AS VARCHAR(max))
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.KezdetVeg=szov.KezdetVeg
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,3,'') ORAANYAGA
, STUFF((SELECT ' | ' + CAST(bszov.C_ORAEVESSORSZAM AS VARCHAR(max))
FROM #szoveges bszov
WHERE
bszov.C_NAPDATUMA=szov.C_NAPDATUMA
and bszov.KezdetVeg=szov.KezdetVeg
and bszov.napszam=szov.napszam
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,3,'') OraEvesSorszama
,Kezdete
FROM #szoveges szov
ORDER BY FORMAT(C_NAPDATUMA, 'yyyy. MMMM dd.', 'hu-hu'), Kezdete
/*Hiányzások*/
SELECT C_HETSORSZAMA, C_NYOMTATASINEV,
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
INNER JOIN #students s ON s.TanuloID = tm.C_ORATANULOIID
LEFT JOIN (SELECT DISTINCT * FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = O.Id
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
AND tm.C_TANEVID = @tanevId
AND tm.torolt='F' AND o.c_tanevId=@tanevId
AND o.TOROLT = 'F'
AND tm.C_TIPUS IN (1499, 1500)
AND o.C_OSZTALYCSOPORTID = @csoportId
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 #students s ON s.TanuloID = m.C_ORATANULOIID
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 m.C_TIPUS IN (1499, 1500)
and n.TOROLT = 'F'
AND n.C_OSZTALYCSOPORTID = @csoportId
GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB
PIVOT
(
MAX(HIANYZAS)
FOR NAP IN ([0], [1], [2], [3], [4], [5], [6])
) AS PivotTable
) AS ASD
GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV
ORDER BY C_HETSORSZAMA
--------------------------------------
/*TANULÓ adatai*/
SELECT DISTINCT
tanuloID
, sorszam
, torzslapSzam
, oktAzon
, tajSzam
, anyjaNeve
, szulHely
, CONVERT(NVARCHAR(100),DATEPART(YEAR,szulIdo))+'. '+CONVERT(NVARCHAR(100)
, datepart(month,szulIdo))+'. '+convert(nvarchar(100)
, datepart(day,szulIdo))+'.' SzulIdo
, gondviselok
, IIF(socAdat = '', '',
LEFT(socAdat, len(socAdat)- 1)) socAdat
, kepzes
, tanuloNeve
, allampolgarsaga
, diakIgazolvanySzam
, kilepesDatum
, beirasiNaploSorszam
, aktualisOsztaly
FROM (
SELECT
t.ID AS tanuloID
, naploSorszam.Sorszam as sorszam
, f.C_NYILVANTARTASISZAM as torzslapSzam
,f.C_OKTATASIAZONOSITO as oktAzon
, f.C_TAJSZAM as tajSzam
, f.C_ANYJANEVE as anyjaNeve,
f.C_SZULETESIHELY AS szulHely
,f.C_SZULETESIDATUM as szulIdo
,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, ', '') +
IIF(t.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
IIF(t.C_BEJARO = 'T', 'Bejáró, ', '') AS socAdat,
tt.C_NEV as kepzes,
STUFF((
SELECT char(13) + char(10) + gv.C_NEV
FROM T_GONDVISELO_OSSZES gv
WHERE gv.C_TANULOID = s.TanuloID
AND gv.TOROLT = 'F'
FOR XML PATH(''), TYPE).value('.', 'nvarchar(4000)'),1,2,'') AS gondviselok,
f.C_NYOMTATASINEV as tanuloNeve,
d.C_NAME allampolgarsaga,
t.C_DIAKIGAZOLVANYSZAM diakIgazolvanySzam,
MAX(cs.C_KILEPESDATUM) kilepesDatum,
t.C_BEIRASINAPLOSORSZAM beirasiNaploSorszam
,dbo.fnGetDokumentumTanuloAktualisOsztaly(s.TanuloID) aktualisOsztaly
FROM T_TANULO_OSSZES t
INNER JOIN #students s ON s.TanuloID = t.ID
INNER JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId=s.TanuloID
INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID
INNER JOIN T_TANULOCSOPORT_OSSZES cs ON s.TanuloID = cs.C_TANULOID AND cs.C_OSZTALYCSOPORTID = @csoportid AND cs.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
GROUP BY
s.TanuloID, t.ID, naploSorszam.Sorszam, f.C_NYILVANTARTASISZAM, f.C_OKTATASIAZONOSITO, f.C_TAJSZAM, f.C_ANYJANEVE,
f.C_SZULETESIHELY, f.C_SZULETESIDATUM, t.C_MAGANTANULO, t.C_JOGVISZONYATSZUNETELTETO, t.C_SZAKMAIGYAKORLATON, C_SAJATOSNEVELESU, t.C_BEJARO,
t.C_SZOCIALISTAMOGATAS, tt.C_NEV, f.C_NYOMTATASINEV, d.C_NAME, t.C_DIAKIGAZOLVANYSZAM, t.C_BEIRASINAPLOSORSZAM
) tbl
ORDER BY tanuloNeve
/*TANULÓ elérhetőségei */
DECLARE @CimTableTemp TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), CimTipus INT, GondviseloId INT)
INSERT INTO @CimTableTemp
SELECT
TanuloId
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM
,C_CIMTIPUSA
,C_GONDVISELOID
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @csoportid, 'T') tanulo
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @TanevId
WHERE
cim.TOROLT = 'F'
AND cim.C_TANEVID = @tanevId
DECLARE @TanuloCimTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
INSERT INTO @TanuloCimTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @CimTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
AND temp.CimTipus = btemp.CimTipus
AND GondviseloId IS NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
,C_NAME
FROM @CimTableTemp temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = Cimtipus
WHERE
GondviseloId IS NULL
DECLARE @GondViseloCimTable TABLE (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX))
INSERT INTO @GondViseloCimTable
SELECT DISTINCT
GondviseloId
,STUFF((
SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @CimTableTemp btemp
WHERE
temp.GondviseloId = btemp.GondviseloId
AND temp.CimTipus = btemp.CimTipus
AND GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'')
,C_NAME
FROM @CimTableTemp temp
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = Cimtipus
WHERE
GondviseloId IS NOT NULL
DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT)
INSERT INTO @EmailCimTableTemp
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
DECLARE @EmailCimTanuloTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimTanuloTable
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
DECLARE @EmailCimGondviseloTable TABLE (GondviseloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimGondviseloTable
SELECT DISTINCT
GondviseloId
,STUFF((
SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @EmailCimTableTemp btemp
WHERE
temp.GondviseloId = btemp.GondviseloId
AND btemp.GondviseloId IS NOT NULL
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM @EmailCimTableTemp temp
WHERE
GondviseloId IS NOT NULL
DECLARE @TelefonTableTemp TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT)
INSERT INTO @TelefonTableTemp
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
DECLARE @TanuloTelefonTable TABLE (FelhasznaloId INT, Telefon NVARCHAR(MAX))
INSERT INTO @TanuloTelefonTable
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
DECLARE @GondviseloTelefonTable TABLE (GondviseloId INT, Telefon NVARCHAR(MAX))
INSERT INTO @GondviseloTelefonTable
SELECT DISTINCT
GondviseloId
,STUFF((
SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @TelefonTableTemp btemp
WHERE
temp.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.TanuloID tanuloid
,cim.Cimtipusa cimtipus
,cim.Cim
,email.EmailCim email
,telefon.Telefon telefonszam
FROM #students s
LEFT JOIN @TanuloCimTable cim ON cim.FelhasznaloId = s.TanuloID
LEFT JOIN @EmailCimTanuloTable email ON email.FelhasznaloId = s.TanuloID
LEFT JOIN @TanuloTelefonTable telefon ON telefon.FelhasznaloId = s.TanuloID
ORDER BY Cimtipusa
/* TANULO mulasztása */
DECLARE @Mulasztasok TABLE ( IgazoltE nvarchar(1), Tanulo int, Tipus int)
--Félév kezdete
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 #students tanulok ON tanulok.TanuloID = tm.C_ORATANULOIID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID and tanulok.TanuloID = tcs.C_TANULOID AND tcs.TOROLT = 'F'
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)
AND tao.C_OSZTALYCSOPORTID = @csoportid
INSERT INTO @Mulasztasok
SELECT 'T', TanuloID, Tipus FROM #students
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.TanuloID 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 #students 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.TanuloID
LEFT JOIN (SELECT COUNT(Id) Felev, TanuloId FROM #mulasztasTmp WHERE Tipus = 1500 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.TanuloID
--igazolt
INSERT INTO #MulasztasVegleges
SELECT s.TanuloID, '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 #students 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.TanuloID
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.TanuloID
--igazolatlan
INSERT INTO #MulasztasVegleges
SELECT s.TanuloID, '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 #students 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.TanuloID
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.TanuloID
--különböző típusok é
IF @isReszletesMulasztasok = 1
BEGIN
INSERT INTO #MulasztasVegleges
SELECT m.Tanulo tanuloid, '-'+d.c_name tipus,
isnull(p.[9],0) '09.', isnull(p.[10],0) '10.', isnull(p.[11],0) '11.', isnull(p.[12],0) '12.',
isnull(p.[1],0) '01.', isnull(p.[2],0) '02.', isnull(p.[3],0) '03.', isnull(p.[4],0) '04.', isnull(p.[5],0) '05.', isnull(p.[6],0) '06.',
isnull(Felev,0) 'felev', [9]+[10]+[11]+[12]+[1]+[2]+[3]+[4]+[5]+[6] 'osszesen', d.id Rendez
FROM @Mulasztasok m
LEFT JOIN (SELECT * FROM (SELECT TanuloId, Honap, Id, IgazolasTipus, IgazoltE FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR Honap IN ([9], [10], [11], [12], [1], [2], [3], [4], [5], [6]))piv
)p ON p.TanuloId=m.Tanulo AND p.igazoltE = m.IgazoltE AND p.IgazolasTipus = m.Tipus
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = m.Tipus AND d.TOROLT = 'F' AND d.C_TANEVID = @tanevId
LEFT JOIN (SELECT COUNT(Id) Felev, IgazoltE, TanuloId Tanulo, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 GROUP BY IgazoltE, TanuloId, IgazolasTipus
)felev ON felev.tanulo=m.Tanulo AND felev.igazoltE=m.IgazoltE AND felev.IgazolasTipus=m.Tipus
END
--KÉSÉS
INSERT INTO #MulasztasVegleges
SELECT s.TanuloID, '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 #students 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.TanuloID
LEFT JOIN (SELECT SUM(KesesPercben) Felev, TanuloId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege GROUP BY TanuloId) felev on felev.TanuloId=s.TanuloID
--igazolt
INSERT INTO #MulasztasVegleges
select s.TanuloID, '* 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 #students 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.TanuloID
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.TanuloID
--igazolatlan
INSERT INTO #MulasztasVegleges
SELECT s.TanuloID, '* 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 #students 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.TanuloID
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.TanuloID
SELECT Mulasztas.tanuloid, Mulasztas.tipus, Mulasztas.[09.], Mulasztas.[10.], Mulasztas.[11.], Mulasztas.[12.],
Mulasztas.[01.], Mulasztas.[02.], Mulasztas.[03.], Mulasztas.[04.], Mulasztas.[05.], Mulasztas.[06.],
mulasztas.felev felev, ISNULL(Mulasztas.osszesen,0) Osszesen, mulasztas.Rendez
FROM #MulasztasVegleges Mulasztas
ORDER BY Rendez
DECLARE @gondviselok TABLE (Id INT)
INSERT INTO @gondviselok
SELECT g.ID FROM #students s
LEFT JOIN T_GONDVISELO_OSSZES g ON g.C_TANULOID=s.TanuloID
/*gondviselő elérhetőségei */
SELECT DISTINCT
s.TanuloID
,g.C_NEV
,cim.Cimtipusa C_CIMTIPUSA
,cim.cim C_OSSZETETTCIM
,telefon.telefon C_TELEFONSZAM
,email.emailcim C_EMAILCIM
FROM #students s
INNER JOIN T_GONDVISELO_OSSZES g ON g.C_TANULOID = s.TanuloID
LEFT JOIN @EmailCimGondviseloTable email ON email.GondviseloId = g.ID
LEFT JOIN @GondviseloTelefonTable telefon ON telefon.GondviseloId = g.ID
LEFT JOIN @GondViseloCimTable cim ON cim.GondviseloId = g.ID
WHERE
g.Torolt = 'F'
ORDER BY Cimtipusa
/*TANULÓ osztályzatai*/
DECLARE @FelevVegeHonap INT,
@FelevVegeNap INT
SELECT
@FelevVegeHonap = DATEPART(mm, C_DATUM)
,@FelevVegeNap = DATEPART(dd, C_DATUM)
FROM T_TANEVRENDJE_OSSZES
WHERE
C_NAPTIPUSA = 1400
AND TOROLT = 'F'
AND C_TANEVID = @tanevid
SELECT * INTO #jegyekTMP FROM
(SELECT
IIF(DATEPART(mm, Datum) = @FelevVegeHonap, IIF(DATEPART(mm, Datum) = @FelevVegeHonap AND DATEPART(DD, Datum) <= @FelevVegeNap, 13, 14), DATEPART(mm, Datum)) Honap
,TanuloId
,TantargyId
,ISNULL(CONVERT(NVARCHAR(MAX),Osztalyzat), Szazalek) Ertekeles
,TargyKategoriaId Rendez
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevid, @csoportid)
WHERE
TantargyId IS NOT NULL
AND SzovegesErtekeles IS NULL
AND Tipusa = 1518
AND OsztalyCsoportid = @csoportId
UNION ALL
SELECT
15 Honap
,TanuloId
,TantargyId
,ISNULL(CONVERT(NVARCHAR(MAX),Osztalyzat), Szazalek) Ertekeles
,TargyKategoriaId
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevid, @csoportid)
WHERE
TantargyId IS NOT NULL
AND SzovegesErtekeles IS NULL
AND Tipusa = 1519
AND OsztalyCsoportid = @csoportId
UNION ALL
SELECT
16 Honap
,TanuloId
,TantargyId
,ISNULL(CONVERT(NVARCHAR(MAX),Osztalyzat), Szazalek) Ertekeles
,TargyKategoriaId
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevid, @csoportid)
WHERE
TantargyId IS NOT NULL
AND SzovegesErtekeles IS NULL
AND Tipusa = 1520
AND OsztalyCsoportid = @csoportId
)jegyek
SELECT DISTINCT
Honap
,TanuloId
,TantargyId
,STUFF((
SELECT ', ' + CAST(Ertekeles AS nvarchar(max))
FROM #jegyekTMP bj
WHERE
j.TanuloId = bj.TanuloId
AND j.TantargyId = bj.TantargyId
AND j.Honap = bj.Honap
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 2,'') Ertekeles
,Rendez
,
CASE
WHEN Honap = 2 THEN 8
WHEN Honap = 3 THEN 9
WHEN Honap = 4 THEN 10
WHEN Honap = 5 THEN 11
WHEN Honap = 6 THEN 12
WHEN Honap = 7 THEN 13
WHEN Honap = 8 THEN 14
WHEN Honap = 9 THEN 1
WHEN Honap = 10 THEN 2
WHEN Honap = 11 THEN 3
WHEN Honap = 12 THEN 4
WHEN Honap = 13 THEN 5
WHEN Honap = 14 THEN 7
WHEN Honap = 15 THEN 6
WHEN Honap = 16 THEN 15
END AS RendezHonap
INTO #jegyek
FROM #jegyekTMP j
SELECT
TanuloId TanuloId
,C_NEV Tipus
,Rendez
,[9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16]
FROM (SELECT TanuloId, Ertekeles, Honap, TantargyId, Rendez FROM #jegyek) j
INNER JOIN (SELECT Id, C_NEV FROM T_TANTARGY_OSSZES) t ON t.Id = TantargyId
PIVOT (MAX(Ertekeles) FOR Honap IN ([9],[10],[11],[12],[2],[3],[4],[5],[6],[13],[14],[15],[16])) piv
ORDER BY TanuloId, Rendez
/*Szöveges minősítések*/
SELECT
a.tanuloId
,a.Honap
,a.Tantargy
,a.Ertekeles
,a.Tipus
FROM
(
SELECT
s.TanuloID tanuloId
,szoveges.Honap
,szoveges.Tantargy
,szoveges.Ertekeles
,szoveges.Tipus
,szoveges.RendezHonap
FROM #students s
LEFT JOIN (SELECT
C_TANULOID tanuloId
,'['+CONVERT(NVARCHAR(MAX),DATEPART(MONTH, C_ERTEKELESDATUM))+'. hónap]' Honap
,IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) Tantargy
,C_ERTEKELESSZOVEG Ertekeles
,C_NAME Tipus
,CASE
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 1 THEN 5
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 2 THEN 6
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 3 THEN 7
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 4 THEN 8
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 5 THEN 9
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 6 THEN 10
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 7 THEN 11
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 8 THEN 12
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 9 THEN 1
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 10 THEN 2
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 11 THEN 3
WHEN DATEPART(MONTH, C_ERTEKELESDATUM) = 12 THEN 4
END AS RendezHonap
FROM T_TANULOERTEKELES_OSSZES te
INNER JOIN T_TANTARGY_OSSZES t ON t.ID=te.C_TANTARGYID
INNER JOIN #students s ON s.TanuloID = C_TANULOID AND te.C_ERTEKELESDATUM BETWEEN s.BelepesDatum AND s.KilepesDatum
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_ERTEKELESTIPUSA AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F'
WHERE
C_ERTEKELESSZOVEG IS NOT NULL
AND te.C_TANEVID=@tanevId
AND te.TOROLT='F'
AND te.C_OSZTALYCSOPORTID = @csoportId
) szoveges on szoveges.TANULOID=s.TanuloID
)a
ORDER BY RendezHonap, Tantargy
SELECT
COUNT(TanuloId) TanulokSzama
,Osztaly
FROM #students
GROUP BY Osztaly
DROP TABLE #students
END
GO

View file

@ -0,0 +1,361 @@
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), 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)
)
DECLARE @NaploSorszam TABLE (
TanuloId INT
,Sorszam INT
)
INSERT INTO @NaploSorszam
EXEC [sp_GetDokumentumTanuloNaploSorszam]
@osztalyId = @csoportId
INSERT INTO @tanulok
SELECT DISTINCT
t.id Id
,iif(KilepesDatum IS NOT NULL,f.C_NYOMTATASINEV+' (kilépett)', f.C_NYOMTATASINEV) as Nev
,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.Id) as Osztaly
,naploSorszam.Sorszam as Sorszam
,t.C_BEIRASINAPLOSORSZAM as beirasiSorszam
,f.C_NYILVANTARTASISZAM 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(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 fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevId, @csoportId, 'T') tanulok
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id = tanulok.TanuloId AND f.torolt='F'
INNER JOIN T_TANULO_OSSZES t ON t.ID = f.ID
INNER JOIN @NaploSorszam naploSorszam ON t.ID = naploSorszam.TanuloId
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=tanulok.TanuloId
LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid=f.id AND tel.c_gondviseloid is null AND tel.torolt='F' AND tel.c_alapertelmezett='T'
LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid=tanulok.TanuloId AND email.c_gondviseloid is null AND email.torolt='F' AND email.c_alapertelmezett='T'
--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
DECLARE @datum DATE = GETDATE()
CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT)
INSERT INTO #OraSorszam
EXEC sp_GetOraSorszamByOsztaly
@osztalyCsoportId = @csoportId,
@datum = @datum,
@intezmenyId = @intezmenyId,
@tanevId = @tanevId
SELECT DISTINCT
tao.C_ORASZAM Oraszam
,tao.C_HETSORSZAMA Het
,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') Datum
,CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108) DatumKezdettel
,tao.C_DATUM
,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, f.C_NYOMTATASINEV) Tanar
,tao.C_TEMA Tema
,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 = tao.C_TANARID AND f.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tao.C_HELYETTESITOTANARID
LEFT JOIN (SELECT DISTINCT OraSorszam, TanitasioraId FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = tao.Id
WHERE
tao.C_OSZTALYCSOPORTID = @csoportid
AND tao.TOROLT = 'F'
ORDER BY tao.C_ORAKEZDETE, tao.C_ORASZAM
--Napló mulasztás
SELECT C_HETSORSZAMA Het, C_NYOMTATASINEV Tanulo,
MAX([1]) AS [Hetfo], MAX([2]) AS [Kedd], MAX([3]) AS [Szerda],
MAX([4]) AS [Csutortok], MAX([5]) AS [Pentek], MAX([6]) AS [Szombat]
FROM (
SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6]
FROM (
SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, n.C_HETSORSZAMA,
'[' + STUFF((
SELECT ', ' + CAST(OraSorszam AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1499, '(k)','')
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
LEFT JOIN (SELECT DISTINCT OraSorszam, TanitasioraId FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = o.Id
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
AND tm.C_TANEVID = @tanevId
and tm.torolt='F' and tm.c_intezmenyId=@intezmenyId and o.c_tanevId=@tanevId
and o.C_OSZTALYCSOPORTID = @csoportId
and o.TOROLT = 'F'
ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,2,'') + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'F', 1, 0)) AS varchar(2)) AS hianyzas
FROM T_TANITASIORA_OSSZES n
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID and m.torolt='F'
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
WHERE
n.C_TANEVID = @tanevId
AND m.C_TANEVID = @tanevId
AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533)
and n.C_OSZTALYCSOPORTID = @csoportId
and n.TOROLT = 'F'
GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB
PIVOT
(
MAX(HIANYZAS)
FOR NAP IN ([0], [1], [2], [3], [4], [5], [6])
) AS PivotTable
) AS ASD
GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV
ORDER BY C_HETSORSZAMA
--Tanuló feljegyzései
SELECT
tte.C_TANULOID AS Tanulo
,FORMAT(tao.c_datum, 'yyyy.MM.dd.') AS Idopont
,d.C_NAME AS Tipus
,te.C_TARTALOM AS Feljegyzes
,f.C_NYOMTATASINEV AS Feljegyzo
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.Id = tte.C_TANULOESEMENYID
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.Id = te.C_TANITASIORAID
INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = te.C_FELJEGYZOID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.Id = te.C_TIPUS
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