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 ID ,C_DATUM ,C_TIPUSID ,C_ERTEKELESOSZTALYZATID ,C_ERTEKELESSZOVEG ,C_ERTEKELESSZOVEGROVIDNEV ,C_ERTEKELESSZAZALEK ,C_ERTEKELESMODID ,C_ERTEKELESTEMA ,C_MAGATARTASOSZTALYZATID ,C_MAGATARTASSZOVEG ,C_MAGATARTASSZOVEGROVIDNEV ,C_MAGATARTASERTEKID ,C_SZORGALOMOSZTALYZATID ,C_SZORGALOMSZOVEG ,C_SZORGALOMSZOVEGROVIDNEV ,C_SZORGALOMERTEKID ,C_ISMAGATARTASSZORGALOM ,C_TANULOID ,C_ERTEKELOID ,C_TANORAID ,TOROLT ,CREATOR FROM T_TANULOERTEKELES_OSSZES WHERE ( (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTantargyId AND C_ISMAGATARTASSZORGALOM = 'F' AND C_TANTARGYID = @pTantargyId) OR (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId AND C_ISMAGATARTASSZORGALOM = 'T' AND C_TANTARGYID IS NULL) OR (@pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTanuloId AND (C_ISMAGATARTASSZORGALOM = 'F' AND @pTantargyId IS NOT NULL AND C_TANTARGYID = @pTantargyId) OR (C_ISMAGATARTASSZORGALOM = 'T' AND C_TANTARGYID IS NULL AND @pTantargyId IS NULL)) ) --Ha a @pShowToroltElemek változó True, akkor a törölt elemeket is visszaadjuk! AND TOROLT = IIF(@pShowToroltElemek = 1, TOROLT, 'F') AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId ) AS TanuloErtekeles ON TanuloCsoport.C_TANULOID = TanuloErtekeles.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