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