DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokJegyeiReszletezes DROP PROCEDURE IF EXISTS dbo.uspGetTanulokJegyeiReszletezes GO CREATE PROCEDURE [dbo].[uspGetTanulokJegyeiReszletezes] @OsztalyId int ,@TanevId int ,@isNemet int = 0 ,@osztalyzatTipusTypeID int = 44 ,@magatartasErtekelesTipusTypeID int = 50 ,@szorgalomErtekelesTipusTypeID int = 51 AS BEGIN SET NOCOUNT ON; SELECT DISTINCT @osztalyId OsztalyId ,ocs.C_NEV OsztalyNev ,o.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes ,o.C_OSZTALYFONOKID PartnerID ,ofo.C_NYOMTATASINEV Osztalyfonok ,i.C_IGAZGATONEVE IntezmenyVezeto ,i.C_NEV IntezmenyNeve ,i.C_IRANYITOSZAM IntezmenyIranyitoszam ,i.C_VAROS IntezmenyVaros ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime ,i.C_OMKOD IntezmenyOMKod FROM T_OSZTALYCSOPORT_OSSZES ocs 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_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F' WHERE ocs.ID = @osztalyId SELECT dbo.fnGetDokumentumDatumFormatum(Datum) Datum ,CASE WHEN (CAST(ErtekelesOsztalyzatValue AS NVARCHAR(MAX)) IS NOT NULL OR ErtekelesSzovegFormazott IS NOT NULL OR ErtekelesSzazalek IS NOT NULL) THEN TantargyNevZarojellel WHEN (CAST(MagatartasOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL OR MagatartasErtek IS NOT NULL OR MagatartasSzovegFormazott IS NOT NULL) THEN 'Magatartás' WHEN (CAST(SzorgalomOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL OR SzorgalomErtek IS NOT NULL OR SzorgalomSzovegFormazott IS NOT NULL) THEN 'Szorgalom' END AS Tantargy ,ErtekelesTipusDictionary.C_NAME ErtTip ,ErtekelesModjaDictionary.C_NAME ErtMod ,ErtekelesTable.ErtekelesTema Tema ,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev ,COALESCE( CAST(ErtekelesTable.ErtekelesOsztalyzatValue AS NVARCHAR(MAX)) ,ErtekelesTable.ErtekelesSzovegFormazott ,ErtekelesTable.ErtekelesSzazalek ,ErtekelesTable.MagatartasOsztalyzatNev ,ErtekelesTable.MagatartasErtek ,ErtekelesTable.MagatartasSzovegFormazott ,ErtekelesTable.SzorgalomOsztalyzatNev ,ErtekelesTable.SzorgalomErtek ,ErtekelesTable.SzorgalomSzovegFormazott ) Osztalyzat ,TanuloNeve.C_NYOMTATASINEV TanuloNev ,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX)) GroupParameter ,Tanulok.TanuloId AS TanuloId ,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon ,ErtekelesTable.ErtekeloId AS ErtekeloId ,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon ,@OsztalyId AS OsztalyId ,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum ,ErtekelesTable.RENDEZ0 AS RENDEZ0 ,ErtekelesTable.RENDEZ1 AS RENDEZ1 ,ErtekelesTable.RENDEZ2 AS RENDEZ2 ,ErtekelesTable.RENDEZ3 AS RENDEZ3 ,ErtekelesTable.RENDEZ4 AS RENDEZ4 ,ErtekelesTable.RENDEZ5 AS RENDEZ5 FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId UNION SELECT dbo.fnGetDokumentumDatumFormatum(Datum) Datum ,'Magatartás' Tantargy ,ErtekelesTipusDictionary.C_NAME ErtTip ,ErtekelesModjaDictionary.C_NAME ErtMod ,ErtekelesTema Tema ,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev ,COALESCE( ErtekelesTable.MagatartasOsztalyzatNev ,ErtekelesTable.MagatartasErtek ,ErtekelesTable.MagatartasSzovegFormazott ) Osztalyzat ,TanuloNeve.C_NYOMTATASINEV TanuloNev ,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX)) GroupParameter ,Tanulok.TanuloId AS TanuloId ,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon ,ErtekelesTable.ErtekeloId AS ErtekeloId ,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon ,@OsztalyId AS OsztalyId ,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum ,0 AS RENDEZ0 ,0 AS RENDEZ1 ,'' AS RENDEZ2 ,0 AS RENDEZ3 ,0 AS RENDEZ4 ,'' AS RENDEZ5 FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'T' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId WHERE MagatartasOsztalyzatNev IS NOT NULL OR MagatartasErtek IS NOT NULL OR MagatartasSzoveg IS NOT NULL UNION SELECT dbo.fnGetDokumentumDatumFormatum(Datum) Datum ,'Szorgalom' Tantargy ,ErtekelesTipusDictionary.C_NAME ErtTip ,ErtekelesModjaDictionary.C_NAME ErtMod ,ErtekelesTema Tema ,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev ,COALESCE( ErtekelesTable.SzorgalomOsztalyzatNev ,ErtekelesTable.SzorgalomErtek ,ErtekelesTable.SzorgalomSzovegFormazott ) Osztalyzat ,TanuloNeve.C_NYOMTATASINEV TanuloNev ,TanuloNeve.C_NYOMTATASINEV + CAST(Tanulok.TanuloId AS NVARCHAR(MAX)) GroupParameter ,Tanulok.TanuloId AS TanuloId ,TanuloNeve.C_OKTATASIAZONOSITO AS TanuloOktAzon ,ErtekelesTable.ErtekeloId AS ErtekeloId ,ErtekeloNeve.C_OKTATASIAZONOSITO AS ErtekeloOktAzon ,@OsztalyId AS OsztalyId ,dbo.fnGetDokumentumDatumFormatum(ErtekelesTable.RogzitesDatum) AS RogzitesDatum ,0 AS RENDEZ0 ,1 AS RENDEZ1 ,'' AS RENDEZ2 ,0 AS RENDEZ3 ,0 AS RENDEZ4 ,'' AS RENDEZ5 FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'F') AS Tanulok LEFT JOIN fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID) ErtekelesTable ON ErtekelesTable.TanuloId = Tanulok.TanuloId AND ErtekelesTable.IsMagatartasSzorgalom = 'T' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesModjaDictionary.C_TANEVID = @TanevId LEFT JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = Tanulok.TanuloId WHERE SzorgalomOsztalyzatNev IS NOT NULL OR SzorgalomErtek IS NOT NULL OR SzorgalomSzoveg IS NOT NULL ORDER BY TanuloNeve.C_NYOMTATASINEV, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Datum /* Osztály adatok */ 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 OJCSJKeresztfeleves ,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu ,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly ,o.C_NEMZETISEGI OJNemzetisegi ,o.C_KETTANNYELVU OJKettannyelvu ,o.C_NYELVIELOKESZITO OJNyelviElokeszito ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai ,o.C_SPORT OJSportOsztaly ,o.C_AJPROGRAM 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 = @OsztalyId END GO