GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('sp_GetDokumentumErtekelesek') IS NOT NULL BEGIN DROP PROCEDURE [sp_GetDokumentumErtekelesek] END GO CREATE PROCEDURE sp_GetDokumentumErtekelesek @osztalyId int, @tanevId int, @ertekelesTipus int, @isBizonyitvany int = 0 AS BEGIN SET NOCOUNT ON; --Osztályhoz tartozó tanulók DECLARE @Tanulok TABLE (TanuloId INT PRIMARY KEY) INSERT INTO @Tanulok SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') --Tanulóhoz kapcsolódó óraszámok DECLARE @Oraszamok TABLE (TanuloId int, Tantargy INT, Oraszam INT) INSERT INTO @Oraszamok SELECT * FROM fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@tanevId, @osztalyId) --Értékelések SELECT ERTEKELES.C_TANULOID TANULOID , 'MAGATARTAS' TARGY , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) Ertekeles , NULL Jegyzet , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) ErtekelesJegyzettel , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) SzovegesErtekeles , NULL Oraszam , 1 RENDEZ FROM T_TANULOERTEKELES_OSSZES ERTEKELES INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_MAGATARTAS AND ERT.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON JEGY.ID=ERTEKELES.C_OSZTALYZAT AND JEGY.C_TANEVID = @tanevId WHERE ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus AND ERTEKELES.C_TANEVID = @tanevId AND ERTEKELES.TOROLT='F' AND OSZTALYZAT.TOROLT = 'F' UNION SELECT ERTEKELES.C_TANULOID TANULOID , 'SZORGALOM' TARGY , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) Ertekeles , NULL Jegyzet , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) ErtekelesJegyzettel , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) SzovegesErtekeles , NULL Oraszam , 2 RENDEZ FROM T_TANULOERTEKELES_OSSZES ERTEKELES INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_SZORGALOM AND ERT.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON JEGY.ID=ERTEKELES.C_OSZTALYZAT AND JEGY.C_TANEVID = @tanevId WHERE ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' AND OSZTALYZAT.TOROLT = 'F' UNION SELECT ERTEKELES.C_TANULOID TANULOID , ISNULL(TARGY.C_NEVNYOMTATVANYBAN, TARGY.TARGYNEV) TARGY , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % ')) Ertekeles , ertekelesMegjegyzes.C_TEMA Jegyzet , ISNULL(ERT.C_NAME, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % ')) + IIF(ertekelesMegjegyzes.C_TEMA IS NULL, '', +' * '+ertekelesMegjegyzes.C_TEMA) ErtekelesJegyzettel , ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, ERT.C_NAME) SzovegesErtekeles , Oraszam Oraszam , TARGY.KAT RENDEZ FROM T_TANULOERTEKELES_OSSZES ERTEKELES INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID INNER JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT, C_ALTANTARGYKENTNYOMTATVANYBAN, C_FOTARGYE, C_NEVNYOMTATVANYBAN FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY ON TARGY.ID = ERTEKELES.C_TANTARGYID LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT AND ERT.C_TANEVID = @tanevId LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id LEFT JOIN @Oraszamok oraszam ON oraszam.Tantargy = ERTEKELES.C_TANTARGYID AND oraszam.TanuloId = ERTEKELES.C_TANULOID WHERE ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus AND ERTEKELES.C_TANEVID = @tanevId AND ERTEKELES.TOROLT='F' AND (TARGY.C_FOTARGYE = 'T' OR TARGY.C_ALTANTARGYKENTNYOMTATVANYBAN='T') ORDER BY TANULOID, RENDEZ END GO