568 lines
20 KiB
Transact-SQL
568 lines
20 KiB
Transact-SQL
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
|
|
,@negyedevreSzamoltMulasztasok bit = 1
|
|
,@szorgalomErtekelesTipusTypeID int = 51
|
|
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
|
|
WHEN 1525 THEN 1552 --IV. negyedévi
|
|
END
|
|
|
|
SET @IdoszakVegeTanevRendje =
|
|
CASE @pErtekelesTipus
|
|
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
|
WHEN 1520 THEN 1395 --Év végi jegy/értékelés -> Utolsó tanítási nap
|
|
WHEN 1522 THEN 1403 --I. né. jegy/értékelés -> I. negyedév vége
|
|
WHEN 1524 THEN 1400 --II. né. jegy/értékelés -> Első félév vége
|
|
WHEN 1523 THEN 1404 --III. né. jegy/értékelés -> III. negyedév vége
|
|
WHEN 1525 THEN 1395 --IV. né. jegy/értékelés -> Utolsó tanítási nap
|
|
END
|
|
|
|
CREATE TABLE #ErtekelesResult (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Targy nvarchar(max)
|
|
,Jegyzet nvarchar(max)
|
|
,Ertekeles nvarchar(max)
|
|
,ErtekelesValue int
|
|
,ErtekelesJegyzettel nvarchar(max)
|
|
,Oraszam float
|
|
,RENDEZ0 int
|
|
,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)
|
|
,TantargyNevMagyarul nvarchar(max)
|
|
/**/
|
|
,TantargyId int
|
|
,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 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = @IdoszakVegeTanevRendje AND C_TANEVID = @pTanevId AND TOROLT = 'F')
|
|
IF @IdoszakVege IS NULL BEGIN
|
|
SET @IdoszakVege = (SELECT IIF(GETDATE() > C_UTOLSONAP, C_UTOLSONAP, GETDATE()) FROM T_TANEV WHERE ID = @pTanevId)
|
|
END
|
|
|
|
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
|
|
,ocs.C_isTECHNIKAI 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
|
|
,RENDEZ0
|
|
,RENDEZ1
|
|
,RENDEZ2
|
|
,RENDEZ3
|
|
,RENDEZ4
|
|
,RENDEZ5
|
|
,ErtekelesTemaIdegenNyelven
|
|
,ErtekelesSzovegIdegenNyelven
|
|
,ErtekelesValueIdegenNyelven
|
|
,ErtekelesOsztalyzatIdegenNyelven
|
|
,ErtekelesSzazalek
|
|
,Jeloles
|
|
,TantargyNevIdegenNyelven
|
|
,TantargyNevMagyarul
|
|
,TantargyId
|
|
) EXEC uspGetDokumentumErtekelesek
|
|
@osztalyId = @pOsztalyId
|
|
,@tanevId = @pTanevId
|
|
,@ertekelesTipus = @pErtekelesTipus
|
|
,@isMuveszetOktatasi = @pIsMuveszetOktatasi
|
|
,@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos
|
|
,@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
|
|
,@isAltantargyBeszamitasa = @isAltantargyBeszamitasa
|
|
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
|
|
,@idegenNyelvId = 0
|
|
,@szorgalomErtekelesTipusTypeID = @szorgalomErtekelesTipusTypeID
|
|
|
|
SELECT
|
|
ertekeles.TanuloId
|
|
,ertekeles.TanuloCsoportId
|
|
,Targy
|
|
,TantargyId
|
|
,Jegyzet
|
|
,Ertekeles
|
|
,ErtekelesValue
|
|
,ErtekelesJegyzettel
|
|
,Oraszam
|
|
,RENDEZ0
|
|
,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, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
|
|
|
IF(@pIsShowTanuloiAtlag = 1) BEGIN
|
|
PRINT 'Tanuló Átlaga'
|
|
SELECT
|
|
atlag.TanuloId TanuloId
|
|
,atlag.TanuloCsoportId
|
|
,REPLACE(CAST(AVG(ErtekelesValue * 1.0) AS DECIMAL(10,2)), '.', ',') ErtekelesAtlag
|
|
FROM #ErtekelesResult atlag
|
|
INNER JOIN #TanuloResult Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId
|
|
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = atlag.TantargyId AND tantargy.TOROLT = 'F' AND tantargy.C_ISTANULMANYIATLAGBANEMSZAMIT = 'F'
|
|
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
|
|
,@negyedevreSzamoltMulasztasok = @negyedevreSzamoltMulasztasok
|
|
|
|
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 + ' ' + C_KOZTERULETJELLEGENEV + ' ' + 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 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
|
|
,o.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat
|
|
,o.C_SZAKMATIPUSID AS UjSzktSzakma
|
|
,o.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany
|
|
,o.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet
|
|
,o.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites
|
|
,o.C_SZAKIRANYNKTTIPUSID AS NktSzakirany
|
|
,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
|
|
,ocs.C_VEGZOSEVFOLYAM AS CSJVegzosEvfolyamu
|
|
,ocs.C_isTECHNIKAI 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
|
|
CREATE TABLE #TanuloKozossegiSzolgalatai (
|
|
TanuloOktAzon NVARCHAR(20),
|
|
TanuloId INT,
|
|
TanuloNev NVARCHAR(200),
|
|
TanuloCsoportId INT,
|
|
KozossegiSzolgalatTanevId INT,
|
|
Oraszam numeric(10,2),
|
|
IntervallumKezdete DATETIME,
|
|
IntervallumVege DATETIME
|
|
)
|
|
|
|
INSERT INTO #TanuloKozossegiSzolgalatai
|
|
SELECT
|
|
TanuloOktAzon,
|
|
TanuloId,
|
|
TanuloNev,
|
|
TanuloCsoportId,
|
|
KozossegiSzolgalatTanevId,
|
|
Oraszam,
|
|
IntervallumKezdete,
|
|
IntervallumVege
|
|
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@pTanevId, @pOsztalyId, 0)
|
|
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TanuloNev +
|
|
(SELECT
|
|
' tanuló eddig ' + CAST(SUM(Oraszam) AS NVARCHAR(100)) + ' óra közösségi szolgálatot teljesített'
|
|
FROM #TanuloKozossegiSzolgalatai
|
|
WHERE TanuloOktAzon = tk.TanuloOktAzon
|
|
GROUP BY TanuloOktAzon
|
|
) +
|
|
ISNULL((
|
|
SELECT
|
|
'. Ebből ' + ISNULL(CAST(SUM(Oraszam) AS NVARCHAR(100)), 0) + ' órát ebben a tanévben rögzítettek'
|
|
FROM #TanuloKozossegiSzolgalatai
|
|
WHERE TanuloOktAzon = tk.TanuloOktAzon
|
|
AND KozossegiSzolgalatTanevId = @pTanevId
|
|
GROUP BY TanuloOktAzon
|
|
),'.') +
|
|
ISNULL((
|
|
SELECT
|
|
', illetve ' + ISNULL(CAST(SUM(Oraszam) AS NVARCHAR(100)), 0) + ' órát teljesített a tanuló a tanév során.'
|
|
FROM #TanuloKozossegiSzolgalatai
|
|
WHERE TanuloOktAzon = tk.TanuloOktAzon
|
|
AND KozossegiSzolgalatTanevId = @pTanevId
|
|
AND (IntervallumVege <= @IdoszakVege OR @IdoszakVege BETWEEN IntervallumKezdete AND IntervallumVege)
|
|
GROUP BY TanuloOktAzon
|
|
),'') COLLATE Hungarian_CI_AI AS Bejegyzes
|
|
FROM #TanuloKozossegiSzolgalatai tk
|
|
WHERE @pIsKozossegiSzolgalat = 1
|
|
|
|
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
|
|
IF (@pErtekelesTipus IN (1519, 1520))
|
|
BEGIN
|
|
EXEC dbo.uspGetDokumentumTanuloZaradekai
|
|
@tanevId = @pTanevId
|
|
,@osztalyId = @pOsztalyId
|
|
,@zaradekTipusId = null
|
|
,@idegenNyelvId = 0
|
|
,@dokumentumTipusId = 3
|
|
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT
|
|
NULL AS TanuloId
|
|
,NULL AS TanuloCsoportId
|
|
,'' AS Bejegyzes
|
|
,'' AS BejegyzesIdegenNyelven
|
|
END
|
|
|
|
END
|
|
GO
|
|
|