SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_GetTanuloErtekelesDetailDataSet]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_GetTanuloErtekelesDetailDataSet] END GO -- ============================================= -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_GetTanuloErtekelesDetailDataSet] @pIntezmenyId INT ,@pTanevId INT ,@pTanuloId INT ,@pTantargyId INT = NULL ,@pShowToroltElemek BIT ,@pIsFotargyAltargyLekerdezes BIT ,@pTanarId INT ,@pErtekelesMegjelenesFajtaEnumTantargyId INT ,@pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId INT ,@pErtekelesMegjelenesFajtaEnumTanuloId INT ,@pErtekelesMegjelenesFajtaId INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements. SET NOCOUNT ON; SELECT TanuloErtekeles.ID ID ,TanuloErtekeles.C_DATUM Datum ,TanuloErtekeles.C_TIPUSID TipusId ,TanuloErtekeles.C_TANORAID TanoraId ,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId ,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg ,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev ,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek ,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId ,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema ,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId ,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg ,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev ,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId ,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId ,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg ,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev ,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId ,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom ,TanuloErtekeles.TOROLT Torolt ,TanuloCsoport.C_TANULOID TanuloId ,TanariAtlagSuly.C_SULY Suly ,Felhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev ,CASE WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId THEN 'T' ELSE 'F' END Modosithato FROM ( SELECT DISTINCT C_TANULOID FROM T_TANULOCSOPORT WHERE TOROLT = 'F' AND C_TANULOID = @pTanuloId AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId ) AS TanuloCsoport INNER JOIN ( SELECT TanuloErtekeles.ID ,TanuloErtekeles.C_DATUM ,TanuloErtekeles.C_TIPUSID ,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ,TanuloErtekeles.C_ERTEKELESSZOVEG ,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ,TanuloErtekeles.C_ERTEKELESSZAZALEK ,TanuloErtekeles.C_ERTEKELESMODID ,TanuloErtekeles.C_ERTEKELESTEMA ,TanuloErtekeles.C_MAGATARTASOSZTALYZATID ,TanuloErtekeles.C_MAGATARTASSZOVEG ,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV ,TanuloErtekeles.C_MAGATARTASERTEKID ,TanuloErtekeles.C_SZORGALOMOSZTALYZATID ,TanuloErtekeles.C_SZORGALOMSZOVEG ,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV ,TanuloErtekeles.C_SZORGALOMERTEKID ,TanuloErtekeles.C_ISMAGATARTASSZORGALOM ,TanuloErtekeles.C_OSZTALYCSOPORTID ,TanuloErtekeles.C_TANULOID ,TanuloErtekeles.C_ERTEKELOID ,TanuloErtekeles.C_TANORAID ,TanuloErtekeles.TOROLT ,TanuloErtekeles.CREATOR FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles INNER JOIN T_OSZTALYCSOPORT Osztaly ON Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID AND Osztaly.TOROLT = 'F' AND Osztaly.C_EVFOLYAMTIPUSA = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(TanuloErtekeles.C_TANULOID, DEFAULT)) WHERE ( (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTantargyId AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F' AND TanuloErtekeles.C_TANTARGYID = @pTantargyId) OR (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T' AND TanuloErtekeles.C_TANTARGYID IS NULL) OR (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTanuloId AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F' AND @pTantargyId IS NOT NULL AND TanuloErtekeles.C_TANTARGYID = @pTantargyId) OR (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T' AND TanuloErtekeles.C_TANTARGYID IS NULL AND @pTantargyId IS NULL)) ) --Ha a @pShowToroltElemek változó True, akkor a törölt elemeket is visszaadjuk! AND TanuloErtekeles.TOROLT = IIF(@pShowToroltElemek = 1, TanuloErtekeles.TOROLT, 'F') AND TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId AND TanuloErtekeles.C_TANEVID = @pTanevId ) AS TanuloErtekeles ON TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID INNER JOIN ( SELECT ID ,C_NYOMTATASINEV FROM T_FELHASZNALO WHERE TOROLT = 'F' AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId ) AS Felhasznalo ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID LEFT JOIN ( SELECT C_SULY ,C_ERTEKELESMODID FROM T_TANARIATLAGSULY_OSSZES WHERE TOROLT = 'F' AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId ) AS TanariAtlagSuly ON TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F' AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID END GO