DROP PROCEDURE IF EXISTS dbo.uspGetUzenofuzetErtekelolap GO CREATE PROCEDURE [dbo].[uspGetUzenofuzetErtekelolap] @osztalyId int ,@tanevId int ,@intezmenyId int ,@osztalyzatTipusTypeID int = 44 ,@magatartasErtekelesTipusTypeID int = 50 ,@szorgalomErtekelesTipusTypeID int = 51 AS BEGIN SET NOCOUNT ON; CREATE TABLE #szovegesTemp ( TanuloId int ,TanuloCsoportId int ,Honap nvarchar(100) ,Tantargy nvarchar(510) ,Ertekeles nvarchar(MAX) ,Tipus nvarchar(500) ,RogzitesDatum datetime ,RendezHonap int ) --Intézmény, tanév SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve ,T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime ,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON ,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM ,T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod ,T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE Intezmenyvezeto ,(SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID = @osztalyId AND T_OSZTALY_OSSZES.C_ALTANEVID = @tanevId AND T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID ,T_TANEV_OSSZES.C_NEV TANEV ,@osztalyId AS OsztalyId FROM T_INTEZMENYADATOK_OSSZES 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 = @tanevId --Osztály, évfolyam SELECT ocs.C_NEV ,ocs.C_EVFOLYAMTIPUSA ,f.C_NYOMTATASINEV Osztalyfonok ,ocs.ID AS OsztalyId ,f.ID AS OsztalyfonokId ,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa ,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId ,o.C_TANTERVID TantervId ,ocs.C_KEPZESIFORMA KepzesiForma ,o.C_AGAZAT Agazat ,o.C_SZAKMACSOPORT SzakmaCsoport ,o.C_SZAKKEPESITES Szakkepesites ,o.C_RESZSZAKKEPESITES 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_OSZTALYCSOPORT_OSSZES AS ocs INNER JOIN T_OSZTALY_OSSZES AS o ON ocs.id = o.ID LEFT JOIN T_FELHASZNALO_OSSZES AS f ON f.id = o.c_osztalyfonokid WHERE ocs.TOROLT='F' AND ocs.ID = @osztalyId AND ocs.C_TANEVID = @tanevId --Tanuló adatai SELECT TanuloId Id ,TanuloCsoportId TanuloCsoportId ,OsztalyTanuloi.BelepesDatum BelepesDatum ,OsztalyTanuloi.KilepesDatum KilepesDatum INTO #studentsWithTanuloCsoport FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi SELECT T_FELHASZNALO_OSSZES.ID TanuloId ,TanuloCsoportId ,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV ,T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO ,@osztalyId AS OsztalyId FROM T_FELHASZNALO_OSSZES INNER JOIN #studentsWithTanuloCsoport Tanulok ON Tanulok.Id = T_FELHASZNALO_OSSZES.Id ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV SELECT Datum ,RogzitesDatum ,TipusId ,ErtekelesSzoveg ,ErtekelesSzovegFormazott ,ErtekelesSzovegRovidNev ,ErtekelesOsztalyzatId ,ErtekelesOsztalyzatValue ,ErtekelesOsztalyzatNev ,ErtekelesSzazalek ,MagatartasOsztalyzatId ,MagatartasOsztalyzatNev ,MagatartasSzoveg ,MagatartasSzovegRovidNev ,MagatartasErtekId ,MagatartasErtek ,SzorgalomOsztalyzatId ,SzorgalomOsztalyzatNev ,SzorgalomSzoveg ,SzorgalomSzovegRovidNev ,SzorgalomErtekId ,SzorgalomErtek ,TanuloId ,TanuloCsoportId ,OsztalyCsoportId ,TantargyId ,TantargyNevZarojellel ,TantargyNev ,TantargyNevNyomtatvanyban ,TargyKategoriaId ,FotargyE ,FotargyId ,Altantargy ,ErtekelesTema ,Jeloles ,JelolesAndErtekelesTema ,isMagatartasSzorgalom ,RENDEZ0 ,RENDEZ1 ,RENDEZ2 ,RENDEZ3 ,RENDEZ4 ,RENDEZ5 INTO #ErtekelesekTemp FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID) CREATE TABLE #Tantargyak( ID INT ,C_FOTARGYID INT ,C_NEV NVARCHAR(255) COLLATE DATABASE_DEFAULT ,C_NEVNYOMTATVANYBAN NVARCHAR(255) COLLATE DATABASE_DEFAULT ,C_TARGYKATEGORIA INT ,c_tanuloid int ,c_tanulocsoportid int ,RENDEZ0 int ,RENDEZ1 int ,RENDEZ2 nvarchar(255) COLLATE DATABASE_DEFAULT ,RENDEZ3 int ,RENDEZ4 int ,RENDEZ5 nvarchar(255) COLLATE DATABASE_DEFAULT ,C_INTEZMENYID INT ,C_TANEVID INT ); EXEC uspGetDokumentumErtekelesekIdoszakonkent @tanevId = @tanevId ,@osztalyCsoportId = @osztalyId ,@ertekelesTipusa = NULL ,@csakTanorai = 1 ,@csakKivalasztottOsztalyCsoport = 0 ,@atsoroltTanuloErtekelesek = 0 ,@fuggolegesTantargyak = 0 ,@isMegjegyzesMegjelenjen = 0 ,@intezmenyId = @intezmenyId ,@osztalyzatTipusTypeID = @osztalyzatTipusTypeID ,@magatartasErtekelesTipusTypeID = @magatartasErtekelesTipusTypeID ,@szorgalomErtekelesTipusTypeID = @szorgalomErtekelesTipusTypeID /*Szöveges minősítések*/ INSERT INTO #szovegesTemp SELECT a.tanuloId ,a.TanuloCsoportId ,a.Honap ,a.Tantargy ,a.Ertekeles ,a.Tipus ,a.RogzitesDatum ,a.RendezHonap FROM ( SELECT s.Id tanuloId ,s.TanuloCsoportId ,szoveges.Honap ,szoveges.Tantargy ,szoveges.Ertekeles ,szoveges.Tipus ,szoveges.RendezHonap ,szoveges.RogzitesDatum FROM #studentsWithTanuloCsoport s INNER JOIN ( SELECT TanuloId tanuloId ,TanuloCsoportId ,'[' + CONVERT(nvarchar (max), DATEPART(MONTH, Datum)) + '. hónap]' AS Honap ,IIF(TantargyNev <> TantargyNevNyomtatvanyban AND TantargyNevNyomtatvanyban IS NOT NULL, TantargyNevNyomtatvanyban + ' (' + TantargyNev + ')', TantargyNev) AS Tantargy ,IIF(Jeloles IS NOT NULL AND TipusId = 1518, LOWER(ISNULL(ErtekelesSzovegRovidNev, 'sz')) + Jeloles + ' ', '') + ErtekelesSzovegFormazott + ISNULL(' *' + ErtekelesTema, '') Ertekeles ,ErtekelesTipusDictionary.C_NAME AS Tipus ,CASE WHEN DATEPART(MONTH, Datum) = 1 THEN 5 WHEN DATEPART(MONTH, Datum) = 2 THEN 6 WHEN DATEPART(MONTH, Datum) = 3 THEN 7 WHEN DATEPART(MONTH, Datum) = 4 THEN 8 WHEN DATEPART(MONTH, Datum) = 5 THEN 9 WHEN DATEPART(MONTH, Datum) = 6 THEN 10 WHEN DATEPART(MONTH, Datum) = 7 THEN 11 WHEN DATEPART(MONTH, Datum) = 8 THEN 12 WHEN DATEPART(MONTH, Datum) = 9 THEN 1 WHEN DATEPART(MONTH, Datum) = 10 THEN 2 WHEN DATEPART(MONTH, Datum) = 11 THEN 3 WHEN DATEPART(MONTH, Datum) = 12 THEN 4 END AS RendezHonap ,RogzitesDatum FROM #ErtekelesekTemp ErtekelesTemp INNER JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTemp.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @tanevId WHERE ErtekelesSzoveg IS NOT NULL ) szoveges ON szoveges.TANULOID = s.Id AND s.TanuloCsoportId = szoveges.TanuloCsoportId ) a SELECT DISTINCT kulso.TanuloId ,kulso.TanuloCsoportId ,kulso.Honap ,kulso.Tantargy ,STUFF((( SELECT '
|' + belso.Ertekeles FROM #szovegesTemp belso WHERE kulso.TanuloId = belso.TanuloId AND kulso.TanuloCsoportId = belso.TanuloCsoportId AND kulso.Honap = belso.Honap AND kulso.Tantargy = belso.Tantargy AND kulso.Tipus = belso.Tipus ORDER BY belso.RendezHonap ASC ,belso.Tantargy ASC ,belso.RogzitesDatum ASC FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)')) ,1 ,5 ,'') AS Ertekeles ,kulso.Tipus FROM #szovegesTemp kulso DROP TABLE #studentsWithTanuloCsoport DROP TABLE #Tantargyak END GO