-- ============================================= -- Description: -- ============================================= SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP PROCEDURE IF EXISTS [dbo].[uspGetAllSchemaKikuldendoErtekeles] GO CREATE PROCEDURE [dbo].[uspGetAllSchemaKikuldendoErtekeles] @DATUM DATETIME ,@EVKOZIJEGY INT ,@FELEVIJEGY INT ,@EVVEGIJEGY INT ,@INEGYEDVESJEGY INT ,@IINEGYEDVESJEGY INT ,@IIINEGYEDVESJEGY INT ,@IVNEGYEDVESJEGY INT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements. SET NOCOUNT ON; SELECT TOP(5000) I.C_AZONOSITO ,I.ID INTEZMENYID ,T.ID TANEVID ,[dbo].[fnGetRendszerbeallitasSelectedValue](7380,I.ID,T.ID) Kesleltetes ,[dbo].[fnGetRendszerbeallitasDateValue](5438,I.ID,T.ID) Felevi_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](5439,I.ID,T.ID) Ev_vegi_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](5440,I.ID,T.ID) Ev_vegi_jegyek_megjelenesenek_datuma_vegzos ,[dbo].[fnGetRendszerbeallitasDateValue](7362,I.ID,T.ID) I_Negyedeves_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](7363,I.ID,T.ID) II_Negyedeves_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](7364,I.ID,T.ID) III_Negyedeves_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](7365,I.ID,T.ID) IV_Negyedeves_jegyek_megjelenesenek_datuma INTO #temp FROM T_TANEV T INNER JOIN T_INTEZMENY I ON I.TOROLT = 'F' AND T.C_INTEZMENYID = I.ID WHERE T.C_AKTIV = 'T' AND T.TOROLT = 'F' SELECT ID ,TanuloNev ,C_AZONOSITO IntezmenyAzonosito ,TanuloId ,TantargyNev ,C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId ,Osztalyzat ,C_ERTEKELESSZAZALEK ErtekelesSzazalek ,C_ERTEKELESSZOVEG ErtekelesSzoveg FROM (SELECT TE.[ID] ,T.C_AZONOSITO ,T.INTEZMENYID INTEZMENYID ,T.TANEVID TANEVID ,CASE WHEN T.Felevi_jegyek_megjelenesenek_datuma <= @DATUM THEN 1 ELSE 0 END FelEviJegyekMegjelenjenek --NOTE: Ha végzős, akkor a végzős évvégi jegy megjelenítés dátumát vesszük figyelembe, különben az évvégi jegy megjelenítés dátumát! ,CASE WHEN IIF(OCS.C_VEGZOSEVFOLYAM = 'T', T.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos, T.Ev_vegi_jegyek_megjelenesenek_datuma) <= @DATUM THEN 1 ELSE 0 END EvVegiJegyekMegjelenjenek ,CASE WHEN T.I_Negyedeves_jegyek_megjelenesenek_datuma <= @DATUM THEN 1 ELSE 0 END INegyedevesJegyekMegjelenjenek ,CASE WHEN T.II_Negyedeves_jegyek_megjelenesenek_datuma <= @DATUM THEN 1 ELSE 0 END IINegyedevesJegyekMegjelenjenek ,CASE WHEN T.III_Negyedeves_jegyek_megjelenesenek_datuma <= @DATUM THEN 1 ELSE 0 END IIINegyedevesJegyekMegjelenjenek ,CASE WHEN IIF(OCS.C_VEGZOSEVFOLYAM = 'T', --NOTE: Ha végzős, akkor a végzős évvégi jegy megjelenítés és a IV. negyedéves jegy megjelenítés dátum közül a korábbit vesszük figyelembe! CASE WHEN T.IV_Negyedeves_jegyek_megjelenesenek_datuma < T.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos THEN T.IV_Negyedeves_jegyek_megjelenesenek_datuma ELSE T.Ev_vegi_jegyek_megjelenesenek_datuma_vegzos END, --NOTE: Ha nem végzős, akkor a IV. negyedéves jegy megjelenítés dátumát vesszük figyelembe! T.IV_Negyedeves_jegyek_megjelenesenek_datuma ) <= @DATUM THEN 1 ELSE 0 END IVNegyedevesJegyekMegjelenjenek ,DATEADD(HOUR, T.Kesleltetes, TE.CREATED) KesleltetettDatum ,CASE WHEN TE.C_TIPUSID = @EVKOZIJEGY THEN 1 ELSE 0 END EvKoziJegy ,CASE WHEN TE.C_TIPUSID = @FELEVIJEGY THEN 1 ELSE 0 END FelEviJegy ,CASE WHEN TE.C_TIPUSID = @EVVEGIJEGY THEN 1 ELSE 0 END EvVegiJegy ,CASE WHEN TE.C_TIPUSID = @INEGYEDVESJEGY THEN 1 ELSE 0 END INegyedevesJegy ,CASE WHEN TE.C_TIPUSID = @IINEGYEDVESJEGY THEN 1 ELSE 0 END IINegyedevesJegy ,CASE WHEN TE.C_TIPUSID = @IIINEGYEDVESJEGY THEN 1 ELSE 0 END IIINegyedevesJegy ,CASE WHEN TE.C_TIPUSID = @IVNEGYEDVESJEGY THEN 1 ELSE 0 END IVNegyedevesJegy ,F.C_NYOMTATASINEV TanuloNev ,TANULO.ID TanuloId ,TARGY.C_NEV TantargyNev ,TE.C_ERTEKELESOSZTALYZATID ,TE.C_ERTEKELESSZAZALEK ,TE.C_ERTEKELESSZOVEG ,TE.C_ERTEKELESSZOVEGROVIDNEV ,DIB.C_NAME Osztalyzat FROM T_TANULOERTEKELES TE INNER JOIN #temp T ON TE.C_TANEVID = T.TANEVID INNER JOIN T_TANULO TANULO ON TANULO.TOROLT ='F' AND TANULO.ID = TE.C_TANULOID INNER JOIN T_FELHASZNALO F ON F.TOROLT = 'F' AND TANULO.ID = F.ID INNER JOIN T_TANULOCSOPORT TCS ON TCS.TOROLT = 'F' AND TANULO.ID = TCS.C_TANULOID AND TCS.C_BELEPESDATUM <= @DATUM AND (TCS.C_KILEPESDATUM IS NULL OR TCS.C_KILEPESDATUM >= @DATUM) INNER JOIN T_OSZTALY O ON O.TOROLT = 'F' AND TCS.C_OSZTALYCSOPORTID = O.ID INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.TOROLT = 'F' AND OCS.ID = O.ID LEFT JOIN T_TANTARGY TARGY ON TARGY.TOROLT = 'F' AND TARGY.ID = TE.C_TANTARGYID LEFT JOIN T_DICTIONARYITEMBASE DIB ON DIB.TOROLT = 'F' AND DIB.C_TANEVID = TE.C_TANEVID AND TE.C_ERTEKELESOSZTALYZATID = DIB.ID WHERE TE.TOROLT = 'F' AND TE.C_ISERTESITESELKULDVE = 'F' ) SB WHERE SB.KesleltetettDatum <= @DATUM AND ( (EvKoziJegy = 1) OR (FelEviJegy = 1 AND FelEviJegyekMegjelenjenek = 1) OR (EvVegiJegy = 1 AND EvVegiJegyekMegjelenjenek = 1) OR (INegyedevesJegy = 1 AND INegyedevesJegyekMegjelenjenek = 1) OR (IINegyedevesJegy = 1 AND IINegyedevesJegyekMegjelenjenek = 1) OR (IIINegyedevesJegy = 1 AND IIINegyedevesJegyekMegjelenjenek = 1) OR (IVNegyedevesJegy = 1 AND IVNegyedevesJegyekMegjelenjenek = 1)) END GO