DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokTantargyMulasztasokReszletezese GO CREATE PROCEDURE [dbo].[sp_GetTanulokTantargyMulasztasokReszletezese] @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) ) INSERT INTO #MulasztasOsztalyonkent( TantargyId ,Tipusa ,IgazolasTipusa ,OsztalyCsoportId ,TanuloID ,TantargyNev ,OsztalyCsoportNev ,Igazolt ,KesesPercben ,Datum ,OraszamWithOrakezdeteVege ) SELECT TantargyId ,Tipusa ,IgazolasTipusa ,OsztalyCsoportId ,TanuloID ,TantargyNev ,OsztalyCsoportNev ,Igazolt ,KesesPercben ,Datum ,OraszamWithOrakezdeteVege 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 ,TargyakRendezes.C_ORDER ,TantargyId ,TantargyNev as TantargyNev ,COUNT(1) as COUNT FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = MulasztasokOsztalyonkent.TantargyId AND Tantargy.TOROLT='F' INNER JOIN T_DICTIONARYITEMBASE_OSSZES TargyakRendezes ON Tantargy.C_TARGYKATEGORIA = TargyakRendezes.ID AND TargyakRendezes.TOROLT = 'F' AND TargyakRendezes.C_TANEVID = @pTanevId GROUP BY TanuloId, TantargyId, TantargyNev, TargyakRendezes.C_ORDER ORDER BY TargyakRendezes.C_ORDER 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 SELECT o.ID as OsztalyId ,ocs.C_EVFOLYAMTIPUSA as EvfolyamTipusa ,ocs.C_FELADATELLATASIHELYID as FeladatEllatasiHelyId ,o.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 ,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 ,o.C_LOGOPEDIAI as OJLogopediai ,o.C_SPORT as OJSportOsztaly ,o.C_AJPROGRAM as OJAranyJanosProgram ,o.C_GYOGYPEDAGOGIAI as OJGyogypedagogiai 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