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,493 @@
DROP PROCEDURE IF EXISTS [dbo].[uspGetErtesitoNyomtatvany]
GO
-- =====================================================================
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
-- =====================================================================
CREATE PROCEDURE [dbo].[uspGetErtesitoNyomtatvany]
@pOsztalyId int
,@pTanevId int
,@pErtekelesTipus int
,@pElmeletGyakorlat bit = 0
,@pKesesTipus int = 1499
,@pElmeletiOraPercben int = 45
,@pGyakorlatiOraPercben int = 45
,@pIskolaErdekuSzamit bit
,@pIsKozossegiSzolgalat bit
,@pTanuloId int = NULL
,@pIsMuveszetOktatasi bit = 0
,@pIsShowTanuloiAtlag bit = 0
,@tanitasiHetekSzamaVegzos int = 32
,@tanitasiHetekSzamaNemVegzos int = 36
,@isAltantargyBeszamitasa bit = 0
,@nyomtatvanyNyelvEnum int = 0
,@kiiratkozottTanulokMegjelenitese bit = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@EsemenyTipus int
,@IdoszakVegeTanevRendje int
,@IdoszakVege date
,@OsztalycsoportVezeto nvarchar(max)
,@OsztalycsoportNev nvarchar(max)
SET @EsemenyTipus =
CASE @pErtekelesTipus
WHEN 1519 THEN 1547 --félévi
WHEN 1520 THEN 1548 --év végi
WHEN 1522 THEN 1549 --I. negyedévi
WHEN 1524 THEN 1550 --II. negyedévi
WHEN 1523 THEN 1551 --III. negyedévi
END
SET @IdoszakVegeTanevRendje =
CASE @pErtekelesTipus
WHEN 1519 THEN 1400 --félévi
WHEN 1520 THEN 1395 --év végi
WHEN 1522 THEN 1403 --I. negyedévi
WHEN 1524 THEN 1400 --II. negyedévi
WHEN 1523 THEN 1404 --III. negyedévi
END
CREATE TABLE #ErtekelesResult (
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)
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTemaIdegenNyelven nvarchar(max)
,ErtekelesSzovegIdegenNyelven nvarchar(max)
,ErtekelesValueIdegenNyelven nvarchar(max)
,ErtekelesOsztalyzatIdegenNyelven nvarchar(max)
,ErtekelesSzazalek nvarchar(max)
,Jeloles nvarchar(max)
,TantargyNevIdegenNyelven nvarchar(max)
/**/
,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
)
CREATE TABLE #MulasztasResult (
TanuloId int
,TanuloCsoportId int
,Igazolt int
,Igazolatlan int
,ElmeletIgazolt int
,ElmeletIgazolatlan int
,GyakorlatIgazolt int
,GyakorlatIgazolatlan int
,ElmeletOsszes int
,GyakorlatOsszes int
,Osszes int
,INDEX IX_01 CLUSTERED (TanuloId, TanuloCsoportId)
)
CREATE TABLE #TanuloResult (
TANULOID int
,TanuloCsoportId int
,BelepesDatum date
,KilepesDatum date
,TANULONEV nvarchar(max)
,OKTATASIAZONOSITO nvarchar(max)
,TORZSLAPSZAM nvarchar(max)
,SZULHELY nvarchar(max)
,SZULIDO nvarchar(max)
,ANYJANEVE nvarchar(max)
,PRIMARY KEY (TANULOID, TanuloCsoportId, BelepesDatum)
)
SET @IdoszakVege = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = @IdoszakVegeTanevRendje AND C_TANEVID = @pTanevId AND TOROLT = 'F')
SET @OsztalycsoportNev = (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)
IF (@pIsMuveszetOktatasi = 0) BEGIN
SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_OSZTALY_OSSZES Osztaly INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Osztaly.C_OSZTALYFONOKID = felhasznalo.ID WHERE Osztaly.ID = @pOsztalyId)
END
ELSE BEGIN
SET @OsztalycsoportVezeto = (SELECT C_NYOMTATASINEV FROM T_CSOPORT_OSSZES Csoport INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON Csoport.C_CSOPORTVEZETOID = felhasznalo.ID WHERE Csoport.ID = @pOsztalyId)
END
-- Fejléc
IF @pIsMuveszetOktatasi = 0 BEGIN
SELECT
ia.C_NEV AS IntezmenyNeve
,ia.C_VAROS AS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
,ia.C_IGAZGATONEVE AS IntezmenyVezeto
,ia.C_OMKOD AS OMKod
,ia.C_TELEFONSZAM AS TELEFON
,ia.C_EMAILCIM AS EMAILCIM
,tv.C_NEV AS TANEV
,ia.C_VAROS AS VAROS
,ofo.C_NYOMTATASINEV AS OSZTALYFONOK
,ofo.ID AS OsztalyFonokId
,ocs.C_NEV AS OSZTALYNEV
,@pOsztalyId AS OsztalyId
,GETDATE() AS Datum
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,o.C_TANTERVID AS TantervId
,ocs.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
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
,o.C_SPORT AS OJSportOsztaly
,o.C_AJPROGRAM AS OJAranyJanosProgram
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ocs.C_TANEVID = ia.C_TANEVID and ocs.TOROLT = 'F'
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_TANEV_OSSZES tv ON tv.ID = ocs.C_TANEVID AND tv.TOROLT = 'F'
WHERE ia.TOROLT = 'F'
AND tv.ID = @pTanevId
AND ocs.id = @pOsztalyId
END
ELSE BEGIN
SELECT
T_INTEZMENYADATOK_OSSZES.C_NEV AS IntezmenyNeve
,T_INTEZMENYADATOK_OSSZES.C_VAROS AS IntezmenyVaros
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE AS IntezmenyVezeto
,T_INTEZMENYADATOK_OSSZES.C_OMKOD AS OMKod
,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM AS TELEFON
,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM AS EMAILCIM
,T_TANEV_OSSZES.C_NEV AS TANEV
,T_INTEZMENYADATOK_OSSZES.C_VAROS AS VAROS
,ofo.C_NYOMTATASINEV AS CsoportVezeto
,ofo.ID AS CsoportVezetoId
,ocs.C_NEV AS OSZTALYNEV
,@pOsztalyId AS CsoportId
,GETDATE() AS Datum
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,o.C_TIPUSA AS CsoportTipusa
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id = @pOsztalyId and ocs.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and ocs.C_TANEVID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and ocs.TOROLT = 'F'
INNER JOIN T_CSOPORT_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo on ofo.ID = o.C_CSOPORTVEZETOID
INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_TANEV_OSSZES.ID = @pTanevId
END
--PRINT ' TANULÓK ---------------------------------------------------------------'
IF @pTanuloId IS NOT NULL BEGIN
INSERT INTO #TanuloResult
SELECT
dk.TanuloId
,dk.TanuloCsoportId
,dk.BelepesDatum
,dk.KilepesDatum
,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
,fh.C_OKTATASIAZONOSITO
,dk.Torzslapszam
,fh.C_SZULETESIHELY
,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)
,fh.C_ANYJANEVE
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
WHERE dk.TanuloId = @pTanuloId
AND (@kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege))
SELECT
TANULOID
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,TANULONEV
,OKTATASIAZONOSITO
,TORZSLAPSZAM
,SZULHELY
,SZULIDO
,ANYJANEVE
,@OsztalycsoportNev AS Osztaly
,@pOsztalyId AS OsztalyId
,@OsztalycsoportVezeto AS Osztalyfonok
FROM #TanuloResult
ORDER BY TANULONEV
END
ELSE BEGIN
INSERT INTO #TanuloResult
SELECT
dk.TanuloId
,dk.TanuloCsoportId
,dk.BelepesDatum
,dk.KilepesDatum
,IIF(@nyomtatvanyNyelvEnum = 0, fh.C_NYOMTATASINEV, fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV)
,fh.C_OKTATASIAZONOSITO
,dk.Torzslapszam
,fh.C_SZULETESIHELY
,dbo.fnGetDokumentumDatumFormatum(fh.C_SZULETESIDATUM)
,fh.C_ANYJANEVE
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') dk
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.Id = dk.TanuloId
WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege)
SELECT
TANULOID
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,TANULONEV
,OKTATASIAZONOSITO
,TORZSLAPSZAM
,SZULHELY
,SZULIDO
,ANYJANEVE
,@OsztalycsoportNev AS Osztaly
,@pOsztalyId AS OsztalyId
,@OsztalycsoportVezeto AS Osztalyfonok
FROM #TanuloResult
ORDER BY TANULONEV
END
--PRINT ' ÉRTÉKELÉSEK ---------------------------------------------------------------'
INSERT INTO #ErtekelesResult (
TanuloId
,TanuloCsoportId
,Targy
,Jegyzet
,Ertekeles
,ErtekelesValue
,ErtekelesJegyzettel
,Oraszam
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,ErtekelesTemaIdegenNyelven
,ErtekelesSzovegIdegenNyelven
,ErtekelesValueIdegenNyelven
,ErtekelesOsztalyzatIdegenNyelven
,ErtekelesSzazalek
,Jeloles
,TantargyNevIdegenNyelven
) EXEC sp_GetDokumentumErtekelesek
@osztalyId = @pOsztalyId
,@tanevId = @pTanevId
,@ertekelesTipus = @pErtekelesTipus
,@isMuveszetOktatasi = @pIsMuveszetOktatasi
,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
,@idegenNyelvId = 0
SELECT
ertekeles.TanuloId
,ertekeles.TanuloCsoportId
,Targy
,Jegyzet
,Ertekeles
,ErtekelesValue
,ErtekelesJegyzettel
,Oraszam
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
,'' TanarNev
FROM #ErtekelesResult ertekeles
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = ertekeles.TanuloId AND Tanulok.TanuloCsoportId = ertekeles.TanuloCsoportId
ORDER BY ertekeles.TanuloId, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
IF(@pIsShowTanuloiAtlag = 1) BEGIN
PRINT 'Tanuló Átlaga'
SELECT
atlag.TanuloId TanuloId
,atlag.TanuloCsoportId
,REPLACE(CAST(AVG(ErtekelesValue) AS DECIMAL(10,2)), '.', ',') ErtekelesAtlag
FROM #ErtekelesResult atlag
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
GROUP BY atlag.TanuloId, atlag.TanuloCsoportId
END
--PRINT 'MULASZTÁSOK ---------------------------------------------------------------'
INSERT INTO #MulasztasResult (
TanuloId
,TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
) EXEC sp_GetDokumentumMulasztasok
@osztalyId = @pOsztalyId
,@tanevId = @pTanevId
,@elmeletiOraPercben = @pElmeletiOraPercben
,@gyakorlatiOraPercben = @pGyakorlatiOraPercben
,@ertekelesTipus = @pErtekelesTipus
,@iskolaErdekuSzamit = @pIskolaErdekuSzamit
,@isMuveszetOktatasi = @pIsMuveszetOktatasi
SELECT
mu.TanuloId
,mu.TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
FROM #MulasztasResult mu
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = mu.TanuloId AND Tanulok.TanuloCsoportId = mu.TanuloCsoportId
--PRINT 'MENTESSÉGEK ---------------------------------------------------------------'
SELECT
Mentessegek.TanuloId
,Mentessegek.TanuloCsoportId
,TantargyNev
,MentessegOka
FROM fnGetDokumentumTanuloMentessegei(@pTanevId, @pOsztalyId, DEFAULT) Mentessegek
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Mentessegek.TanuloId AND Tanulok.TanuloCsoportId = Mentessegek.TanuloCsoportId
--PRINT 'TANULÓ elérhetőségei ---------------------------------------------------------------'
SELECT
GondviseloNev GondviseloNeve
,Gondviselo.TanuloId
FROM fnGetDokumentumGondviselok (@pOsztalyId, @pTanevId, 'F', 'T') Gondviselo
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Gondviselo.TanuloId
SELECT DISTINCT
TanuloTable.TanuloId AS tanuloID
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM AS CimText
,cimTipus.C_NAME AS CimTipusa
FROM #TanuloResult TanuloTable
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloTable.TanuloId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @pTanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipus ON cim.C_CIMTIPUSA = cimTipus.ID AND cimTipus.C_TANEVID = @pTanevId
WHERE cim.TOROLT = 'F'
AND cim.C_GONDVISELOID IS NULL
AND cim.C_ALAPERTELMEZETT = 'T'
AND cim.C_TANEVID = @pTanevId
--Tanuló összefüggő szakmai gyakorlat
SELECT
SzakmaiGyakorlat.TanuloId
,SzakmaiGyakorlat.TanuloCsoportId
,isTeljesitett
,Ertekeles
,Megjegyzes
,Datum
FROM fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@pTanevId, @pOsztalyId) SzakmaiGyakorlat
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = SzakmaiGyakorlat.TanuloId AND Tanulok.TanuloCsoportId = SzakmaiGyakorlat.TanuloCsoportId
--PRINT 'Osztály adatok az iktatáshoz ---------------------------------------------------------------'
IF @pIsMuveszetOktatasi = 0 BEGIN
SELECT
f.C_NYOMTATASINEV AS Osztalyfonok
,f.ID AS OsztalyfonokId
,ocs.C_NEV AS Osztalynev
,@pOsztalyId AS OsztalyId
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,o.C_TANTERVID AS TantervId
,ocs.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
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
,o.C_SPORT AS OJSportOsztaly
,o.C_AJPROGRAM AS OJAranyJanosProgram
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID
WHERE ocs.ID = @pOsztalyId
AND ocs.C_TANEVID = @pTanevId
AND ocs.TOROLT = 'F';
END
ELSE BEGIN
SELECT
f.C_NYOMTATASINEV AS CsoportVezeto
,f.ID AS CsoportVezetoId
,ocs.C_NEV AS OSZTALYNEV
,@pOsztalyId AS CsoportId
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
,cs.C_TIPUSA AS CsoportTipusa
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = cs.C_CSOPORTVEZETOID
WHERE ocs.ID = @pOsztalyId
AND ocs.C_TANEVID = @pTanevId
AND ocs.TOROLT = 'F';
END
--Bejegyzések
SELECT
TanuloTable.TanuloId
,TanuloTable.TanuloCsoportId
,'A tanév során ' + CAST(SUM(Oraszam) AS nvarchar(max)) + ' óra közösségi szolgálatot teljesített.' AS Bejegyzes
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@pTanevId, @pOsztalyId, 0) bejegyzes
INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId AND bejegyzes.TanuloCsoportId = TanuloTable.TanuloCsoportId
WHERE @pIsKozossegiSzolgalat = 1
-- AND ((@IdoszakVegeTanevRendje = 1395) OR (IntervallumVege <= @IdoszakVege OR @IdoszakVege BETWEEN IntervallumKezdete AND IntervallumVege))
GROUP BY TanuloTable.TanuloId, TanuloTable.TanuloCsoportId
UNION
SELECT
bejegyzes.TanuloId AS TanuloId
,TanuloCsoportId
,Tartalom AS Bejegyzes
FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztalyId, 0) bejegyzes
INNER JOIN #TanuloResult TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
WHERE Tipusa IN (1546, @EsemenyTipus)
AND BelepesDatum <= Datum
AND (KilepesDatum IS NULL OR KilepesDatum > Datum)
-- Zaradekok
SELECT
Hatarozatok.TanuloId
,Hatarozatok.TanuloCsoportId
,Bejegyzes AS VegZaradek
FROM fnGetDokumentumTanuloZaradekai(@pTanevId, @pOsztalyId, 1, 0) Hatarozatok
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = Hatarozatok.TanuloId AND Tanulok.TanuloCsoportId = Hatarozatok.TanuloCsoportId
WHERE @pErtekelesTipus IN (1519, 1520)
END
GO

View file

@ -0,0 +1,641 @@
DROP PROCEDURE IF EXISTS dbo.uspGetTorzslap
GO
CREATE PROCEDURE dbo.uspGetTorzslap
@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
,@isMuveszetOktatasi bit = 0
,@idegenNyelvId int = 509 --magyar
,@pShowTanuloiAtlag bit = 0
,@kiiratkozottTanulokMegjelenitese bit = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE @IdoszakVege DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
CREATE TABLE #Student (
TanuloId int
,NaploSorszam int
,TorzslapSzam nvarchar(500)
,TanuloCsoportId int
,BelepesDatum datetime
,KilepesDatum datetime
,Agazat nvarchar(250)
,Szakkepesites nvarchar(250)
,ReszSzakkepesites nvarchar(250)
,SzakmaCsoport nvarchar(250)
,AgazatIdegenNyelven nvarchar(250)
,SzakkepesitesIdegenNyelven nvarchar(250)
,ReszSzakkepesitesIdegenNyelven nvarchar(250)
,SzakmaCsoportIdegenNyelven nvarchar(250)
,OsztalyId INT
,RowNum int
INDEX IX_01 CLUSTERED (TanuloId)
)
INSERT INTO #Student (
TanuloId
,NaploSorszam
,TorzslapSzam
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,Agazat
,Szakkepesites
,ReszSzakkepesites
,SzakmaCsoport
,AgazatIdegenNyelven
,SzakkepesitesIdegenNyelven
,ReszSzakkepesitesIdegenNyelven
,SzakmaCsoportIdegenNyelven
,OsztalyId
,RowNum
) SELECT
OsztalyTanuloi.TanuloId AS TanuloId
,OsztalyTanuloi.NaploSorszam AS NaploSorszam
,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
,Agazat.C_NAME AS Agazat
,IIF(Szakkep.ID = 5527, '', Szakkep.C_NAME + '(szakképesítés)') AS Szakkepesites
,IIF(ReszSzakkep.ID = 6108, '', ReszSzakkep.C_NAME + '(részszakképesítés)') AS ReszSzakkepesites
,SzakmaCsop.C_NAME AS SzakmaCsoport
,AgazatIdegenNyelv.C_NAME
,SzakkepIdegenNyelv.C_NAME
,ReszSzakkepIdegenNyelv.C_NAME
,SzakmaCsopIdegenNyelv.C_NAME
,@osztalyId AS OsztalyId
,ROW_NUMBER() OVER(ORDER BY LEN(TorzslapSzam), TorzslapSzam) AS RowNum
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_DICTIONARYITEMBASENYELV_OSSZES AgazatIdegenNyelv ON AgazatIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.AgazatId AND AgazatIdegenNyelv.C_TANEVID = @tanevId AND AgazatIdegenNyelv.C_NYELVID = @idegenNyelvId AND AgazatIdegenNyelv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Szakkep ON Szakkep.ID = OsztalyTanuloi.SzakkepesitesId AND Szakkep.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES SzakkepIdegenNyelv ON SzakkepIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.SzakkepesitesId AND SzakkepIdegenNyelv.C_TANEVID = @tanevId AND SzakkepIdegenNyelv.C_NYELVID = @idegenNyelvId AND SzakkepIdegenNyelv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkep ON ReszSzakkep.ID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkep.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES ReszSzakkepIdegenNyelv ON ReszSzakkepIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkepIdegenNyelv.C_TANEVID = @tanevId AND ReszSzakkepIdegenNyelv.C_NYELVID = @idegenNyelvId AND ReszSzakkepIdegenNyelv.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaCsop ON SzakmaCsop.ID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsop.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES SzakmaCsopIdegenNyelv ON SzakmaCsopIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsopIdegenNyelv.C_TANEVID = @tanevId AND SzakmaCsopIdegenNyelv.C_NYELVID = @idegenNyelvId AND SzakmaCsopIdegenNyelv.TOROLT = 'F'
WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege)
DECLARE @minTorzslapszam nvarchar(500) = (
SELECT TOP (1) TorzslapSzam
FROM #Student
ORDER BY RowNum ASC
)
DECLARE @maxTorzslapszam nvarchar(500) = (
SELECT TOP (1) TorzslapSzam
FROM #Student
ORDER BY RowNum DESC
)
--Intézmény, tanév
IF @isMuveszetOktatasi = 0 BEGIN
SELECT DISTINCT
OsztalyCsoport.C_NEV AS OsztalyNev
,Osztaly.C_OSZTALYNAPLOLEIRASA AS OsztalyMegjegyzes
,Osztaly.C_OSZTALYFONOKID AS PartnerID
,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok
,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
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOMEGNYITASA), FORMAT(Osztaly.C_OSZTALYNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOZARASA), FORMAT(Osztaly.C_OSZTALYNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma
,tanev.C_NEV AS Tanev
,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam /*TODO:Tobb Osztaly Nem kell, mert egy adott osztályt kérdez le, ami paraméterként jön át *//*OM-1609*/
,@minTorzslapszam AS MinNaploSorszam
,@maxTorzslapszam AS MaxNaploSorszam
,OsztalyCsoport.ID AS OsztalyId
/*nemzetiségi törzslaphoz kell*/
,ofo.C_ELOTAG AS OsztalyfonokNevElotag
,ofo.C_VEZETEKNEV AS OsztalyfonoknevVezeteknev
,ofo.C_UTONEV AS OsztalyfonokNevUtonev
,Osztaly.C_OSZTALYNAPLOMEGNYITASA AS NaploMegnyitasanakDatumaPlain
,Osztaly.C_OSZTALYNAPLOZARASA AS NaploZarasanakDatumaPlain
--cím?
/***/
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
END
ELSE
BEGIN
SELECT DISTINCT
OsztalyCsoport.C_NEV AS OsztalyNev
,csoport.C_CSOPORTNAPLOLEIRAS AS OsztalyMegjegyzes
,csoport.C_CSOPORTVEZETOID AS PartnerID
,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok
,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
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOMEGNYITASA), FORMAT(csoport.C_CSOPORTNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOZARASA), FORMAT(csoport.C_CSOPORTNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma
,tanev.C_NEV AS Tanev
,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam
,@minTorzslapszam AS MinNaploSorszam
,@maxTorzslapszam AS MaxNaploSorszam
,OsztalyCsoport.ID AS OsztalyId
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
INNER JOIN T_CSOPORT_OSSZES csoport ON OsztalyCsoport.ID = csoport.ID AND csoport.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = csoport.C_CSOPORTVEZETOID
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
END
--Osztály, évfolyam
SELECT
OsztalyCsoport.C_NEV
,ISNULL(EvfolyamTipusa.C_NAME_1, (SELECT C_NAME_1 FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId)) AS C_EVFOLYAMTIPUSA_DNAME -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni
,EvfolyamTipusaIdegenNyelv.C_NAME EvfolyamTipusaIdegenNyelv
,OsztalyCsoport.ID AS OsztalyId
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES EvfolyamTipusaIdegenNyelv ON EvfolyamTipusaIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusaIdegenNyelv.C_TANEVID = @tanevId AND EvfolyamTipusaIdegenNyelv.C_NYELVID = @idegenNyelvId AND EvfolyamTipusaIdegenNyelv.TOROLT = 'F'
WHERE
OsztalyCsoport.ID = @osztalyId
CREATE TABLE #TanuloAdatok (
TanuloId int
,Azonosito nvarchar(40)
,Nev nvarchar(120)
,TanuloNevElotag nvarchar(120)
,TanuloNevVezeteknev nvarchar(120)
,TanuloNevUtonev nvarchar(120)
,SzuletesiDatum nvarchar(20)
,SzuletesiDatumPlain DATE
,SzuletesiHely nvarchar(50)
,Allampolgarsag nvarchar(250)
,AllampolgarsagIdegenNyelven nvarchar(250)
,AnyjaNeve nvarchar(64)
,AnyjaNeveIdegenNyelven nvarchar(64)
,SzuletesiOrszag nvarchar(250)
,SzuletesiOrszagIdegenNyelven nvarchar(250)
,TorzslapSzam nvarchar(500)
,GondviseloNeve nvarchar(max)
,GondviseloNevIdegenNyelven nvarchar(max)
,NaploSorszam int
,Nev2 nvarchar(255)
,SajatosNevelesu char(1)
,TanuloCsoportId int
,BelepesDatum datetime
,KilepesDatum datetime
,Agazat nvarchar(250)
,AgazatIdegenNyelven nvarchar(250)
,Szakkepesites nvarchar(250)
,SzakkepesitesIdegenNyelven nvarchar(250)
,ReszSzakkepesites nvarchar(250)
,ReszSzakkepesitesIdegenNyelven nvarchar(250)
,SzakmaCsoport nvarchar(250)
,SzakmaCsoportIdegenNyelven nvarchar(250)
,EvfolyamTipus INT
,OsztalyId INT
,EvfolyamTipusaIdegenNyelven nvarchar(250)
)
--Tanuló adatok
INSERT INTO #TanuloAdatok (
TanuloId
,Azonosito
,Nev
,TanuloNevElotag
,TanuloNevVezeteknev
,TanuloNevUtonev
,SzuletesiDatum
,SzuletesiDatumPlain
,SzuletesiHely
,Allampolgarsag
,AllampolgarsagIdegenNyelven
,AnyjaNeve
,AnyjaNeveIdegenNyelven
,SzuletesiOrszag
,SzuletesiOrszagIdegenNyelven
,TorzslapSzam
,GondviseloNeve
,GondviseloNevIdegenNyelven
,NaploSorszam
,Nev2
,SajatosNevelesu
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,Agazat
,AgazatIdegenNyelven
,Szakkepesites
,SzakkepesitesIdegenNyelven
,ReszSzakkepesites
,ReszSzakkepesitesIdegenNyelven
,SzakmaCsoport
,SzakmaCsoportIdegenNyelven
,EvfolyamTipus
,OsztalyId
,EvfolyamTipusaIdegenNyelven
) SELECT-- DISTINCT
felhasznalo.ID AS TanuloId
,felhasznalo.C_OKTATASIAZONOSITO AS Azonosito
,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.C_NYOMTATASINEV, felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV) AS Nev
,felhasznalo.C_ELOTAG AS TanuloNevElotag
,felhasznalo.C_VEZETEKNEV AS TanuloNevVezeteknev
,felhasznalo.C_UTONEV AS TanuloNevUtonev
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM), FORMAT(felhasznalo.C_SZULETESIDATUM, 'dd. MM. yyyy')) AS SzuletesiDatum
,felhasznalo.C_SZULETESIDATUM AS SzuletesiDatumPlain
,felhasznalo.C_SZULETESIHELY AS SzuletesiHely
,IIF(@nyomtatvanyNyelvEnum = 0, LOWER(allampolgarsag.C_NAME), dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_ALLAMPOLGARSAGA, @tanevId)) AS Allampolgarsag
,LOWER(allampolgarsagIdegenNyelv.C_NAME) AS AllampolgarsagIdegenNyelven
,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))) AS AnyjaNeve
,LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1)) AnyjaNeveIdegenNyelven
,IIF(@nyomtatvanyNyelvEnum = 0, szorszag.C_NAME, dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_SZULETESIORSZAG, @tanevId)) AS SzuletesiOrszag
,szorszagIdegenNyelv.C_NAME AS SzuletesiOrszagIdegenNyelven
,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
,gondviselo.Gondviselok AS GondviseloNeve
,gondviseloIdegenNyelven.Gondviselok AS GondviseloNevIdegenNyelven
,OsztalyTanuloi.NaploSorszam AS NaploSorszam
,felhasznalo.C_NYOMTATASINEV AS Nev2
,Tanulo.C_SAJATOSNEVELESU AS SajatosNevelesu
,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
,OsztalyTanuloi.Agazat AS Agazat
,OsztalyTanuloi.AgazatIdegenNyelven
,OsztalyTanuloi.Szakkepesites AS Szakkepesites
,OsztalyTanuloi.SzakkepesitesIdegenNyelven
,OsztalyTanuloi.ReszSzakkepesites AS ReszSzakkepesites
,OsztalyTanuloi.ReszSzakkepesitesIdegenNyelven
,OsztalyTanuloi.SzakmaCsoport AS SzakmaCsoport
,OsztalyTanuloi.SzakmaCsoportIdegenNyelven
,CASE OsztalyCsoport.C_EVFOLYAMTIPUSA
WHEN 7366 THEN ISNULL(tta.C_TANULOEVFOLYAMTIPUSID, (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId AND TOROLT = 'F')) -- Összevont osztálynál a tanulóhoz beírt évfolyamot kell megjeleníteni, ha nincs beállítva, akkor Na-t kell beírni
ELSE ISNULL(OsztalyCsoport.C_EVFOLYAMTIPUSA, (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId AND TOROLT = 'F')) -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni
END AS EvfolyamTipusa
,OsztalyTanuloi.OsztalyId AS OsztalyId
,EvfolyamTipusIdegenNyelv.C_NAME AS EvfolyamTipusaIdegenNyelven
/*szakképesítés egyebek....*/
FROM #Student OsztalyTanuloi
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = OsztalyTanuloi.TanuloId
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON OsztalyTanuloi.TanuloId = felhasznalo.ID
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = OsztalyTanuloi.TanuloCsoportId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsag.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES allampolgarsagIdegenNyelv ON allampolgarsagIdegenNyelv.C_DICTIONARYITEMBASEID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsagIdegenNyelv.C_TANEVID = @tanevId AND allampolgarsagIdegenNyelv.C_NYELVID = @idegenNyelvId AND allampolgarsagIdegenNyelv.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.C_SZULETESIORSZAG AND szorszag.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szorszagIdegenNyelv ON szorszagIdegenNyelv.C_DICTIONARYITEMBASEID = felhasznalo.C_SZULETESIORSZAG AND szorszagIdegenNyelv.C_TANEVID = @tanevId AND szorszagIdegenNyelv.C_NYELVID = @idegenNyelvId AND szorszagIdegenNyelv.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = @osztalyId AND OsztalyCsoport.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipus ON EvfolyamTipus.ID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipus.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES EvfolyamTipusIdegenNyelv ON EvfolyamTipusIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusIdegenNyelv.C_TANEVID = @tanevId AND EvfolyamTipusIdegenNyelv.C_NYELVID = @idegenNyelvId AND EvfolyamTipusIdegenNyelv.TOROLT = 'F'
LEFT JOIN (
SELECT DISTINCT
g.TanuloId AS TanuloId
,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + LOWER(d.C_NAME) + N')', N'') + NCHAR(10)
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId
WHERE
bg.TanuloId = g.TanuloId
FOR XML PATH('')) Gondviselok
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g
) gondviselo ON felhasznalo.ID = gondviselo.TanuloId
LEFT JOIN (
SELECT DISTINCT
g.TanuloId TanuloId
,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + ISNULL(LOWER(dny.C_NAME), LOWER(d.C_NAME)) + N')', N'') + NCHAR(10)
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny on dny.C_DICTIONARYITEMBASEID = bg.RokonsagifokId AND dny.C_TANEVID = @tanevId AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F'
WHERE
bg.TanuloId = g.TanuloId
FOR XML PATH('')) Gondviselok
FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g
) gondviseloIdegenNyelven on felhasznalo.ID = gondviseloIdegenNyelven.TanuloId
WHERE
felhasznalo.C_TANEVID = @tanevId
AND felhasznalo.TOROLT = 'F'
ORDER BY Nev
SELECT
TanuloId
,Azonosito
,Nev
,TanuloNevElotag
,TanuloNevUtonev
,TanuloNevVezeteknev
,SzuletesiDatum
,SzuletesiHely
,Allampolgarsag
,Anyjaneve
,AnyjaNeveIdegenNyelven
,SzuletesiOrszag
,TorzslapSzam
,GondviseloNeve
,GondviseloNevIdegenNyelven
,NaploSorszam
,Nev2
,SajatosNevelesu
,TanuloCsoportId
,BelepesDatum
,KilepesDatum
,Szakkepesites
,ReszSzakkepesites
,dict.C_NAME AS C_EVFOLYAMTIPUSA_DNAME
,EvfolyamTipusaIdegenNyelven
,OsztalyId
,SzuletesiDatumPlain
,AllampolgarsagIdegenNyelven
,SzuletesiOrszagIdegenNyelven
,AgazatIdegenNyelven
,SzakkepesitesIdegenNyelven
,ReszSzakkepesitesIdegenNyelven
,SzakmaCsoportIdegenNyelven
FROM #TanuloAdatok
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dict ON dict.ID = #TanuloAdatok.EvfolyamTipus AND dict.C_TANEVID = @tanevId
ORDER BY LEN(TorzslapSzam), TorzslapSzam
--Határozat
SELECT
TanuloId
,TanuloCsoportId
,Bejegyzes
,BejegyzesIdegenNyelven
FROM fnGetDokumentumTanuloZaradekai(@tanevId, @osztalyId, 1, @idegenNyelvId)
--Egyéb bejegyzések
SELECT
bejegyzes.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,Tartalom AS Bejegyzes
,d.C_NAME AS Tipus_DNAME
,dny.C_NAME AS TipusIdegenNyelven
,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(bejegyzes.Datum), FORMAT(bejegyzes.Datum, 'dd. MM. yyyy')) AS Datum
,bejegyzes.Datum AS DatumPlain
,BejegyzesIdegenNyelven
FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, @idegenNyelvId) bejegyzes
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = Tipusa AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F' AND dny.C_TANEVID = @tanevId
INNER JOIN #Student s ON s.TanuloId = bejegyzes.TanuloId
WHERE Tipusa IN (1545, 1548, 1553) --KRETA-6062
AND BelepesDatum <= Datum
AND (KilepesDatum IS NULL OR KilepesDatum >= Datum)
ORDER BY Datum
-- MULASZTÁSOK
CREATE TABLE #Mulasztasok (
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 (
TanuloId
,TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
) EXEC sp_GetDokumentumMulasztasok
@osztalyId = @osztalyId
,@tanevId = @tanevId
,@elmeletiOraPercben = @elmeletiOraPercben
,@gyakorlatiOraPercben = @gyakorlatiOraPercben
,@ertekelesTipus = @ertekelesTipus
,@iskolaErdekuSzamit = @iskolaErdekuSzamit
,@isMuveszetOktatasi = @isMuveszetOktatasi
SELECT
TanuloTable.TanuloId
,TanuloTable.TanuloCsoportId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,ElmeletOsszes
,GyakorlatOsszes
,Osszes
FROM #Mulasztasok mulasztasok
INNER JOIN #Student TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId AND TanuloTable.TanuloCsoportId = mulasztasok.TanuloCsoportId
-- ÉRTÉKELÉSEK
CREATE TABLE #Ertekelesek (
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)
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTemaIdegenNyelven nvarchar(max)
,ErtekelesSzovegIdegenNyelven nvarchar(max)
,ErtekelesValueIdegenNyelven nvarchar(max)
,ErtekelesOsztalyzatIdegenNyelven nvarchar(max)
,ErtekelesSzazalek nvarchar(max)
,Jeloles nvarchar(max)
,TantargyNevIdegenNyelven nvarchar(max)
/**/
)
INSERT INTO #Ertekelesek
EXEC dbo.sp_GetDokumentumErtekelesek
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@ertekelesTipus =@ertekelesTipus,
@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum,
@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos,
@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos,
@isAltantargyBeszamitasa = @isAltantargyBeszamitasa,
@isMuveszetOktatasi = @isMuveszetOktatasi,
@idegenNyelvId = @idegenNyelvId
SELECT
TanuloId
,TanuloCsoportId
,Targy
,Jegyzet
,Ertekeles
,ErtekelesValue
,ErtekelesJegyzettel
,Oraszam
,RENDEZ1 RENDEZ
,Rendez1
,Rendez2
,Rendez3
,Rendez4
,Rendez5
/*nemzetiségi törzslaphoz kell*/
,ErtekelesTemaIdegenNyelven
,ErtekelesSzovegIdegenNyelven
,ErtekelesValueIdegenNyelven
,ErtekelesOsztalyzatIdegenNyelven
,ErtekelesSzazalek
,Jeloles
,TantargyNevIdegenNyelven
/**/
FROM #Ertekelesek
ORDER BY Rendez1, Rendez2, Rendez3, Rendez4, Rendez5
--Tanuló lista
SELECT
Nev
,NaploSorszam
,TorzslapSzam
,dbo.fnGetDokumentumDatumFormatum (KilepesDatum) KilepesDatum
,TanuloId
,OsztalyId
FROM #TanuloAdatok
ORDER BY Nev
--Közösségi szolgálat
SELECT DISTINCT
OsztalyTanuloi.TanuloId
,OsztalyTanuloi.TanuloCsoportId
,Datum AS Datum
,ISNULL(' - ' + Megjegyzes, '') AS Megjegyzes
,Oraszam
,TeljesitesHelye
,FeljegyzoNeve
,Tipus
,KozossegiSzolgalatId
,IntervallumKezdete
,IntervallumVege
,TipusIdegenNyelven
,MegjegyzesIdegenNyelven
,TeljesitesHelyeIdegenNyelven
,FeljegyzoNevElotag
,FeljegyzoNevVezeteknev
,FeljegyzoNevUtonev
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId, @idegenNyelvId) KozossegiSzolgalat
INNER JOIN #Student OsztalyTanuloi ON OsztalyTanuloi.TanuloId = KozossegiSzolgalat.TanuloId
WHERE @isKozossegiSzolgalat = 1 /*TODO: javítani...*/
ORDER BY IntervallumKezdete
--SNI
SELECT
s.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,ISNULL(Tanulo.C_SNIKIALLITOINTEZMENY, '') AS SNIKiallitoIntezmeny
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIOKMANYERVENYESSEGKEZDETE) AS SNIKezdete
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIKONTROLLIDOPONT) AS 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 + '(Diszgráfia okmányszám) ', '')
+ISNULL(Tanulo.C_DISZKALKULIAOKMANYSZAM + '(Diszkalkulia okmányszám) ', '')
+ISNULL(Tanulo.C_DISZLEXIAOKMANYSZAM + '(Diszlexia okmányszám) ', '')
+ISNULL(TANULO.C_VISELKEDESORGANIKUSOKMANYSZA + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '')
+ISNULL(TANULO.C_VISELKEDESNEMORGANIKUSOKMANY + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '')
+ISNULL(TANULO.C_MEGISMEROORGANIKUSOKMANYSZAM + '(Megismerő funkciók rendellenessége okmányszám) ', '')
+ISNULL(TANULO.C_MEGISMERONEMORGANIKUSOKMANYS + '(Megismerő funkciók rendellenessége okmányszám) ', '') AS SNIOkmanyszamok
FROM #Student s
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId
WHERE Tanulo.C_SAJATOSNEVELESU = 'T'
--BTM
SELECT
s.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,ISNULL(Tanulo.C_BTMKIALLITOINTEZMENY,'') AS BTMKiallitoIntezmeny
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMOKMANYERVENYESSEGKEZDETE) AS BTMKezdete
,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMKONTROLLIDOPONT) AS BTMKontrolIdopont
,ISNULL(Tanulo.C_BTMHATAROZATOKMANYSZAM + '(BTM határozat okmányszáma) ', '')
+IIF(Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ ='T', 'Beilleszkedési problémával küzd, ', '')
+IIF(Tanulo.C_MAGATARTASIPROBLEMAVALKUZD ='T', 'Magatartási problémával küzd, ', '')
+IIF(Tanulo.C_TANULASIPROBLEMAVALKUZD ='T', 'Tanulási problémával küzd - ', '')
+IIF(Tanulo.C_TANULASIPROBLEMADISZGRAFIA ='T', 'Diszgráfia, ', '')
+IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZK ='T', 'Diszkalkulia, ', '')
+IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZL ='T', 'Diszlexia ', '') AS BTMOkmanyszamok
FROM #Student s
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId
WHERE Tanulo.C_BTMPROBLEMAS = 'T'
--Tanuló felmentései
SELECT
TanuloId
,TanuloCsoportId
,TantargyNevMentessegNelkul
,MentessegOka
,dbo.fnGetDokumentumDatumFormatum(Kezdete) AS Kezdete
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, @nyomtatvanyNyelvEnum)
--Tanuló kzösségi szolgálat feljegyzései
SELECT
s.TanuloId AS TanuloId
,s.TanuloCsoportId AS TanuloCsoportId
,te.C_TARTALOM AS Bejegyzes
,d.C_NAME AS Tipus_DNAME
,dbo.fnGetDokumentumDatumFormatum(te.C_ROGZITESDATUMA) AS Datum
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN #Student s ON s.TanuloId = tte.C_TANULOID
INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID AND te.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F'
WHERE
te.TOROLT = 'F'
AND te.C_TIPUS = 1546
SELECT
Tanulok.TanuloId AS TanuloId
,Tanulok.TanuloCsoportId AS TanuloCsoportId
,C_TELJESITETT AS isTeljesitett
,Osztalyzat.C_VALUE AS Ertekeles
,'[' + C_MEGJEGYZES + ']' AS Megjegyzes
,dbo.fnGetDokumentumDatumFormatum(OsszefuggoSzakGyak.C_TELJESITESDATUM) AS Datum
FROM #Student Tanulok
INNER JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES OsszefuggoSzakGyak ON OsszefuggoSzakGyak.C_TANULOID = Tanulok.TanuloId AND OsszefuggoSzakGyak.TOROLT = 'F' AND OsszefuggoSzakGyak.C_TANEVID = @tanevid
LEFT JOIN T_TANULOERTEKELES_OSSZES Ertekeles ON Ertekeles.C_OSSZEFUGGOSZAKGYAKID = OsszefuggoSzakGyak.ID AND Ertekeles.TOROLT = 'F' AND Ertekeles.C_TANEVID = @tanevid
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Osztalyzat ON Osztalyzat.ID = Ertekeles.C_ERTEKELESOSZTALYZATID AND Osztalyzat.C_TANEVID = Ertekeles.C_TANEVID AND Osztalyzat.C_INTEZMENYID = Ertekeles.C_INTEZMENYID
WHERE
Tanulok.BelepesDatum <= OsszefuggoSzakGyak.C_TELJESITESDATUM
AND (Tanulok.KilepesDatum >= OsszefuggoSzakGyak.C_TELJESITESDATUM OR Tanulok.KilepesDatum IS NULL)
IF(@pShowTanuloiAtlag = 1) BEGIN
SELECT
atlag.TanuloId AS TanuloId
,atlag.TanuloCsoportId AS TanuloCsoportId
,FORMAT(AVG(ErtekelesValue), 'N', 'hu-HU') AS ErtekelesAtlag
FROM #Ertekelesek atlag
INNER JOIN #Student Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
GROUP BY atlag.TanuloId, atlag.TanuloCsoportId
END
END
GO