344 lines
12 KiB
Transact-SQL
344 lines
12 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('sp_GetTorzslap') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE sp_GetTorzslap
|
|
END
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_GetTorzslap
|
|
@osztalyId INT,
|
|
@tanevId INT,
|
|
@ertekelesTipus INT,
|
|
@kesesTipus INT,
|
|
@elmeletiOraPercben INT = 45,
|
|
@gyakorlatiOraPercben INT = 45,
|
|
@iskolaErdekuSzamit BIT,
|
|
@nyomtatvanyNyelvEnum INT,
|
|
@isKozossegiSzolgalat BIT,
|
|
@tanitasiHetekSzamaVegzos INT,
|
|
@tanitasiHetekSzamaNemVegzos INT,
|
|
@isAltantargyBeszamitasa BIT
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT
|
|
OsztalyTanuloi.TanuloId TanuloId
|
|
,OsztalyTanuloi.NaploSorszam NaploSorszam
|
|
,OsztalyTanuloi.TorzslapSzam TorzslapSzam
|
|
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
|
|
,OsztalyTanuloi.BelepesDatum BelepesDatum
|
|
,OsztalyTanuloi.KilepesDatum KilepesDatum
|
|
,Agazat.C_NAME Agazat
|
|
,IIF(Szakkep.ID = 5527, '', Szakkep.C_NAME + '(szakképesítés)') Szakkepesites
|
|
,IIF(ReszSzakkep.ID = 6108, '', ReszSzakkep.C_NAME + '(részszakképesítés)') ReszSzakkepesites
|
|
,SzakmaCsop.C_NAME SzakmaCsoport
|
|
INTO #students
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Agazat ON Agazat.ID = OsztalyTanuloi.AgazatId AND Agazat.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Szakkep ON Szakkep.ID = OsztalyTanuloi.SzakkepesitesId AND Szakkep.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkep ON ReszSzakkep.ID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkep.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaCsop ON SzakmaCsop.ID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsop.C_TANEVID = @tanevId
|
|
|
|
--Intézmény, tanév
|
|
SELECT DISTINCT
|
|
OsztalyCsoport.C_NEV OsztalyNev
|
|
,Osztaly.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes
|
|
,Osztaly.C_OSZTALYFONOKID PartnerID
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) Osztalyfonok
|
|
,i.C_IGAZGATONEVE IntezmenyVezeto
|
|
,i.C_NEV IntezmenyNeve
|
|
,i.C_VAROS IntezmenyVaros
|
|
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime
|
|
,i.C_OMKOD IntezmenyOMKod
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOMEGNYITASA), FORMAT(Osztaly.C_OSZTALYNAPLOMEGNYITASA, 'dd. MM. yyyy')) NaploMegnyitasanakDatuma
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOZARASA), FORMAT(Osztaly.C_OSZTALYNAPLOZARASA, 'dd. MM. yyyy')) NaploZarasanakDatuma
|
|
,tanev.C_NEV Tanev
|
|
,(SELECT COUNT(TanuloId) FROM #students) TanuloSzam
|
|
,(SELECT MIN(NaploSorszam) FROM #students) MinNaploSorszam
|
|
,(SELECT MAX(NaploSorszam) FROM #students) MaxNaploSorszam
|
|
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
|
|
INNER JOIN T_OSZTALY_OSSZES Osztaly ON OsztalyCsoport.ID = Osztaly.ID AND Osztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = Osztaly.C_OSZTALYFONOKID
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId
|
|
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F'
|
|
WHERE OsztalyCsoport.ID = @osztalyId
|
|
|
|
--Osztály, évfolyam
|
|
SELECT
|
|
OsztalyCsoport.C_NEV
|
|
,EvfolyamTipusa.C_NAME C_EVFOLYAMTIPUSA_DNAME
|
|
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA
|
|
WHERE
|
|
OsztalyCsoport.ID = @osztalyId
|
|
AND EvfolyamTipusa.C_TANEVID = @tanevId
|
|
|
|
--Tanuló adatok
|
|
SELECT
|
|
felhasznalo.ID TanuloId
|
|
,felhasznalo.Azonosito Azonosito
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.Nev, felhasznalo.Elotag + ' ' + felhasznalo.VezetekNev)
|
|
Nev
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(felhasznalo.SzuletesiDatum), FORMAT(felhasznalo.SzuletesiDatum, 'dd. MM. yyyy'))
|
|
SzuletesiDatum
|
|
,felhasznalo.SzuletesiHely SzuletesiHely
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, LOWER(allampolgarsag.C_NAME), dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.Allampolgarsag))
|
|
Allampolgarsag
|
|
,felhasznalo.Anyjaneve AnyjaNeve
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, szorszag.C_NAME, dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.SzuletesiOrszag))
|
|
SzuletesiOrszag
|
|
,OsztalyTanuloi.TorzslapSzam TorzslapSzam
|
|
,gondviselo.Gondviselok GondviseloNeve
|
|
,OsztalyTanuloi.NaploSorszam NaploSorszam
|
|
,felhasznalo.Nev Nev2
|
|
,Tanulo.C_SAJATOSNEVELESU SajatosNevelesu
|
|
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
|
|
,OsztalyTanuloi.BelepesDatum BelepesDatum
|
|
,OsztalyTanuloi.KilepesDatum KilepesDatum
|
|
,OsztalyTanuloi.Agazat Agazat
|
|
,OsztalyTanuloi.Szakkepesites Szakkepesites
|
|
,OsztalyTanuloi.ReszSzakkepesites ReszSzakkepesites
|
|
,OsztalyTanuloi.SzakmaCsoport SzakmaCsoport
|
|
INTO #TanuloAdatok
|
|
FROM
|
|
(
|
|
SELECT
|
|
ID ID
|
|
,C_OKTATASIAZONOSITO Azonosito
|
|
,C_NYOMTATASINEV Nev
|
|
,C_VEZETEKNEV VezetekNev
|
|
,C_UTONEV Elotag
|
|
,C_SZULETESIDATUM SzuletesiDatum
|
|
,C_SZULETESIHELY SzuletesiHely
|
|
,C_SZULETESIORSZAG SzuletesiOrszag
|
|
,C_ALLAMPOLGARSAGA Allampolgarsag
|
|
,IIF(@nyomtatvanyNyelvEnum = 0, C_ANYJANEVE, LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1)))
|
|
Anyjaneve
|
|
FROM T_FELHASZNALO_OSSZES
|
|
) felhasznalo
|
|
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = felhasznalo.Id
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.Allampolgarsag AND allampolgarsag.C_TANEVID = @tanevId
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.SzuletesiOrszag AND szorszag.C_TANEVID = @tanevId
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
g.C_TANULOID TanuloId
|
|
,STUFF((SELECT C_NEV + IIF(@nyomtatvanyNyelvEnum = 0, ' (' + LOWER(d.C_NAME) +')', '') + CHAR(13) + CHAR(10)
|
|
FROM T_GONDVISELO_OSSZES bg
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.C_ROKONSAGFOKA AND d.C_TANEVID = bg.C_TANEVID
|
|
WHERE
|
|
bg.C_TANULOID = g.C_TANULOID
|
|
AND bg.C_ISTORVENYESKEPVISELO = 'T'
|
|
AND bg.TOROLT = 'F'
|
|
AND g.C_TANEVID = @tanevId
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') Gondviselok
|
|
FROM T_GONDVISELO_OSSZES g
|
|
WHERE
|
|
g.TOROLT = 'F'
|
|
AND g.C_ISTORVENYESKEPVISELO = 'T'
|
|
AND g.C_TANEVID = @tanevId
|
|
) gondviselo on felhasznalo.ID = gondviselo.TanuloId
|
|
INNER JOIN #students OsztalyTanuloi ON OsztalyTanuloi.TanuloId = felhasznalo.ID
|
|
ORDER BY felhasznalo.Nev
|
|
|
|
SELECT
|
|
TanuloId
|
|
,Azonosito
|
|
,Nev
|
|
,SzuletesiDatum
|
|
,SzuletesiHely
|
|
,Allampolgarsag
|
|
,Anyjaneve
|
|
,SzuletesiOrszag
|
|
,TorzslapSzam
|
|
,GondviseloNeve
|
|
,NaploSorszam
|
|
,Nev2
|
|
,SajatosNevelesu
|
|
,TanuloCsoportId
|
|
,BelepesDatum
|
|
,KilepesDatum
|
|
,Szakkepesites
|
|
,ReszSzakkepesites
|
|
FROM #TanuloAdatok ORDER BY LEN(TorzslapSzam), TorzslapSzam
|
|
|
|
--Határozat
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Bejegyzes
|
|
FROM fnGetDokumentumTanuloZaradekai(@tanevId, @osztalyId)
|
|
|
|
--Egyéb bejegyzések
|
|
SELECT
|
|
Tanuloid
|
|
,TanuloCsoportId
|
|
,Bejegyzes
|
|
,Tipus_DNAME
|
|
FROM
|
|
(
|
|
SELECT
|
|
bejegyzes.TanuloId TanuloId
|
|
,s.TanuloCsoportId
|
|
,Tartalom Bejegyzes
|
|
,C_NAME Tipus_DNAME
|
|
,dbo.fnGetDokumentumDatumFormatum(bejegyzes.Datum) Datum
|
|
FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) bejegyzes
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F'
|
|
INNER JOIN #students s ON s.TanuloId = bejegyzes.TanuloId
|
|
WHERE
|
|
Tipusa IN (1539, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 5477, 5478, 5478, 5479, 5481, 5480)
|
|
AND BelepesDatum <= Datum
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= Datum)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TantargyNev
|
|
,MentessegOka
|
|
,dbo.fnGetDokumentumDatumFormatum(Kezdete)
|
|
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId)
|
|
)a
|
|
ORDER BY Datum
|
|
|
|
-- MULASZTÁSOK
|
|
DECLARE @Mulasztasok TABLE (
|
|
TanuloId INT
|
|
,TanuloCsoportId INT
|
|
,Igazolt INT
|
|
,Igazolatlan INT
|
|
,ElmeletIgazolt INT
|
|
,ElmeletIgazolatlan INT
|
|
,GyakorlatIgazolt INT
|
|
,GyakorlatIgazolatlan INT
|
|
,ElmeletOsszes INT
|
|
,GyakorlatOsszes INT
|
|
,Osszes INT
|
|
)
|
|
|
|
INSERT INTO @Mulasztasok
|
|
EXEC sp_GetDokumentumMulasztasok
|
|
@osztalyId = @osztalyId,
|
|
@tanevId = @tanevId,
|
|
@elmeletGyakorlat = 0,
|
|
@kesesTipus = @kesesTipus,
|
|
@elmeletiOraPercben = @elmeletiOraPercben,
|
|
@gyakorlatiOraPercben = @gyakorlatiOraPercben,
|
|
@ertekelesTipus = @ertekelesTipus,
|
|
@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
|
|
|
SELECT
|
|
TanuloTable.TanuloId
|
|
,TanuloTable.TanuloCsoportId
|
|
,Igazolt
|
|
,Igazolatlan
|
|
,ElmeletIgazolt
|
|
,ElmeletIgazolatlan
|
|
,GyakorlatIgazolt
|
|
,GyakorlatIgazolatlan
|
|
,ElmeletOsszes
|
|
,GyakorlatOsszes
|
|
,Osszes
|
|
FROM @Mulasztasok mulasztasok
|
|
INNER JOIN #students TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId AND TanuloTable.TanuloCsoportId = mulasztasok.TanuloCsoportId
|
|
|
|
-- ÉRTÉKELÉSEK
|
|
DECLARE @Ertekelesek TABLE (
|
|
TanuloId INT
|
|
,TanuloCsoportId INT
|
|
,Targy NVARCHAR(MAX)
|
|
,Jegyzet NVARCHAR(MAX)
|
|
,Ertekeles NVARCHAR(MAX)
|
|
,ErtekelesValue INT
|
|
,ErtekelesJegyzettel NVARCHAR(MAX)
|
|
,Oraszam FLOAT
|
|
,RENDEZ1 INT
|
|
,RENDEZ2 NVARCHAR(MAX)
|
|
,RENDEZ3 INT
|
|
,RENDEZ4 INT
|
|
,RENDEZ5 NVARCHAR(MAX)
|
|
)
|
|
|
|
INSERT INTO @Ertekelesek
|
|
EXEC sp_GetDokumentumErtekelesek
|
|
@osztalyId = @osztalyId,
|
|
@tanevId = @tanevId,
|
|
@ertekelesTipus =@ertekelesTipus,
|
|
@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum,
|
|
@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos,
|
|
@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos,
|
|
@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
|
|
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,Targy
|
|
,Jegyzet
|
|
,Ertekeles
|
|
,ErtekelesJegyzettel
|
|
,Oraszam
|
|
,RENDEZ1 RENDEZ
|
|
FROM @Ertekelesek
|
|
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
|
|
|
--Tanuló lista
|
|
SELECT
|
|
Nev
|
|
,NaploSorszam
|
|
,TorzslapSzam
|
|
,dbo.fnGetDokumentumDatumFormatum (KilepesDatum) KilepesDatum
|
|
FROM #TanuloAdatok
|
|
ORDER BY LEN(TorzslapSzam), TorzslapSzam
|
|
|
|
--Közösségi szolgálat
|
|
SELECT DISTINCT
|
|
OsztalyTanuloi.TanuloId
|
|
,OsztalyTanuloi.TanuloCsoportId
|
|
,dbo.fnGetDokumentumDatumFormatum(Datum) Datum
|
|
,ISNULL(' - ' + Megjegyzes, '') Megjegyzes
|
|
,Oraszam
|
|
,TeljesitesHelye
|
|
,FeljegyzoNeve
|
|
,Tipus
|
|
,KozossegiSzolgalatId
|
|
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId) KozossegiSzolgalat
|
|
INNER JOIN #students OsztalyTanuloi ON OsztalyTanuloi.TanuloId = KozossegiSzolgalat.TanuloId
|
|
WHERE
|
|
BelepesDatum <= Datum
|
|
AND (OsztalyTanuloi.KilepesDatum IS NULL OR OsztalyTanuloi.KilepesDatum >= Datum)
|
|
AND @isKozossegiSzolgalat = 1
|
|
ORDER BY Datum
|
|
|
|
SELECT
|
|
s.TanuloId TanuloId
|
|
,s.TanuloCsoportId TanuloCsoportId
|
|
,ISNULL(Tanulo.C_SNIKIALLITOINTEZMENY, '') SNIKiallitoIntezmeny
|
|
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIOKMANYERVENYESSEGKEZDETE) SNIKezdete
|
|
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIKONTROLLIDOPONT) SNIKontrolIdopont
|
|
,ISNULL(Tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM + '(Értelmi fogyatékos okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_LATASSERULTOKMANYSZAM + '(Látássérült okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_HALLASSERULTOKMANYSZAM + '(Hallássérült okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM + '(Beszédfogyatékos okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_MOZGASSERULTOKMANYSZAM + '(Mozgáskorlátozott okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_DISZGRAFIAOKMANYSZAM + '(Diszlexia okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_DISZKALKULIAOKMANYSZAM + '(Diszkalkulina okmányszám) ', '')
|
|
+ISNULL(Tanulo.C_DISZLEXIAOKMANYSZAM + '(Diszgráfia okmányszám) ', '') SNIOkmanyszamok
|
|
,ISNULL(Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ, '') BTM
|
|
FROM #students s
|
|
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId
|
|
WHERE
|
|
Tanulo.C_SAJATOSNEVELESU = 'T'
|
|
|
|
DROP TABLE #students
|
|
DROP TABLE #TanuloAdatok
|
|
END
|
|
|