DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokTantargyMulasztasokReszletezese DROP PROCEDURE IF EXISTS dbo.uspGetTanulokTantargyMulasztasokReszletezese GO CREATE PROCEDURE [dbo].[uspGetTanulokTantargyMulasztasokReszletezese] @pOsztalyId int ,@pTanevId int ,@pIskolaErdekuSzamit bit AS BEGIN SET NOCOUNT ON; CREATE TABLE #MulasztasOsztalyonkent( TantargyId int ,Tipusa int ,IgazolasTipusa int ,OsztalyCsoportId int ,TanuloId int ,TantargyNev nvarchar(1000) ,OsztalyCsoportNev nvarchar(510) ,Igazolt char(1) ,KesesPercben int ,Datum date ,OraszamWithOrakezdeteVege nvarchar(50) ,RENDEZ0 int ,RENDEZ1 INT ,RENDEZ2 NVARCHAR(510) ,RENDEZ3 INT ,RENDEZ4 INT ,RENDEZ5 NVARCHAR(510) ) INSERT INTO #MulasztasOsztalyonkent( TantargyId ,Tipusa ,IgazolasTipusa ,OsztalyCsoportId ,TanuloID ,TantargyNev ,OsztalyCsoportNev ,Igazolt ,KesesPercben ,Datum ,OraszamWithOrakezdeteVege ,RENDEZ0 ,RENDEZ1 ,RENDEZ2 ,RENDEZ3 ,RENDEZ4 ,RENDEZ5 ) SELECT TantargyId ,Tipusa ,IgazolasTipusa ,OsztalyCsoportId ,TanuloID ,TantargyNev ,OsztalyCsoportNev ,Igazolt ,KesesPercben ,Datum ,OraszamWithOrakezdeteVege ,RENDEZ0 ,RENDEZ1 ,RENDEZ2 ,RENDEZ3 ,RENDEZ4 ,RENDEZ5 FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT) /*FEJLEC*/ SELECT IntezmenyAdat.C_NEV as IntezmenyNeve ,IntezmenyAdat.C_OMKOD as IntezmenyOMKod ,IntezmenyAdat.C_IGAZGATONEVE IntezmenyVezeto ,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) as IntezmenyCime ,IntezmenyAdat.C_VAROS as IntezmenyVaros ,(SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId) as OsztalyCsoportNev ,@pOsztalyId as OsztalyId ,ofo.C_NYOMTATASINEV as OsztalyfonokNev FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdat INNER JOIN T_OSZTALY_OSSZES AS o ON o.ID = @pOsztalyId AND o.TOROLT='F' LEFT JOIN T_FELHASZNALO_OSSZES AS ofo ON ofo.ID = o.C_OSZTALYFONOKID AND ofo.TOROLT='F' WHERE INTEZMENYADAT.C_TANEVID = @pTanevId AND IntezmenyAdat.TOROLT='F' /*TANULOK*/ SELECT TanuloId ,Felhasznalo.C_NYOMTATASINEV as TanuloNev ,@pOsztalyId as OsztalyCsoportId ,Felhasznalo.C_OKTATASIAZONOSITO as TanuloOktAzon FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') Tanulok INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulok.TanuloId AND Felhasznalo.TOROLT='F' ORDER BY Felhasznalo.C_NYOMTATASINEV /*MULASZTOTT TANTARGY*/ SELECT DISTINCT TanuloId ,OsztalyCsoportId ,TantargyId ,TantargyNev as TantargyNev ,COUNT(1) as COUNT ,RENDEZ0 ,RENDEZ1 ,RENDEZ2 ,RENDEZ3 ,RENDEZ4 ,RENDEZ5 FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = MulasztasokOsztalyonkent.TantargyId AND Tantargy.TOROLT='F' GROUP BY TanuloId, OsztalyCsoportId, TantargyId, TantargyNev, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5 ORDER BY TanuloId, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5 SELECT TanuloId ,OsztalyCsoportId ,OsztalyCsoportNev as OsztalyCsoportNev ,CASE WHEN Igazolt = 'T' THEN 'Igen' WHEN Igazolt = 'F' THEN 'Nem' ELSE '' END as Igazolt ,MulasztasTipus.C_NAME as Tipusa ,IgazolasTipus.C_NAME as IgazolasTipusa ,KesesPercben as Keses ,Datum as Datum ,OraszamWithOrakezdeteVege as Oraszam ,TantargyId ,Felhasznalo.C_NYOMTATASINEV as OsztalyfonokNev FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent INNER JOIN T_DICTIONARYITEMBASE_OSSZES MulasztasTipus ON MulasztasokOsztalyonkent.Tipusa = MulasztasTipus.ID AND MulasztasTipus.C_TANEVID = @pTanevId AND MulasztasTipus.TOROLT='F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON MulasztasokOsztalyonkent.IgazolasTipusa = IgazolasTipus.ID AND IgazolasTipus.C_TANEVID = @pTanevId AND IgazolasTipus.TOROLT='F' LEFT JOIN T_OSZTALY_OSSZES Osztaly ON MulasztasokOsztalyonkent.OsztalyCsoportId = Osztaly.ID AND Osztaly.TOROLT='F' LEFT JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Osztaly.C_OSZTALYFONOKID = Felhasznalo.ID AND Felhasznalo.TOROLT='F' ORDER BY Datum, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5 SELECT o.ID as OsztalyId ,ocs.C_EVFOLYAMTIPUSA as EvfolyamTipusa ,ocs.C_FELADATELLATASIHELYID as FeladatEllatasiHelyId ,ocs.C_KEPZESIFORMA as KepzesiForma ,o.C_OSZTALYFONOKID as OsztalyfonokId ,o.C_TANTERVID as TantervId ,o.C_SZAKMACSOPORT as SzakmaCsoport ,o.C_AGAZAT as Agazat ,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_OSZTALY_OSSZES as o INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F' WHERE o.ID = @pOsztalyId AND o.TOROLT='F' END GO