1938 lines
61 KiB
Transact-SQL
1938 lines
61 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetOsztalynaplo
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetOsztalynaplo
|
|
@intezmenyId int
|
|
,@tanevId int
|
|
,@osztalyId int
|
|
,@isSzovegesNaplo bit = 0
|
|
,@iskolaErdekuSzamit bit
|
|
,@fuggolegesTantargyak bit
|
|
,@aktivTanevId int
|
|
,@isReszletesMulasztasok bit
|
|
,@isEgyebFoglalkozasok bit
|
|
,@minTanoraSzam int
|
|
,@isEllenorzo bit = 0
|
|
,@orarendErvenyessegiDatum date
|
|
,@tanuloId int = NULL
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@ElsoNapTanevRendje date
|
|
,@UtolsoNapTanevRendje date
|
|
,@ElsoNapTanev date
|
|
,@UtolsoNapTanev date
|
|
,@isVegzos varchar (1)
|
|
,@FelevVege date
|
|
,@ElsoNap date
|
|
,@UtolsoNap date
|
|
,@VizsgaltNap date
|
|
,@VegzosUtolsoNap date
|
|
,@ocsId int
|
|
,@MaxOraszam int
|
|
,@MinOraszam int
|
|
,@TanitasiNapokSzama int
|
|
,@TanulokSzama int
|
|
,@HetUtolsoNapjaMegtartottOra int
|
|
,@HetUtolsoNapjaTanevendje int
|
|
,@HetUtolsoNapja int
|
|
,@selectList nvarchar (max)
|
|
,@pivotList nvarchar (max)
|
|
,@tantargyakNevvel nvarchar (max)
|
|
,@sql nvarchar (max)
|
|
|
|
CREATE TABLE #Gondviselok (
|
|
TanuloId int
|
|
,GondviseloId int PRIMARY KEY CLUSTERED
|
|
)
|
|
|
|
CREATE TABLE #HetAdatok (
|
|
C_HETSORSZAMA int
|
|
,KezdoDatum date
|
|
,VegeDatum date
|
|
)
|
|
|
|
CREATE TABLE #EvVegiMulasztasok (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Igazolt int
|
|
,Igazolatlan int
|
|
,ElmeletIgazolt int
|
|
,ElmeletIgazolatlan int
|
|
,GyakorlatIgazolt int
|
|
,GyakorlatIgazolatlan int
|
|
,ElmeletOsszes int
|
|
,GyakorlatOsszes int
|
|
,Osszes int
|
|
)
|
|
|
|
CREATE TABLE #FeleviMulasztasok (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Igazolt int
|
|
,Igazolatlan int
|
|
,ElmeletIgazolt int
|
|
,ElmeletIgazolatlan int
|
|
,GyakorlatIgazolt int
|
|
,GyakorlatIgazolatlan int
|
|
,ElmeletOsszes int
|
|
,GyakorlatOsszes int
|
|
,Osszes int
|
|
)
|
|
|
|
CREATE TABLE #NapSorszamTemp (Datum date)
|
|
|
|
CREATE TABLE #NapSorszam (
|
|
Datum date
|
|
,Sorszam nvarchar(4)
|
|
)
|
|
|
|
CREATE TABLE #OsszesOra (
|
|
Datum datetime
|
|
,FormatDate nvarchar (100)
|
|
,Oraszam int
|
|
,HetSorszama int
|
|
,HetNapja nvarchar (100)
|
|
,Megjegyzes nvarchar (1000)
|
|
,Sorszam nvarchar (30)
|
|
)
|
|
|
|
DECLARE @TanuloCimTable TABLE (
|
|
FelhasznaloId int
|
|
,Cim nvarchar (max)
|
|
,Cimtipusa nvarchar (max)
|
|
)
|
|
|
|
DECLARE @GondViseloCimTable TABLE (
|
|
GondviseloId int
|
|
,Cim nvarchar (max)
|
|
,Cimtipusa nvarchar (max)
|
|
)
|
|
|
|
DECLARE @EmailCimTableTemp TABLE (
|
|
FelhasznaloId int
|
|
,EmailCim nvarchar (max)
|
|
,GondviseloId int
|
|
)
|
|
|
|
DECLARE @EmailCimTanuloTable TABLE (
|
|
FelhasznaloId int
|
|
,EmailCim nvarchar (max)
|
|
)
|
|
|
|
DECLARE @EmailCimGondviseloTable TABLE (
|
|
GondviseloId int
|
|
,EmailCim nvarchar (max)
|
|
)
|
|
|
|
DECLARE @TelefonTableTemp TABLE (
|
|
FelhasznaloId int
|
|
,Telefon nvarchar (max)
|
|
,GondviseloId int
|
|
)
|
|
|
|
DECLARE @TanuloTelefonTable TABLE (
|
|
FelhasznaloId int
|
|
,Telefon nvarchar (max)
|
|
)
|
|
|
|
DECLARE @GondviseloTelefonTable TABLE (
|
|
GondviseloId int
|
|
,Telefon nvarchar (max)
|
|
)
|
|
|
|
CREATE TABLE #Tantargyak (
|
|
ID int
|
|
,C_FOTARGYID int
|
|
,C_NEV nvarchar(255) COLLATE DATABASE_DEFAULT
|
|
,C_NEVNYOMTATVANYBAN nvarchar(255) COLLATE DATABASE_DEFAULT
|
|
,C_TARGYKATEGORIA int
|
|
,c_tanuloid int
|
|
,c_tanulocsoportid int
|
|
,RENDEZ1 int
|
|
,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT
|
|
,RENDEZ3 int
|
|
,RENDEZ4 int
|
|
,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT
|
|
,C_INTEZMENYID int
|
|
,C_TANEVID int
|
|
)
|
|
|
|
CREATE TABLE #retTanuloErtekeles (
|
|
ErtekelesId int PRIMARY KEY NOT NULL
|
|
,Datum date
|
|
,TipusId int
|
|
,ErtekelesSzoveg nvarchar (max)
|
|
,ErtekelesSzovegRovidNev nvarchar (3)
|
|
,ErtekelesOsztalyzatId int
|
|
,ErtekelesOsztalyzatValue int
|
|
,ErtekelesOsztalyzatNev nvarchar (max)
|
|
,ErtekelesSzazalek nvarchar (max)
|
|
,MagatartasOsztalyzatId int
|
|
,MagatartasOsztalyzatValue int
|
|
,MagatartasOsztalyzatNev nvarchar (max)
|
|
,MagatartasSzoveg nvarchar (max)
|
|
,MagatartasSzovegRovidNev nvarchar (3)
|
|
,MagatartasErtekId int
|
|
,MagatartasErtek nvarchar (max)
|
|
,MagatartasErtekOsztalyzatkent int
|
|
,SzorgalomOsztalyzatId int
|
|
,SzorgalomOsztalyzatValue int
|
|
,SzorgalomOsztalyzatNev nvarchar (max)
|
|
,SzorgalomSzoveg nvarchar (max)
|
|
,SzorgalomSzovegRovidNev nvarchar (3)
|
|
,SzorgalomErtekId int
|
|
,SzorgalomErtek nvarchar (max)
|
|
,SzorgalomErtekOsztalyzatkent int
|
|
,TanuloId int
|
|
,TanuloCsoportId int
|
|
,OsztalyCsoportId int
|
|
,TantargyId int
|
|
,TantargyNevZarojellel nvarchar (max)
|
|
,TantargyNevNyomtatvanyban nvarchar (max)
|
|
,TantargyNev nvarchar (max)
|
|
,TargyKategoriaId int
|
|
,FotargyE char(1)
|
|
,Altantargy char(1)
|
|
,FotargyId int
|
|
,ErtekelesTema nvarchar (max)
|
|
,ErtekeloId int
|
|
,ErtekelesModjaId int
|
|
,IsMagatartasSzorgalom char(1)
|
|
,Jeloles nvarchar (max)
|
|
,JelolesAndErtekelesTema nvarchar (max)
|
|
)
|
|
|
|
CREATE TABLE #osztalycsoportok (
|
|
OsztalyCsoportId int PRIMARY KEY
|
|
,Kezdete date
|
|
,Vege date
|
|
)
|
|
|
|
CREATE TABLE #OraSorszamTemp (
|
|
TanitasioraId int
|
|
,OraSorszam int
|
|
)
|
|
|
|
CREATE TABLE #OraSorszam (
|
|
TanitasioraId int PRIMARY KEY
|
|
,OraSorszam int
|
|
)
|
|
|
|
SELECT TOP 1
|
|
@ElsoNapTanev = t.C_ELSOTANITASINAP
|
|
,@UtolsoNapTanev = t.C_UTOLSOTANITASINAP
|
|
FROM t.T_TANEV_OSSZES t
|
|
WHERE t.ID = @tanevId
|
|
AND t.TOROLT = 'F'
|
|
|
|
SELECT TOP 1
|
|
@ElsoNapTanevRendje = tr.C_DATUM
|
|
FROM T_TANEVRENDJE_OSSZES tr
|
|
WHERE tr.C_NAPTIPUSA = 1394
|
|
AND tr.C_TANEVID = @tanevId
|
|
AND tr.TOROLT = 'F'
|
|
|
|
SELECT TOP 1
|
|
@UtolsoNapTanevRendje = tr.C_DATUM
|
|
FROM T_TANEVRENDJE_OSSZES tr
|
|
WHERE tr.C_NAPTIPUSA = 1395
|
|
AND tr.C_TANEVID = @tanevId
|
|
AND tr.TOROLT = 'F'
|
|
|
|
SELECT TOP 1
|
|
@isVegzos = o.C_VEGZOSEVFOLYAM
|
|
FROM T_OSZTALYCSOPORT_OSSZES o
|
|
WHERE o.ID = @osztalyId
|
|
|
|
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'
|
|
|
|
SET @VegzosUtolsoNap = (SELECT dbo.fnGetOsztalyVegzosTanitasiNap(@osztalyId, @intezmenyId, @tanevId))
|
|
SET @ElsoNap = ISNULL(@ElsoNapTanevRendje, @ElsoNapTanev)
|
|
SET @UtolsoNap = IIF(@isVegzos = 'T', COALESCE(@VegzosUtolsoNap, @UtolsoNapTanevRendje, @UtolsoNapTanev), ISNULL(@UtolsoNapTanevRendje, @UtolsoNapTanev))
|
|
|
|
IF @tanevId = @AktivtanevId AND @orarendErvenyessegiDatum <= @UtolsoNap
|
|
IF @orarendErvenyessegiDatum <= @ElsoNap
|
|
|
|
SET @VizsgaltNap = (
|
|
SELECT TOP 1
|
|
C_HETKEZDONAPJA
|
|
FROM T_NAPTARIHET_OSSZES
|
|
WHERE C_HETSORSZAMA = 1
|
|
AND TOROLT = 'F'
|
|
AND C_TANEVID = @tanevId
|
|
)
|
|
|
|
ELSE
|
|
|
|
SET @VizsgaltNap = CONVERT(date, @orarendErvenyessegiDatum)
|
|
|
|
ELSE
|
|
|
|
SET @VizsgaltNap = (
|
|
SELECT TOP 1
|
|
nh.C_HETUTOLSONAPJA
|
|
FROM T_NAPTARIHET_OSSZES AS nh
|
|
WHERE @UtolsoNap >= CONVERT(date, nh.C_HETKEZDONAPJA)
|
|
AND @UtolsoNap <= CONVERT(date, nh.C_HETUTOLSONAPJA)
|
|
AND nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = @tanevId
|
|
)
|
|
|
|
|
|
INSERT INTO #NapSorszamTemp (Datum)
|
|
EXEC sp_GetDokumentumTanitasiNapokSorszama
|
|
@tanevId = @tanevId
|
|
,@osztalyId = @osztalyId
|
|
|
|
INSERT INTO #NapSorszam (
|
|
Datum
|
|
,Sorszam
|
|
)
|
|
SELECT
|
|
Sorszam.Datum AS Datum
|
|
,CAST(DENSE_RANK() OVER(ORDER BY Sorszam.Datum) AS nvarchar(4))
|
|
FROM #NapSorszamTemp AS Sorszam
|
|
INNER JOIN fnGetDokumentumOsztalyMegtartottOrakSzama(@tanevId, @osztalyId) AS OrakSzama ON OrakSzama.Datum = Sorszam.Datum
|
|
WHERE Sorszam.Datum <= @UtolsoNap
|
|
AND (@minTanoraSzam = 0 OR OrakSzama.OrakSzama IS NOT NULL OR OrakSzama.OrakSzama >= @minTanoraSzam)
|
|
|
|
SELECT
|
|
TanuloId AS Id
|
|
,tanugyiAdatok.C_NAPLOSORSZAM AS NaploSorszam
|
|
,tanugyiAdatok.C_TORZSLAPSZAM AS TorzslapSzam
|
|
,TanuloCsoport.Id AS TanuloCsoportId
|
|
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
|
|
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
|
|
INTO #studentsWithTanuloCsoport
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') AS OsztalyTanuloi
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.Id = OsztalyTanuloi.TanuloCsoportId
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID
|
|
AND tanugyiAdatok.TOROLT = 'F'
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
SELECT DISTINCT
|
|
Id
|
|
INTO
|
|
#students
|
|
FROM #studentsWithTanuloCsoport
|
|
|
|
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, @osztalyId, @iskolaErdekuSzamit, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT) AS TanulokMulasztasai
|
|
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
SELECT
|
|
CAST(SUM(IIF(IgazoltE = 'T', 1, 0)) AS varchar(5)) + '/' + CAST(SUM(IIF(IgazoltE = 'F', 1, 0)) AS varchar(5)) AS HetiMulasztas
|
|
,HetSorszama
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
INTO #HetiMulasztasok
|
|
FROM #mulasztasTmp
|
|
GROUP BY
|
|
HetSorszama
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
|
|
CREATE CLUSTERED INDEX ci1 ON #mulasztasTmp (
|
|
tanuloid
|
|
,datum
|
|
)
|
|
|
|
CREATE CLUSTERED INDEX ci5 ON #HetiMulasztasok (HetSorszama)
|
|
|
|
SELECT
|
|
Datum
|
|
,TipusId
|
|
,ErtekelesSzoveg
|
|
,ErtekelesSzovegRovidNev
|
|
,ErtekelesOsztalyzatId
|
|
,ErtekelesOsztalyzatValue
|
|
,ErtekelesOsztalyzatNev
|
|
,ErtekelesSzazalek
|
|
,MagatartasOsztalyzatId
|
|
,MagatartasOsztalyzatNev
|
|
,MagatartasSzoveg
|
|
,MagatartasErtekId
|
|
,MagatartasErtek
|
|
,SzorgalomOsztalyzatId
|
|
,SzorgalomOsztalyzatNev
|
|
,SzorgalomSzoveg
|
|
,SzorgalomErtekId
|
|
,SzorgalomErtek
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
,OsztalyCsoportId
|
|
,TantargyId
|
|
,TantargyNevZarojellel
|
|
,TantargyNev
|
|
,TantargyNevNyomtatvanyban
|
|
,TargyKategoriaId
|
|
,FotargyE
|
|
,FotargyId
|
|
,Altantargy
|
|
,ErtekelesTema
|
|
,Jeloles
|
|
,JelolesAndErtekelesTema
|
|
,isMagatartasSzorgalom
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
INTO #ErtekelesekTemp
|
|
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
CREATE CLUSTERED INDEX ci111 ON #ErtekelesekTemp (
|
|
datum
|
|
,tanulocsoportid
|
|
)
|
|
|
|
-- Naplo fooldal
|
|
INSERT INTO #osztalycsoportok (
|
|
OsztalyCsoportId
|
|
,Kezdete
|
|
,Vege
|
|
)
|
|
SELECT
|
|
OsztalyCsoportok.Id
|
|
,OsztalyCsoportok.Kezdete
|
|
,OsztalyCsoportok.Vege
|
|
FROM fnGetKapcsolodoOsztalyCsoportokByDateRange(@osztalyId, @ElsoNap, @UtolsoNap, @intezmenyId, @tanevId) AS OsztalyCsoportok
|
|
INNER JOIN fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId) AS TanoraiCeluOsztalyCsoportok ON TanoraiCeluOsztalyCsoportok.ID = OsztalyCsoportok.Id
|
|
|
|
DECLARE csoport_cursor CURSOR
|
|
FOR
|
|
SELECT
|
|
OsztalyCsoportId
|
|
FROM #osztalycsoportok
|
|
|
|
OPEN csoport_cursor
|
|
|
|
FETCH NEXT FROM csoport_cursor
|
|
INTO @ocsId
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
|
|
INSERT INTO #OraSorszamTemp
|
|
EXEC sp_GetOraSorszamByOsztaly
|
|
@osztalyCsoportId = @ocsId
|
|
,@datum = @UtolsoNap
|
|
,@intezmenyId = @intezmenyId
|
|
,@tanevId = @tanevId
|
|
|
|
FETCH NEXT FROM csoport_cursor INTO
|
|
@ocsId
|
|
END
|
|
|
|
CLOSE csoport_cursor
|
|
DEALLOCATE csoport_cursor
|
|
|
|
INSERT INTO #OraSorszam
|
|
SELECT DISTINCT
|
|
TanitasioraId
|
|
,OraSorszam
|
|
FROM #OraSorszamTemp
|
|
|
|
SELECT
|
|
tao.Id AS TanitasioraId
|
|
,tao.C_DATUM AS Datum
|
|
,IIF(tao.C_ORASZAM IS NULL, dbo.fnGetDokumentumOrakezdetToOraszam(CONVERT(varchar(5), tao.C_ORAKEZDETE, 108), @tanevId), tao.C_ORASZAM) AS Oraszam
|
|
,pedagogus.ID AS PedagogusId
|
|
,IIF(C_MEGTARTOTT = 'T', pedagogus.C_NYOMTATASINEV, '-') AS PedagogusNev
|
|
,IIF(C_MEGTARTOTT = 'T', ISNULL(CONVERT(nvarchar(max), OraSorszam) + '.', '-'), '-') AS OraSorszam
|
|
,IIF(C_MEGTARTOTT = 'T', IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(varchar(5), C_ORAKEZDETE, 108) + ' - '
|
|
+ CONVERT(varchar(5), C_ORAVEGE, 108) + ') ', '') + REPLACE(REPLACE(C_TEMA, CHAR(0x0007), ''),CHAR(0x000B), ''), 'Elmaradt')
|
|
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás: ' + helyettesito.C_NYOMTATASINEV + ')', '')
|
|
+ IIF(C_HELYETTESITESTIPUSA IN(1494, 1495),'(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV + ') ', '') AS Tema
|
|
,IIF(C_MEGTARTOTT = 'T', IIF(C_CSENGETESIRENDORAID IS NULL, '(' + CONVERT(varchar(5), C_ORAKEZDETE, 108) + ' - '
|
|
+ CONVERT(varchar(5), C_ORAVEGE, 108) + ') ', '') + ISNULL(CONVERT(nvarchar(max), OraSorszam), '-') + '.: '
|
|
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás, ' + helyettesito.C_NYOMTATASINEV + ') ', '')
|
|
+ IIF(C_HELYETTESITESTIPUSA IN(1494, 1495), '(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV + ') ', '')
|
|
+ REPLACE(REPLACE(C_TEMA, CHAR(0x0007), ''), CHAR(0x000B), ''), 'Elmaradt') AS TemaOraSzammal
|
|
,tao.C_HETNAPJA AS HetNapja
|
|
,nh.C_HETSORSZAMA AS HetSorszama
|
|
,C_MEGTARTOTT AS Megtartott
|
|
,tao.C_TANTARGYID AS TantargyId
|
|
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) AS Tantargynev
|
|
,tao.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
|
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, IIF(LEN(C_NEVNYOMTATVANYBAN) + LEN(tantargy.C_NEV) < 90,C_NEVNYOMTATVANYBAN
|
|
+ ' (' + tantargy.C_NEV + ')', C_NEVNYOMTATVANYBAN), tantargy.C_NEV) + '-' + CHAR(13) + CHAR(10) + REPLACE(REPLACE(pedagogus.C_NYOMTATASINEV, '[', '('), ']', ')') AS TantargyPedagogussal
|
|
INTO #megtartottOrak
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
LEFT 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
|
|
TanitasioraId
|
|
,OraSorszam
|
|
FROM #OraSorszam
|
|
) AS oraSorszam ON oraSorszam.TanitasioraId = tao.Id
|
|
INNER JOIN T_NAPTARIHET_OSSZES nh ON tao.C_DATUM BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA
|
|
AND nh.C_TANEVID = @tanevId
|
|
AND nh.TOROLT = 'F'
|
|
INNER JOIN #osztalycsoportok OsztalyCsoportok ON OsztalyCsoportok.OsztalyCsoportId = tao.C_OSZTALYCSOPORTID
|
|
AND tao.C_DATUM BETWEEN OsztalyCsoportok.Kezdete
|
|
AND OsztalyCsoportok.Vege
|
|
WHERE tao.TOROLT = 'F'
|
|
|
|
CREATE CLUSTERED INDEX ciMegtartottOrak ON #megtartottOrak (Datum)
|
|
|
|
SELECT
|
|
@MaxOraszam = ISNULL(MAX(Oraszam), 4)
|
|
,@MinOraszam = ISNULL(MIN(Oraszam), 1)
|
|
FROM #megtartottOrak
|
|
|
|
SELECT
|
|
@TanulokSzama = COUNT(DISTINCT TanuloId)
|
|
FROM #ErtekelesekTemp
|
|
WHERE TipusId = 1520
|
|
|
|
SELECT
|
|
@TanitasiNapokSzama = MAX(CAST(Sorszam AS int))
|
|
FROM #NapSorszam
|
|
|
|
SELECT DISTINCT
|
|
@osztalyId AS OsztalyId
|
|
,ocs.C_NEV AS OsztalyNev
|
|
,o.C_OSZTALYNAPLOLEIRASA AS OsztalyMegjegyzes
|
|
,o.C_OSZTALYFONOKID AS PartnerID
|
|
,ofo.C_NYOMTATASINEV AS Osztalyfonok
|
|
,o.C_OFOHELYETTESID AS OsztalyfonokHelyettesId
|
|
,i.C_IGAZGATONEVE AS IntezmenyVezeto
|
|
,i.C_NEV AS IntezmenyNeve
|
|
,i.C_VAROS AS IntezmenyVaros
|
|
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime
|
|
,i.C_OMKOD AS IntezmenyOMKod
|
|
,dbo.fnGetDokumentumDatumFormatum(o.C_OSZTALYNAPLOMEGNYITASA) AS NaploMegnyitasanakDatuma
|
|
,dbo.fnGetDokumentumDatumFormatum(o.C_OSZTALYNAPLOZARASA) AS NaploZarasanakDatuma
|
|
,o.C_OSZTALYNAPLOZARASA AS NaplozarasDateFormat
|
|
,@TanulokSzama AS TanulokSzama
|
|
,@TanitasiNapokSzama AS TanitasiNapokSzama
|
|
,@MaxOraszam AS MaxOraszam
|
|
,@MinOraszam AS MinOraszam
|
|
,@tanevId AS TanevId
|
|
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
|
|
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
|
,o.C_TANTERVID AS TantervId
|
|
,o.C_KEPZESIFORMA AS KepzesiForma
|
|
,o.C_AGAZAT AS Agazat
|
|
,o.C_SZAKMACSOPORT AS SzakmaCsoport
|
|
,o.C_SZAKKEPESITES AS Szakkepesites
|
|
,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
|
|
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
|
|
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
|
|
,o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
|
|
,o.C_NEMZETISEGI AS OJNemzetisegi
|
|
,o.C_KETTANNYELVU AS OJKettannyelvu
|
|
,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
|
|
,o.C_LOGOPEDIAI AS OJLogopediai
|
|
,o.C_SPORT AS OJSportOsztaly
|
|
,o.C_AJPROGRAM AS OJAranyJanosProgram
|
|
,o.C_GYOGYPEDAGOGIAI AS OJGyogypedagogiai
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID
|
|
AND o.torolt = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES i ON i.C_INTEZMENYID = ocs.C_INTEZMENYID
|
|
AND i.C_TANEVID = ocs.C_TANEVID
|
|
AND i.Torolt = 'F'
|
|
WHERE ocs.ID = @osztalyId
|
|
|
|
-- Tanarok
|
|
IF @isEllenorzo = 0
|
|
|
|
SELECT DISTINCT
|
|
targy.C_NEV AS TargyNev
|
|
,IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T', '', tanar.C_NYOMTATASINEV) AS TanarNev
|
|
,targykategoria.C_ORDER
|
|
,tanar.ID AS TanarId
|
|
,tanar.C_OKTATASIAZONOSITO AS TanarOktAzon
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevID, @osztalyId, 'T') AS tanulok
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES AS tcs ON tcs.C_TANULOID = tanulok.TanuloId
|
|
AND tcs.C_BELEPESDATUM >= tanulok.BelepesDatum
|
|
AND (tanulok.KilepesDatum IS NULL OR tcs.C_BELEPESDATUM < tanulok.KilepesDatum)
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES AS fogl ON fogl.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
|
|
AND fogl.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS tanar ON fogl.C_TANARID = tanar.ID
|
|
AND tanar.TOROLT = 'F'
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES AS munkaugyiAdat ON munkaugyiAdat.C_ALKALMAZOTTID = tanar.ID
|
|
AND munkaugyiAdat.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES AS targy ON targy.ID = fogl.C_TANTARGYID
|
|
AND targy.TOROLT = 'F'
|
|
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID
|
|
AND targykategoria.TOROLT = 'F'
|
|
AND targykategoria.C_TANEVID = @tanevID
|
|
WHERE fogl.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
|
|
ORDER BY
|
|
targykategoria.C_ORDER
|
|
,targy.C_NEV
|
|
,IIF(munkaugyiAdat.C_BETOLTETLENALLASHELY = 'T','',tanar.C_NYOMTATASINEV)
|
|
|
|
ELSE
|
|
|
|
SELECT DISTINCT
|
|
Tanulok.Id AS TanuloId
|
|
,Tantargy.C_NEV AS TargyNev
|
|
,Tanar.C_NYOMTATASINEV AS TanarNev
|
|
,C_ORDER
|
|
FROM #students AS Tanulok
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES AS TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulok.Id
|
|
AND TanuloCsoport.TOROLT = 'F'
|
|
AND @VizsgaltNap BETWEEN C_BELEPESDATUM AND ISNULL(C_KILEPESDATUM,@UtolsoNap)
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES AS Foglalkozas ON Foglalkozas.C_OSZTALYCSOPORTID = TanuloCsoport.C_OSZTALYCSOPORTID
|
|
AND Foglalkozas.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS Tanar ON Tanar.Id = Foglalkozas.C_TANARID
|
|
INNER JOIN T_TANTARGY_OSSZES AS Tantargy ON Tantargy.Id = Foglalkozas.C_TANTARGYID
|
|
INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES AS TargyKategoria ON TargyKategoria.ID = Tantargy.C_TARGYKATEGORIA
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS TargyKategoria_order ON TargyKategoria.ID = TargyKategoria_order.ID
|
|
AND TargyKategoria_order.TOROLT = 'F'
|
|
AND TargyKategoria_order.C_TANEVID = @tanevId
|
|
ORDER BY
|
|
C_ORDER
|
|
|
|
-- Orarend
|
|
EXEC sp_GetOrarendOsztalyonkent
|
|
@intezmenyId
|
|
,@tanevID
|
|
,@osztalyid
|
|
,@aktivTanevId
|
|
,@isEgyebFoglalkozasok
|
|
,@orarendErvenyessegiDatum
|
|
|
|
-- Oralatogatasok
|
|
SELECT
|
|
dbo.fnGetDokumentumDatumFormatum(T_ORALATOGATAS_OSSZES.C_DATUM) AS DATUM
|
|
,TANITASIORA.C_ORASZAM AS ORASZAM
|
|
,TARGY.C_NEV AS TARGYNEV
|
|
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS LATOGATO
|
|
,T_ORALATOGATAS_OSSZES.C_ORALATOGATOBEOSZTASA AS LATOGATOBEOSZTAS
|
|
,T_ORALATOGATAS_OSSZES.C_MEGJEGYZES AS ESZREVETEL
|
|
INTO #Oralatogatas
|
|
FROM T_ORALATOGATAS_OSSZES
|
|
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_ORALATOGATAS_OSSZES.C_ERTEKELOID
|
|
INNER JOIN (
|
|
SELECT
|
|
ID
|
|
,C_TANTARGYID
|
|
,C_ORASZAM
|
|
,C_OSZTALYCSOPORTID
|
|
FROM T_TANITASIORA_OSSZES
|
|
) AS TANITASIORA ON TANITASIORA.ID = T_ORALATOGATAS_OSSZES.C_MEGTARTOTTORAID
|
|
INNER JOIN T_TANTARGY_OSSZES AS TARGY ON TARGY.ID = TANITASIORA.C_TANTARGYID
|
|
INNER JOIN #osztalycsoportok AS ocs ON ocs.OsztalyCsoportId = C_OSZTALYCSOPORTID
|
|
WHERE T_ORALATOGATAS_OSSZES.TOROLT = 'F'
|
|
AND T_ORALATOGATAS_OSSZES.c_tanevId = @tanevId
|
|
AND T_ORALATOGATAS_OSSZES.C_INTEZMENYID = @intezmenyId
|
|
ORDER BY
|
|
T_ORALATOGATAS_OSSZES.C_DATUM
|
|
,TANITASIORA.C_ORASZAM
|
|
|
|
IF (SELECT COUNT(1) FROM #Oralatogatas) = 0
|
|
|
|
SELECT
|
|
NULL AS DATUM
|
|
,NULL AS ORASZAM
|
|
,NULL AS TARGYNEV
|
|
,NULL AS LATOGATO
|
|
,NULL AS LATOGATOBEOSZTAS
|
|
,'' AS ESZREVETEL
|
|
|
|
ELSE
|
|
|
|
SELECT
|
|
DATUM
|
|
,ORASZAM
|
|
,TARGYNEV
|
|
,LATOGATO
|
|
,LATOGATOBEOSZTAS
|
|
,ESZREVETEL
|
|
FROM #Oralatogatas
|
|
ORDER BY
|
|
DATUM
|
|
|
|
-- Naploellenorzesek
|
|
SELECT DISTINCT
|
|
dbo.fnGetDokumentumDatumFormatum(C_ELLENORZESDATUMA) AS ELLENORZESDATUMA
|
|
,ELLENORZO.C_NYOMTATASINEV AS ELLENORZOSZEMELY
|
|
,T_NAPLOELLENORZES_OSSZES.C_ESZREVETEL AS ESZREVETEL
|
|
INTO #NaploEllenorzes
|
|
FROM T_NAPLOELLENORZES_OSSZES
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS ELLENORZO ON ELLENORZO.ID = T_NAPLOELLENORZES_OSSZES.C_ELLENORZOSZEMELYID
|
|
WHERE C_OSZTALYID = @osztalyId
|
|
AND T_NAPLOELLENORZES_OSSZES.TOROLT = 'F'
|
|
AND T_NAPLOELLENORZES_OSSZES.c_tanevId = @tanevId
|
|
|
|
IF (SELECT COUNT(1) FROM #NaploEllenorzes) = 0
|
|
|
|
SELECT
|
|
NULL AS ELLENORZESDATUMA
|
|
,NULL AS ELLENORZOSZEMELY
|
|
,NULL AS ESZREVETEL
|
|
|
|
ELSE
|
|
|
|
SELECT
|
|
ELLENORZESDATUMA
|
|
,ELLENORZOSZEMELY
|
|
,ESZREVETEL
|
|
FROM #NaploEllenorzes
|
|
|
|
SELECT
|
|
@HetUtolsoNapjaMegtartottOra = IIF(MAX(HetNapja) IS NULL OR MAX(HetNapja) <= 1412, 1412, MAX(HetNapja))
|
|
FROM #megtartottOrak
|
|
|
|
SELECT
|
|
@HetUtolsoNapjaTanevendje = ISNULL(MAX(C_HETNAPJA), 1412)
|
|
FROM #NapSorszam AS NapSorszam
|
|
INNER JOIN T_NAPTARINAP_OSSZES AS NaptariNap ON NaptariNap.C_NAPDATUMA = NapSorszam.Datum
|
|
AND NaptariNap.C_TANEVID = @tanevId
|
|
|
|
SET @HetUtolsoNapja = IIF(@HetUtolsoNapjaMegtartottOra >= @HetUtolsoNapjaTanevendje, @HetUtolsoNapjaMegtartottOra, @HetUtolsoNapjaTanevendje)
|
|
|
|
INSERT INTO #HetAdatok (
|
|
C_HETSORSZAMA
|
|
,KezdoDatum
|
|
,VegeDatum
|
|
)
|
|
SELECT
|
|
nh.C_HETSORSZAMA
|
|
,MIN(nn.C_NAPDATUMA) AS HetKezdete
|
|
,IIF(ISNULL(MAX(tr.C_DATUM), MAX(nn.C_NAPDATUMA)) > MAX(nn.C_NAPDATUMA), MAX(tr.C_DATUM), MAX(nn.C_NAPDATUMA)) AS HetVege
|
|
FROM T_NAPTARIHET_OSSZES AS nh
|
|
INNER JOIN T_NAPTARINAP_OSSZES AS nn ON nn.C_NAPDATUMA BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA
|
|
AND nn.C_INTEZMENYID = @intezmenyId
|
|
AND nn.C_TANEVID = @tanevId
|
|
AND nn.C_ALAPHETNAPJA <= 1412
|
|
AND nn.C_HETSORSZAMA = nh.C_HETSORSZAMA
|
|
AND nn.C_NAPDATUMA BETWEEN @ElsoNap AND @UtolsoNap
|
|
AND nn.TOROLT = 'F'
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES AS tr ON tr.C_INTEZMENYID = @intezmenyId
|
|
AND tr.C_TANEVID = @tanevId
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_DATUM BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA
|
|
WHERE nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = @tanevId
|
|
AND nh.C_INTEZMENYID = @intezmenyId
|
|
GROUP BY
|
|
nh.C_HETSORSZAMA
|
|
ORDER BY
|
|
nh.C_HETSORSZAMA
|
|
|
|
SELECT
|
|
ha.C_HETSORSZAMA
|
|
,dbo.fnGetDokumentumDatumFormatum(ha.KezdoDatum)
|
|
,dbo.fnGetDokumentumDatumFormatum(ha.VegeDatum)
|
|
FROM #HetAdatok AS ha
|
|
|
|
INSERT INTO #OsszesOra (
|
|
Datum
|
|
,FormatDate
|
|
,Oraszam
|
|
,HetSorszama
|
|
,HetNapja
|
|
,Megjegyzes
|
|
,Sorszam
|
|
)
|
|
SELECT
|
|
Datum
|
|
,FormatDate
|
|
,Oraszam
|
|
,HetSorszama
|
|
,HetNapja
|
|
,IIF(RIGHT(Megjegyzes, 1) = ',', LEFT(Megjegyzes, LEN(Megjegyzes) - 1), Megjegyzes) AS Megjegyzes
|
|
,Sorszam
|
|
FROM (
|
|
SELECT
|
|
C_NAPDATUMA AS Datum
|
|
,dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) AS FormatDate
|
|
,oraszam AS Oraszam
|
|
,ha.C_HETSORSZAMA AS HetSorszama
|
|
,AlapHetnapja.C_NAME AS HetNapja
|
|
,ISNULL(trNaptipus.C_NAME + ',', '') + IIF(LEN(ISNULL(tr.C_MEGJEGYZES, '')) = 0, '', ' ' + tr.C_MEGJEGYZES + ',')
|
|
+ IIF(LEN(ISNULL(osztalyCsoportTanevRendje.Megjegyzes, '')) = 0, '', ' ' + osztalyCsoportTanevRendje.Megjegyzes + ',')
|
|
+ IIF(tr.C_HETNAPJA <> nn.C_ALAPHETNAPJA, ' (' + Hetnapja.C_NAME + ')', '') AS Megjegyzes
|
|
,ISNULL(Sorszam, '-') AS Sorszam
|
|
FROM T_NAPTARINAP_OSSZES AS nn
|
|
INNER JOIN #HetAdatok AS ha ON nn.C_NAPDATUMA BETWEEN ha.KezdoDatum AND ha.VegeDatum
|
|
LEFT JOIN #NapSorszam AS sorszam ON sorszam.Datum = nn.C_NAPDATUMA
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES AS tr ON tr.C_DATUM = nn.C_NAPDATUMA
|
|
AND tr.C_TANEVID = nn.C_TANEVID
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
LEFT JOIN (
|
|
SELECT
|
|
C_DATUM
|
|
,ISNULL(trNaptipus.C_NAME + ', ', '') + ISNULL('(' + HetNapja.C_NAME + ')', '') + ISNULL(C_MEGJEGYZES, '') AS Megjegyzes
|
|
FROM T_OSZTALYCSOPORT_TANEVRENDJE AS ocstr
|
|
INNER JOIN T_TANEVRENDJE_OSSZES AS tr ON tr.Id = ocstr.C_TANEVRENDJEID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS HetNapja ON HetNapja.ID = tr.C_HETNAPJA
|
|
AND HetNapja.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA
|
|
AND trNaptipus.C_TANEVID = @tanevId
|
|
AND tr.C_NAPTIPUSA <> 1385
|
|
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
|
AND tr.TOROLT = 'F'
|
|
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
) AS osztalyCsoportTanevRendje ON osztalyCsoportTanevRendje.C_DATUM = nn.C_NAPDATUMA
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS trNaptipus ON trNaptipus.ID = tr.C_NAPTIPUSA
|
|
AND trNaptipus.C_TANEVID = @tanevId
|
|
AND tr.C_NAPTIPUSA <> 1385
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS AlapHetnapja ON AlapHetnapja.Id = nn.C_ALAPHETNAPJA
|
|
AND AlapHetnapja.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS Hetnapja ON Hetnapja.Id = nn.C_HETNAPJA
|
|
AND Hetnapja.C_TANEVID = @tanevId
|
|
CROSS JOIN(VALUES
|
|
(0),
|
|
(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)) AS oraszam(oraszam)
|
|
WHERE nn.C_TANEVID = @tanevId
|
|
AND nn.TOROLT = 'F'
|
|
AND nn.C_NAPDATUMA <= @UtolsoNap
|
|
AND oraszam <= @MaxOraszam
|
|
AND nn.C_HETNAPJA BETWEEN 1407 AND @HetUtolsoNapja
|
|
) AS NapAdatok
|
|
|
|
IF @MinOraszam > 0
|
|
|
|
DELETE
|
|
FROM #OsszesOra
|
|
WHERE
|
|
Oraszam = 0
|
|
|
|
IF @isSzovegesNaplo = 0
|
|
BEGIN /* NORMÁL OSZTÁLYNAPLÓ */
|
|
SELECT
|
|
MulasztasokKulso.Datum AS Datum
|
|
,Felhasznalo.C_NYOMTATASINEV + ' [' + STUFF(
|
|
(
|
|
SELECT
|
|
', ' + CAST(MulasztasokBelso.Oraszam AS varchar(3)) + IIF(MulasztasokBelso.Tipus = 1499, '(k)', '')
|
|
FROM #mulasztasTmp AS MulasztasokBelso
|
|
WHERE MulasztasokBelso.Datum = MulasztasokKulso.Datum
|
|
AND MulasztasokBelso.TanuloId = MulasztasokKulso.TanuloId
|
|
AND MulasztasokBelso.TanuloCsoportId = MulasztasokKulso.TanuloCsoportId
|
|
ORDER BY
|
|
Datum
|
|
,Oraszam
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 2, ''
|
|
) + '] ' + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'T', 1, 0)) AS varchar(5)) + '/' + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'F', 1, 0)) AS varchar(5)) AS Hianyzas
|
|
INTO #hianyzasokTMP
|
|
FROM #mulasztasTmp AS MulasztasokKulso
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS Felhasznalo ON Felhasznalo.Id = MulasztasokKulso.TanuloId
|
|
GROUP BY
|
|
MulasztasokKulso.Datum
|
|
,MulasztasokKulso.TanuloId
|
|
,TanuloCsoportId
|
|
,Felhasznalo.C_NYOMTATASINEV
|
|
|
|
CREATE CLUSTERED INDEX ci2 ON #hianyzasokTMP (datum)
|
|
|
|
SELECT
|
|
Datum
|
|
,STUFF(
|
|
(
|
|
SELECT
|
|
CHAR(13) + CHAR(10) + Hianyzas
|
|
FROM #hianyzasokTMP AS bHianyzasok
|
|
WHERE Hianyzasok.Datum = bHianyzasok.Datum
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 2, ''
|
|
) AS Hianyzas
|
|
INTO #hianyzasok
|
|
FROM #hianyzasokTMP AS Hianyzasok
|
|
|
|
SELECT DISTINCT
|
|
Datum
|
|
,HetSorszama
|
|
,HetNapja
|
|
,Oraszam
|
|
,STUFF(
|
|
(
|
|
SELECT
|
|
CAST(bmto.TantargyNev AS nvarchar(max)) + CHAR(13) + CHAR(10)
|
|
FROM #megtartottOrak AS bmto
|
|
WHERE bmto.Datum = mto.Datum
|
|
AND bmto.Oraszam = mto.Oraszam
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 0, ''
|
|
) AS Tantargy
|
|
INTO #Orarend
|
|
FROM #megtartottOrak AS mto
|
|
|
|
SELECT DISTINCT
|
|
Datum
|
|
,@MinOraszam AS Oraszam
|
|
,TantargyPedagogussal
|
|
,STUFF(
|
|
(
|
|
SELECT DISTINCT
|
|
CAST(bmto.TemaOraSzammal AS nvarchar(max)) + CHAR(13) + CHAR(10)
|
|
FROM #megtartottOrak AS bmto
|
|
WHERE bmto.Datum = mto.Datum
|
|
AND bmto.TantargyPedagogussal = mto.TantargyPedagogussal
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 0, ''
|
|
) AS Tema
|
|
INTO #1nap1TantargyTobbOra
|
|
FROM #megtartottOrak AS mto
|
|
|
|
SELECT
|
|
@tantargyakNevvel = ISNULL(@tantargyakNevvel + ', ', '') + '[' + IIF(LEN(TantargyPedagogussal) > 128, SUBSTRING(TantargyPedagogussal, 1, 120) + '...', TantargyPedagogussal) + ']'
|
|
FROM (
|
|
SELECT DISTINCT
|
|
TantargyPedagogussal
|
|
,C_TARGYKATEGORIA
|
|
FROM #megtartottOrak AS m
|
|
INNER JOIN T_TANTARGY_OSSZES AS t ON t.Id = m.TantargyId
|
|
) AS t
|
|
ORDER BY
|
|
C_TARGYKATEGORIA
|
|
|
|
SET @sql = '
|
|
SELECT
|
|
Datum
|
|
,Oraszam
|
|
, ' + @tantargyakNevvel + '
|
|
INTO #naplo
|
|
FROM #1nap1TantargyTobbOra
|
|
PIVOT (MAX(Tema) FOR TantargyPedagogussal IN (' + @tantargyakNevvel + ')) piv
|
|
|
|
SELECT DISTINCT
|
|
OsszesOra.FormatDate AS C_NAPDATUMA
|
|
,Hianyzas AS Mulasztas
|
|
,OsszesOra.Oraszam AS ORASZAM
|
|
,NULL AS T1ID
|
|
,NULL AS T2ID
|
|
,NULL AS T3ID
|
|
,Orarend.Tantargy AS TANTARGY
|
|
,OsszesOra.HetSorszama AS C_HETSORSZAMA
|
|
,OsszesOra.HetNapja AS C_HETNAPJA_DNAME
|
|
,OsszesOra.Sorszam AS NapSorszama
|
|
,OsszesOra.Megjegyzes AS Megjegyzés
|
|
,' + @tantargyakNevvel + '
|
|
FROM #OsszesOra OsszesOra
|
|
LEFT JOIN #Orarend Orarend ON Orarend.Datum = OsszesOra.Datum AND Orarend.Oraszam = OsszesOra.Oraszam
|
|
LEFT JOIN #naplo Naplo ON Naplo.Datum = OsszesOra.Datum AND OsszesOra.Oraszam = @MinOraszam
|
|
LEFT JOIN #hianyzasok Hianyzasok ON Hianyzasok.Datum = OsszesOra.Datum
|
|
ORDER BY
|
|
OsszesOra.FormatDate
|
|
,Oraszam
|
|
';
|
|
|
|
IF @sql IS NULL
|
|
|
|
SELECT
|
|
NULL AS C_NAPDATUMA
|
|
,NULL AS Mulasztas
|
|
,NULL AS Megjegyzés
|
|
,NULL AS ORASZAM
|
|
,NULL AS T1ID
|
|
,NULL AS T2ID
|
|
,NULL AS T3ID
|
|
,NULL AS TANTARGY
|
|
,NULL AS C_HETSORSZAMA
|
|
,NULL AS C_HETNAPJA_DNAME
|
|
,NULL AS NapSorszama
|
|
|
|
ELSE
|
|
|
|
EXEC sp_executesql
|
|
@sql
|
|
,N'@MinOraszam int'
|
|
,@MinOraszam
|
|
|
|
DROP TABLE #1nap1TantargyTobbOra;
|
|
DROP TABLE #OsszesOra;
|
|
DROP TABLE #hianyzasokTMP;
|
|
DROP TABLE #hianyzasok;
|
|
DROP TABLE #Orarend;
|
|
|
|
END -- NORMÁL OSZTÁLYNAPLÓ
|
|
ELSE
|
|
BEGIN -- SZÖVEGES OSZTÁLYNAPLÓ
|
|
SELECT
|
|
OsszesOra.Datum AS C_NAPDATUMA
|
|
,OsszesOra.HetNapja AS Napneve
|
|
,OsszesOra.Megjegyzes AS C_MEGJEGYZES
|
|
,nh.C_HETKEZDONAPJA AS C_HETKEZDONAPJA
|
|
,nh.C_HETUTOLSONAPJA AS C_HETUTOLSONAPJA
|
|
,OsszesOra.HetSorszama AS C_HETSORSZAMA
|
|
,OsszesOra.Oraszam AS OraSorszam
|
|
,OsszesOra.Sorszam AS Napszam
|
|
,Tantargynev AS Tantargy
|
|
,PedagogusNev AS Tanar
|
|
,Tema AS Oraanyaga
|
|
,OraSorszam AS C_ORAEVESSORSZAM
|
|
INTO #szoveges
|
|
FROM #OsszesOra AS OsszesOra
|
|
LEFT JOIN #megtartottOrak AS mto ON mto.Datum = OsszesOra.Datum
|
|
AND OsszesOra.Oraszam = mto.Oraszam
|
|
INNER JOIN T_NAPTARIHET_OSSZES AS nh ON OsszesOra.Datum BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA
|
|
AND nh.C_TANEVID = @tanevId
|
|
AND nh.torolt = 'F'
|
|
|
|
CREATE CLUSTERED INDEX ci4 ON #szoveges (C_NAPDATUMA)
|
|
|
|
SELECT DISTINCT
|
|
dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA) AS C_NAPDATUMA
|
|
,Napneve
|
|
,C_MEGJEGYZES
|
|
,C_HETKEZDONAPJA
|
|
,C_HETUTOLSONAPJA
|
|
,C_HETSORSZAMA
|
|
,OraSorszam
|
|
,Napszam
|
|
,(
|
|
SELECT
|
|
CAST(bszov.TANTARGY AS nvarchar (max)) + NCHAR(10)
|
|
FROM #szoveges AS bszov
|
|
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
|
|
AND bszov.ORASORSZAM = szov.ORASORSZAM
|
|
AND bszov.napszam = szov.napszam
|
|
FOR XML PATH('')
|
|
) AS TANTARGY
|
|
,(
|
|
SELECT
|
|
CAST(bszov.TANAR AS nvarchar (max)) + NCHAR(10)
|
|
FROM #szoveges AS bszov
|
|
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
|
|
AND bszov.ORASORSZAM = szov.ORASORSZAM
|
|
AND bszov.napszam = szov.napszam
|
|
FOR XML PATH('')
|
|
) AS TANAR
|
|
,(
|
|
SELECT
|
|
CAST(bszov.ORAANYAGA AS nvarchar (max)) + NCHAR(10)
|
|
FROM #szoveges AS bszov
|
|
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
|
|
AND bszov.ORASORSZAM = szov.ORASORSZAM
|
|
AND bszov.napszam = szov.napszam
|
|
FOR XML PATH('')
|
|
) AS ORAANYAGA
|
|
,(
|
|
SELECT
|
|
CAST(bszov.C_ORAEVESSORSZAM AS nvarchar (max)) + NCHAR(10)
|
|
FROM #szoveges AS bszov
|
|
WHERE bszov.C_NAPDATUMA = szov.C_NAPDATUMA
|
|
AND bszov.ORASORSZAM = szov.ORASORSZAM
|
|
AND bszov.napszam = szov.napszam
|
|
FOR XML PATH('')
|
|
) AS OraEvesSorszama
|
|
FROM #szoveges AS szov
|
|
ORDER BY
|
|
dbo.fnGetDokumentumDatumFormatum(C_NAPDATUMA)
|
|
,orasorszam
|
|
|
|
/*Hiányzások*/
|
|
SELECT
|
|
NapiMulasztas.HetSorszama
|
|
,TanuloNeve
|
|
,NapiMulasztas.TanuloId
|
|
,MAX(Hetfo) AS Hetfo
|
|
,MAX(Kedd) AS Kedd
|
|
,MAX(Szerda) AS Szerda
|
|
,MAX(Csutortok) AS Csutortok
|
|
,MAX(Pentek) AS Pentek
|
|
,MAX(Szombat) AS Szombat
|
|
,HetiMulasztas
|
|
FROM (
|
|
SELECT
|
|
HetSorszama
|
|
,TanuloNeve
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
,[1408] AS Hetfo
|
|
,[1409] AS Kedd
|
|
,[1410] AS Szerda
|
|
,[1411] AS Csutortok
|
|
,[1412] AS Pentek
|
|
,[1413] AS Szombat
|
|
FROM (
|
|
SELECT DISTINCT
|
|
HetSorszama
|
|
,C_NYOMTATASINEV AS TanuloNeve
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
,Datum
|
|
,C_ALAPHETNAPJA AS Hetnapja
|
|
,'[' + STUFF(
|
|
(
|
|
SELECT
|
|
', ' + CAST(MulasztasokBelso.Oraszam AS varchar(3)) + IIF(MulasztasokBelso.Tipus = 1499, '(k)', '')
|
|
FROM #mulasztasTmp AS MulasztasokBelso
|
|
WHERE MulasztasokBelso.Datum = MulasztasokKulso.Datum
|
|
AND MulasztasokBelso.TanuloId = MulasztasokKulso.TanuloId
|
|
AND MulasztasokBelso.TanuloCsoportId = MulasztasokKulso.TanuloCsoportId
|
|
ORDER BY
|
|
Datum
|
|
,Oraszam
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'VARCHAR(MAX)'), 1, 2, ''
|
|
) + '] ' + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'T', 1, 0)) AS varchar(5)) + '/' + CAST(SUM(IIF(MulasztasokKulso.IgazoltE = 'F', 1, 0)) AS varchar(5)) AS Hianyzas
|
|
FROM #mulasztasTmp AS MulasztasokKulso
|
|
INNER JOIN T_FELHASZNALO_OSSZES AS Felhasznalo ON Felhasznalo.Id = MulasztasokKulso.TanuloId
|
|
INNER JOIN T_NAPTARINAP_OSSZES AS NaptariNap ON NaptariNap.C_NAPDATUMA = MulasztasokKulso.Datum
|
|
AND NaptariNap.C_TANEVID = @tanevId
|
|
GROUP BY
|
|
Hetsorszama
|
|
,C_NYOMTATASINEV
|
|
,TanuloId
|
|
,TanuloCsoportId
|
|
,Datum
|
|
,C_ALAPHETNAPJA
|
|
,TanuloId
|
|
) AS OsszefuzottMulasztasok PIVOT(MAX(Hianyzas) FOR HetNapja IN(
|
|
[1408]
|
|
,[1409]
|
|
,[1410]
|
|
,[1411]
|
|
,[1412]
|
|
,[1413])) piv
|
|
) AS NapiMulasztas
|
|
INNER JOIN #HetiMulasztasok AS HetiMulasztasok ON HetiMulasztasok.HetSorszama = NapiMulasztas.HetSorszama
|
|
AND HetiMulasztasok.TanuloId = NapiMulasztas.TanuloId
|
|
AND HetiMulasztasok.TanuloCsoportId = NapiMulasztas.TanuloCsoportId
|
|
GROUP BY
|
|
NapiMulasztas.HetSorszama
|
|
,TanuloNeve
|
|
,NapiMulasztas.TanuloId
|
|
,HetiMulasztas
|
|
|
|
END
|
|
|
|
/*TANULÓ adatai*/
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Sorszam
|
|
,TorzslapSzam
|
|
,OktAzon
|
|
,TajSzam
|
|
,AnyjaNeve
|
|
,SzulHely
|
|
,SzulIdo
|
|
,SocAdat
|
|
,Kepzes
|
|
,TanuloNeve
|
|
,Allampolgarsaga
|
|
,DiakIgazolvanySzam
|
|
,KilepesDatum
|
|
,BeirasiNaploSorszam
|
|
,AktualisOsztaly AS OsztalyNev
|
|
INTO #TanuloAlapAdatok
|
|
FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId)
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Sorszam
|
|
,TorzslapSzam
|
|
,OktAzon
|
|
,TajSzam
|
|
,AnyjaNeve
|
|
,SzulHely
|
|
,SzulIdo
|
|
,SocAdat
|
|
,Kepzes
|
|
,TanuloNeve
|
|
,Allampolgarsaga
|
|
,DiakIgazolvanySzam
|
|
,KilepesDatum
|
|
,BeirasiNaploSorszam
|
|
,OsztalyNev
|
|
FROM #TanuloAlapAdatok
|
|
ORDER BY
|
|
Sorszam
|
|
|
|
INSERT INTO #Gondviselok (
|
|
TanuloId
|
|
,GondviseloId
|
|
)
|
|
SELECT
|
|
TanuloId
|
|
,GondviseloId
|
|
FROM fnGetDokumentumGondviselok(@osztalyId, @tanevId, 'F', 'T')
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
/*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, @osztalyId) 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, @osztalyId) 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, @osztalyId) 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, @osztalyId) 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, @osztalyId, '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, @osztalyId, '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
|
|
|
|
/* TANULÓ mentesség */
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,ROW_NUMBER() OVER(PARTITION BY TanuloId, TanuloCsoportId ORDER BY TanuloId, TanuloCsoportId) AS Sorszam
|
|
,TantargyNev
|
|
,MentessegOka
|
|
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, DEFAULT)
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
/* TANULÓ határozatok */
|
|
SELECT
|
|
s.ID AS tanuloID
|
|
,s.TanuloCsoportId
|
|
,ROW_NUMBER() OVER(PARTITION BY s.ID, s.TanuloCsoportId ORDER BY s.ID, s.TanuloCsoportId) AS sorszam
|
|
,dbo.fnGetDokumentumDatumFormatum(Datum) AS datum
|
|
,d.C_NAME AS tipus
|
|
,Tartalom AS tartalom
|
|
,FeljegyzoNeve AS tanar
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
INNER JOIN fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) AS feljegyzes ON feljegyzes.TanuloId = s.ID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS d ON d.ID = Tipusa
|
|
AND d.C_TANEVID = @tanevId
|
|
WHERE BelepesDatum <= feljegyzes.Datum
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= feljegyzes.Datum)
|
|
AND Tipusa IN (
|
|
1543
|
|
,1544
|
|
,1547
|
|
,1548
|
|
,1549
|
|
,1550
|
|
,1551
|
|
,1552
|
|
,1553
|
|
)
|
|
|
|
/* TANULÓ feljegyzései */
|
|
SELECT
|
|
s.ID AS TanuloID
|
|
,s.TanuloCsoportId AS TanuloCsoportId
|
|
,ROW_NUMBER() OVER(PARTITION BY s.ID, s.TanuloCsoportId ORDER BY s.ID, s.TanuloCsoportId) AS Sorszam
|
|
,dbo.fnGetDokumentumDatumFormatum(Datum) AS Datum
|
|
,d.C_NAME AS Tipus
|
|
,Tartalom AS Tartalom
|
|
,FeljegyzoNeve AS Tanar
|
|
FROM #studentsWithTanuloCsoport s
|
|
INNER JOIN fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) feljegyzes ON feljegyzes.TanuloId = s.ID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa
|
|
AND d.C_TANEVID = @tanevId
|
|
WHERE BelepesDatum <= feljegyzes.Datum
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= feljegyzes.Datum)
|
|
AND (@isEllenorzo = 1
|
|
AND Tipusa NOT IN (
|
|
1543
|
|
,1544
|
|
,1547
|
|
,1548
|
|
,1549
|
|
,1550
|
|
,1551
|
|
,1552
|
|
,1553
|
|
)
|
|
OR Tipusa IN (
|
|
1535
|
|
,1536
|
|
,1540
|
|
,1541
|
|
,1542
|
|
,6491
|
|
,6906
|
|
,6907
|
|
,6950
|
|
,6970
|
|
)
|
|
OR Tipusa BETWEEN 5450 AND 5481
|
|
OR Tipusa BETWEEN 6312 AND 6328
|
|
OR Tipusa BETWEEN 6870 AND 6875
|
|
OR Tipusa BETWEEN 6945 AND 6947
|
|
)
|
|
ORDER BY
|
|
dbo.fnGetDokumentumDatumFormatum(Datum)
|
|
|
|
/* TANULO mulasztása */
|
|
EXEC sp_GetDokumentumMulasztasokIdoszakonkent
|
|
@tanevId = @tanevId
|
|
,@osztalyCsoportId = @osztalyId
|
|
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
,@isReszletesMulasztasok = @isReszletesMulasztasok
|
|
|
|
/*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 (@osztalyId, @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
|
|
|
|
/*TANULÓ osztályzatai*/
|
|
--Osztályhoz tartozó értékelések
|
|
EXEC sp_GetDokumentumErtekelesekIdoszakonkent
|
|
@tanevId = @tanevId
|
|
,@osztalyCsoportId = @osztalyId
|
|
,@ertekelesTipusa = NULL
|
|
,@csakTanorai = 1
|
|
,@csakKivlasztottOsztalyCsoport = 0
|
|
,@atsoroltTanuloErtekelesek = 0
|
|
,@fuggolegesTantargyak = @fuggolegesTantargyak
|
|
,@intezmenyId = @intezmenyId
|
|
|
|
/* TANULÓ záradékai */
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Bejegyzes AS Zaradek
|
|
FROM fnGetDokumentumTanuloZaradekai(@tanevId, @osztalyId, @isEllenorzo)
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
/*Szöveges minosítések*/
|
|
SELECT
|
|
a.tanuloId
|
|
,a.TanuloCsoportId
|
|
,a.Honap
|
|
,a.Tantargy
|
|
,a.Ertekeles
|
|
,a.Tipus
|
|
FROM (
|
|
SELECT
|
|
s.id AS tanuloId
|
|
,s.TanuloCsoportId
|
|
,szoveges.Honap
|
|
,szoveges.Tantargy
|
|
,szoveges.Ertekeles
|
|
,szoveges.Tipus
|
|
,szoveges.RendezHonap
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
INNER JOIN (
|
|
SELECT
|
|
TanuloId AS tanuloId
|
|
,TanuloCsoportId
|
|
,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap
|
|
,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) AS Tantargy
|
|
,ErtekelesSzoveg + ISNULL(' *' + ErtekelesTema,'') AS Ertekeles
|
|
,ErtekelesTipusDictionary.C_NAME AS Tipus
|
|
,CASE WHEN DATEPART(MONTH, Datum) = 1 THEN 5
|
|
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
|
|
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
|
|
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
|
|
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
|
|
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
|
|
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
|
|
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
|
|
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
|
|
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
|
|
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
|
|
WHEN DATEPART(MONTH, Datum) = 12 THEN 4 END AS RendezHonap
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId
|
|
AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
|
|
WHERE ErtekelesSzoveg IS NOT NULL
|
|
) AS szoveges ON szoveges.TANULOID = s.Id
|
|
AND szoveges.TanuloCsoportId = s.TanuloCsoportId
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
s.id AS tanuloId
|
|
,s.TanuloCsoportId
|
|
,szoveges.Honap
|
|
,szoveges.Tantargy
|
|
,szoveges.Ertekeles
|
|
,szoveges.Tipus
|
|
,szoveges.RendezHonap
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
INNER JOIN (
|
|
SELECT
|
|
ErtekelesTemp.TanuloId AS tanuloId
|
|
,ErtekelesTemp.TanuloCsoportId
|
|
,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap
|
|
,'Magatartás' AS Tantargy
|
|
,ErtekelesTemp.MagatartasSzoveg + ISNULL(' *' + ErtekelesTema, '') AS Ertekeles
|
|
,ErtekelesTipusDictionary.C_NAME AS Tipus
|
|
,CASE WHEN DATEPART(MONTH, Datum) = 1 THEN 5
|
|
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
|
|
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
|
|
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
|
|
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
|
|
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
|
|
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
|
|
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
|
|
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
|
|
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
|
|
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
|
|
WHEN DATEPART(MONTH, Datum) = 12 THEN 4 END AS RendezHonap
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId
|
|
AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
|
|
WHERE ErtekelesTemp.MagatartasSzoveg IS NOT NULL
|
|
) AS szoveges ON szoveges.TANULOID = s.Id
|
|
AND szoveges.TanuloCsoportId = s.TanuloCsoportId
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
s.id AS tanuloId
|
|
,s.TanuloCsoportId
|
|
,szoveges.Honap
|
|
,szoveges.Tantargy
|
|
,szoveges.Ertekeles
|
|
,szoveges.Tipus
|
|
,szoveges.RendezHonap
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
INNER JOIN (
|
|
SELECT
|
|
ErtekelesTemp.TanuloId AS tanuloId
|
|
,TanuloCsoportId
|
|
,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap
|
|
,'Szorgalom' AS Tantargy
|
|
,ErtekelesTemp.SzorgalomSzoveg + ISNULL(' *' + ErtekelesTema, '') AS Ertekeles
|
|
,ErtekelesTipusDictionary.C_NAME AS Tipus
|
|
,CASE WHEN DATEPART(MONTH, Datum) = 1 THEN 5
|
|
WHEN DATEPART(MONTH, Datum) = 2 THEN 6
|
|
WHEN DATEPART(MONTH, Datum) = 3 THEN 7
|
|
WHEN DATEPART(MONTH, Datum) = 4 THEN 8
|
|
WHEN DATEPART(MONTH, Datum) = 5 THEN 9
|
|
WHEN DATEPART(MONTH, Datum) = 6 THEN 10
|
|
WHEN DATEPART(MONTH, Datum) = 7 THEN 11
|
|
WHEN DATEPART(MONTH, Datum) = 8 THEN 12
|
|
WHEN DATEPART(MONTH, Datum) = 9 THEN 1
|
|
WHEN DATEPART(MONTH, Datum) = 10 THEN 2
|
|
WHEN DATEPART(MONTH, Datum) = 11 THEN 3
|
|
WHEN DATEPART(MONTH, Datum) = 12 THEN 4 END AS RendezHonap
|
|
FROM #ErtekelesekTemp ErtekelesTemp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId
|
|
AND ErtekelesTipusDictionary.C_TANEVID = @tanevId
|
|
WHERE ErtekelesTemp.SzorgalomSzoveg IS NOT NULL
|
|
) AS szoveges ON szoveges.TANULOID = s.Id
|
|
AND szoveges.TanuloCsoportId = s.TanuloCsoportId
|
|
) AS a
|
|
ORDER BY
|
|
RendezHonap
|
|
,Tantargy
|
|
|
|
--Közösségi szolgálat
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Datum
|
|
,ISNULL(' - ' + Megjegyzes, '') AS Megjegyzes
|
|
,Oraszam
|
|
,TeljesitesHelye
|
|
,FeljegyzoNeve
|
|
,Tipus
|
|
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId) AS KozossegiSzolgalat
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
ORDER BY
|
|
IntervallumKezdete
|
|
|
|
--Félévi, év végi mulasztások
|
|
INSERT INTO #FeleviMulasztasok (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Igazolt
|
|
,Igazolatlan
|
|
,ElmeletIgazolt
|
|
,ElmeletIgazolatlan
|
|
,GyakorlatIgazolt
|
|
,GyakorlatIgazolatlan
|
|
,ElmeletOsszes
|
|
,GyakorlatOsszes
|
|
,Osszes
|
|
)
|
|
EXEC sp_GetDokumentumMulasztasok
|
|
@osztalyId = @osztalyId
|
|
,@tanevId = @tanevId
|
|
,@elmeletiOraPercben = 45
|
|
,@gyakorlatiOraPercben = 45
|
|
,@ertekelesTipus = 1519
|
|
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
|
|
INSERT INTO #EvVegiMulasztasok (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Igazolt
|
|
,Igazolatlan
|
|
,ElmeletIgazolt
|
|
,ElmeletIgazolatlan
|
|
,GyakorlatIgazolt
|
|
,GyakorlatIgazolatlan
|
|
,ElmeletOsszes
|
|
,GyakorlatOsszes
|
|
,Osszes
|
|
)
|
|
EXEC sp_GetDokumentumMulasztasok
|
|
@osztalyId = @osztalyId
|
|
,@tanevId = @tanevId
|
|
,@elmeletiOraPercben = 45
|
|
,@gyakorlatiOraPercben = 45
|
|
,@ertekelesTipus = 1520
|
|
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
|
|
SELECT
|
|
TanuloAlapAdatok.tanuloId AS TanuloId
|
|
,ISNULL(FeleviMulasztasok.ElmeletIgazolt, 0) AS FeleviElmeletIgazolt
|
|
,ISNULL(FeleviMulasztasok.ElmeletIgazolatlan, 0) AS FeleviElmeletIgazolatlan
|
|
,ISNULL(FeleviMulasztasok.GyakorlatIgazolT, 0) AS FeleviGyakorlatIgazolt
|
|
,ISNULL(FeleviMulasztasok.GyakorlatIgazolatlan, 0) AS FeleviGyakorlatIgazolatlan
|
|
,ISNULL(FeleviMulasztasok.ElmeletIgazolt + FeleviMulasztasok.ElmeletIgazolatlan, 0) AS FeleviElmelet
|
|
,ISNULL(FeleviMulasztasok.GyakorlatIgazolt + FeleviMulasztasok.GyakorlatIgazolatlan, 0) AS FeleviGyakorlat
|
|
,ISNULL(EvVegiMulasztasok.ElmeletIgazolt, 0) AS EvVegiElmeletIgazolt
|
|
,ISNULL(EvVegiMulasztasok.ElmeletIgazolatlan, 0) AS EvVegiElmeletIgazolatlan
|
|
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt, 0) AS EvVegiGyakorlatIgazolt
|
|
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolatlan, 0) AS EvVegiGyakorlatIgazolatlan
|
|
,ISNULL(EvVegiMulasztasok.ElmeletIgazolt + EvVegiMulasztasok.ElmeletIgazolatlan, 0) AS EvVegiElmelet
|
|
,ISNULL(EvVegiMulasztasok.GyakorlatIgazolt + EvVegiMulasztasok.GyakorlatIgazolatlan, 0) AS EvVegiGyakorlat
|
|
,ISNULL(FeleviMulasztasok.Osszes, 0) AS FeleviOsszes
|
|
,ISNULL(FeleviMulasztasok.Igazolt, 0) AS FeleviIgazolt
|
|
,ISNULL(FeleviMulasztasok.Igazolatlan, 0) AS FeleviIgazolatlan
|
|
,ISNULL(EvVegiMulasztasok.Osszes, 0) AS EvVegiOsszes
|
|
,ISNULL(EvVegiMulasztasok.Igazolt, 0) AS EvVegiIgazolt
|
|
,ISNULL(EvVegiMulasztasok.Igazolatlan, 0) AS EvVegiIgazolatlan
|
|
,oktAzon AS oktAzon
|
|
,tanuloNeve AS tanuloNeve
|
|
FROM #TanuloAlapAdatok TanuloAlapAdatok
|
|
LEFT JOIN #EvVegiMulasztasok EvVegiMulasztasok ON EvVegiMulasztasok.TanuloId = TanuloAlapAdatok.TanuloId
|
|
AND EvVegiMulasztasok.TanuloCsoportId = TanuloAlapAdatok.TanuloCsoportId
|
|
LEFT JOIN #FeleviMulasztasok FeleviMulasztasok ON FeleviMulasztasok.TanuloId = TanuloAlapAdatok.TanuloId
|
|
AND FeleviMulasztasok.TanuloCsoportId = TanuloAlapAdatok.TanuloCsoportId
|
|
ORDER BY
|
|
sorszam
|
|
|
|
--értékelésekhez tartozó feljegyzések 1. félév
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF(
|
|
(
|
|
SELECT DISTINCT
|
|
', ' + JelolesAndErtekelesTema
|
|
FROM #ErtekelesekTemp AS ErtekelesTemavalOsszefuz
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND Datum <= @FelevVege
|
|
AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId
|
|
AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
|
|
AND ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL
|
|
AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL
|
|
AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 2, ''
|
|
) AS JelolesTemaval
|
|
FROM #ErtekelesekTemp AS ErtekelesTemaval
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND Datum <= @FelevVege
|
|
AND ErtekelesTemaval.ErtekelesSzoveg IS NULL
|
|
AND ErtekelesTemaval.MagatartasSzoveg IS NULL
|
|
AND ErtekelesTemaval.SzorgalomSzoveg IS NULL
|
|
|
|
--értékelésekhez tartozó feljegyzések 2. félév
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF(
|
|
(
|
|
SELECT DISTINCT
|
|
', ' + JelolesAndErtekelesTema
|
|
FROM #ErtekelesekTemp AS ErtekelesTemavalOsszefuz
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND Datum > @FelevVege
|
|
AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId
|
|
AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
|
|
AND ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL
|
|
AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL
|
|
AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 2, ''
|
|
) AS JelolesTemaval
|
|
FROM #ErtekelesekTemp AS ErtekelesTemaval
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND Datum > @FelevVege
|
|
AND ErtekelesTemaval.ErtekelesSzoveg IS NULL
|
|
AND ErtekelesTemaval.MagatartasSzoveg IS NULL
|
|
AND ErtekelesTemaval.SzorgalomSzoveg IS NULL
|
|
|
|
--értékelésekhez tartozó feljegyzések
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,STUFF(
|
|
(
|
|
SELECT DISTINCT
|
|
', ' + JelolesAndErtekelesTema
|
|
FROM #ErtekelesekTemp AS ErtekelesTemavalOsszefuz
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND ErtekelesTemavalOsszefuz.TanuloId = ErtekelesTemaval.TanuloId
|
|
AND ErtekelesTemavalOsszefuz.TanuloCsoportId = ErtekelesTemaval.TanuloCsoportId
|
|
AND ErtekelesTemavalOsszefuz.ErtekelesSzoveg IS NULL
|
|
AND ErtekelesTemavalOsszefuz.MagatartasSzoveg IS NULL
|
|
AND ErtekelesTemavalOsszefuz.SzorgalomSzoveg IS NULL
|
|
FOR XML PATH(''), TYPE
|
|
) .value
|
|
('.', 'NVARCHAR(MAX)'), 1, 2, ''
|
|
) AS JelolesTemaval
|
|
FROM #ErtekelesekTemp AS ErtekelesTemaval
|
|
WHERE LEN(JelolesAndErtekelesTema) > 0
|
|
AND ErtekelesTemaval.ErtekelesSzoveg IS NULL
|
|
AND ErtekelesTemaval.MagatartasSzoveg IS NULL
|
|
AND ErtekelesTemaval.SzorgalomSzoveg IS NULL
|
|
|
|
--összefüggő szakmai gyakorlat
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,isTeljesitett
|
|
,Ertekeles
|
|
,Megjegyzes
|
|
,Datum
|
|
FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@tanevId, @osztalyId)
|
|
WHERE @tanuloId IS NULL
|
|
OR TanuloId = @tanuloId
|
|
|
|
--Tanuló tanult tantárgyai
|
|
SELECT DISTINCT
|
|
TANULO.ID AS TanuloId
|
|
,TANULO.TanuloCsoportId AS TanuloCsoportId
|
|
,STUFF(
|
|
(
|
|
SELECT
|
|
', ' + IIF(LEN(TANTARGYAK.C_NEV) > 128, SUBSTRING(TANTARGYAK.C_NEV, 1, 120) + '...', TANTARGYAK.C_NEV) AS TantargyNev
|
|
FROM #Tantargyak AS TANTARGYAK
|
|
LEFT JOIN T_TANULOCSOPORT_OSSZES AS tcs ON tcs.C_TANULOID = TANTARGYAK.c_tanuloid
|
|
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
|
WHERE TANTARGYAK.c_tanuloid = TANULO.Id
|
|
AND tcs.ID = TANULO.TanuloCsoportId
|
|
AND TANTARGYAK.C_NEV NOT IN ('Magatartás', 'Szorgalom')
|
|
ORDER BY
|
|
TANTARGYAK.C_NEV
|
|
FOR XML PATH(''), TYPE
|
|
).value
|
|
('.', 'NVARCHAR(MAX)'), 1, 2, ''
|
|
) AS TantargyNev
|
|
FROM #studentsWithTanuloCsoport AS TANULO
|
|
|
|
-- Osztály és csoportok a naplóban, az iktatáskor szükséges többszörös Csoport név kulcsszóhoz
|
|
SELECT
|
|
*
|
|
FROM #osztalycsoportok
|
|
WHERE OsztalyCsoportId != @osztalyId
|
|
|
|
-- gyors feljegyzés statisztikák
|
|
-- Házifeladat hiány
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban(@tanevId, @osztalyId, 6325, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) AS feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
-- Felszerelés hiány
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban(@tanevId, @osztalyId, 6324, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) AS feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
-- Felmentés
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban(@tanevId, @osztalyId, 1542, 0, @FelevVege, s.BelepesDatum, s.KilepesDatum) AS feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
--Dicséret
|
|
SELECT
|
|
s.ID AS TanuloId
|
|
,s.TanuloCsoportId
|
|
,feljegyzes.Tantargy
|
|
,feljegyzes.Szeptember
|
|
,feljegyzes.Oktober
|
|
,feljegyzes.November
|
|
,feljegyzes.December
|
|
,feljegyzes.Januar
|
|
,feljegyzes.Februar
|
|
,feljegyzes.Marcius
|
|
,feljegyzes.Aprilis
|
|
,feljegyzes.Majus
|
|
,feljegyzes.Junius
|
|
,feljegyzes.Felev
|
|
,feljegyzes.Ossz
|
|
FROM #studentsWithTanuloCsoport AS s
|
|
CROSS APPLY fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban(@tanevId, @osztalyId, 1536, 1, @FelevVege, s.BelepesDatum, s.KilepesDatum) AS feljegyzes
|
|
WHERE feljegyzes.TanuloId = s.ID
|
|
|
|
END
|
|
GO
|