-- ============================================= -- Description: -- ============================================= DROP PROCEDURE IF EXISTS [dbo].[uspGetAllSchemaKikuldendoErtekeles] GO CREATE PROCEDURE [dbo].[uspGetAllSchemaKikuldendoErtekeles] @DATUM DATETIME ,@FELEVIJEGY INT ,@EVVEGIJEGY INT ,@INEGYEDVESJEGY INT ,@IINEGYEDVESJEGY INT ,@IIINEGYEDVESJEGY INT ,@IVNEGYEDVESJEGY INT AS BEGIN DECLARE @top int SET NOCOUNT ON; SELECT I.C_AZONOSITO ,I.ID AS INTEZMENYID ,T.ID AS TANEVID ,[dbo].[fnGetRendszerbeallitasSelectedValue](7380,I.ID,T.ID) AS Kesleltetes ,[dbo].[fnGetRendszerbeallitasDateValue](5438,I.ID,T.ID) AS Felevi_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](5439,I.ID,T.ID) AS Ev_vegi_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](5440,I.ID,T.ID) AS Ev_vegi_jegyek_megjelenesenek_datuma_vegzos ,[dbo].[fnGetRendszerbeallitasDateValue](7362,I.ID,T.ID) AS I_Negyedeves_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](7363,I.ID,T.ID) AS II_Negyedeves_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](7364,I.ID,T.ID) AS III_Negyedeves_jegyek_megjelenesenek_datuma ,[dbo].[fnGetRendszerbeallitasDateValue](7365,I.ID,T.ID) AS 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' SET @top = IIF(dbo.fnGetEnvironmentName('Kornyezet') = 'KK', 500, 5000) SELECT TOP(@top) ID ,TanuloNev ,C_AZONOSITO IntezmenyAzonosito ,TanuloId ,IdpUniqueId ,TantargyNev ,CASE WHEN C_ISMAGATARTASSZORGALOM = 'T' THEN COALESCE(C_MAGATARTASOSZTALYZATID,C_MAGATARTASERTEKID,C_SZORGALOMOSZTALYZATID, C_SZORGALOMERTEKID) ELSE C_ERTEKELESOSZTALYZATID END ErtekelesOsztalyzatId ,CASE WHEN (Osztalyzat IS NOT NULL OR Osztalyzat2 IS NOT NULL) THEN CONCAT(Osztalyzat, CASE WHEN Osztalyzat IS NOT NULL AND Osztalyzat2 IS NOT NULL THEN '/' END, Osztalyzat2) END Osztalyzat ,C_ERTEKELESSZAZALEK ErtekelesSzazalek ,CASE WHEN C_ISMAGATARTASSZORGALOM = 'T' THEN CASE WHEN (C_MAGATARTASSZOVEG IS NOT NULL OR C_SZORGALOMSZOVEG IS NOT NULL) THEN CONCAT(C_MAGATARTASSZOVEG, CASE WHEN C_MAGATARTASSZOVEG IS NOT NULL AND C_SZORGALOMSZOVEG IS NOT NULL THEN '/' END, C_SZORGALOMSZOVEG) END ELSE C_ERTEKELESSZOVEG END ErtekelesSzoveg ,C_TIPUSID ErtekelesTipusId 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 = @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 ,F.C_IDPEGYEDIAZONOSITO IdpUniqueId ,ISNULL(TARGY.C_NEV, (CASE WHEN (TE.C_TANTARGYID IS NULL AND (TE.C_MAGATARTASERTEKID IS NOT NULL OR TE.C_MAGATARTASOSZTALYZATID IS NOT NULL OR TE.C_MAGATARTASSZOVEG IS NOT NULL OR TE.C_MAGATARTASSZOVEGFORMAZOTT IS NOT NULL) AND (TE.C_SZORGALOMERTEKID IS NOT NULL OR TE.C_SZORGALOMOSZTALYZATID IS NOT NULL OR TE.C_SZORGALOMSZOVEG IS NOT NULL OR TE.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL)) THEN 'Magatartás és szorgalom' WHEN (TE.C_TANTARGYID IS NULL AND (TE.C_MAGATARTASERTEKID IS NOT NULL OR TE.C_MAGATARTASOSZTALYZATID IS NOT NULL OR TE.C_MAGATARTASSZOVEG IS NOT NULL OR TE.C_MAGATARTASSZOVEGFORMAZOTT IS NOT NULL)) THEN 'Magatartás' WHEN (TE.C_TANTARGYID IS NULL AND (TE.C_SZORGALOMERTEKID IS NOT NULL OR TE.C_SZORGALOMOSZTALYZATID IS NOT NULL OR TE.C_SZORGALOMSZOVEG IS NOT NULL OR TE.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL)) THEN 'Szorgalom' END)) TantargyNev ,TE.C_ERTEKELESOSZTALYZATID ,TE.C_ERTEKELESSZAZALEK ,TE.C_ERTEKELESSZOVEG ,TE.C_ERTEKELESSZOVEGROVIDNEV ,TE.C_TIPUSID ,TE.C_MAGATARTASERTEKID ,TE.C_MAGATARTASOSZTALYZATID ,TE.C_MAGATARTASSZOVEG ,TE.C_SZORGALOMERTEKID ,TE.C_SZORGALOMOSZTALYZATID ,TE.C_SZORGALOMSZOVEG ,TE.C_ISMAGATARTASSZORGALOM ,DIB.C_NAME Osztalyzat ,DIB2.C_NAME Osztalyzat2 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 F.ID = TE.C_TANULOID INNER JOIN T_TANULOCSOPORT TCS ON TCS.TOROLT = 'F' AND TCS.C_TANULOID = TE.C_TANULOID AND TCS.C_BELEPESDATUM <= @DATUM AND (TCS.C_KILEPESDATUM IS NULL OR TCS.C_KILEPESDATUM >= @DATUM) AND TCS.C_OSZTALYCSOPORTID = TE.C_OSZTALYCSOPORTID INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.TOROLT = 'F' AND OCS.ID = TE.C_OSZTALYCSOPORTID 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 OR TE.C_MAGATARTASOSZTALYZATID = DIB.ID OR TE.C_MAGATARTASERTEKID = DIB.ID) LEFT JOIN T_DICTIONARYITEMBASE DIB2 ON DIB2.TOROLT = 'F' AND DIB2.C_TANEVID = TE.C_TANEVID AND (TE.C_SZORGALOMOSZTALYZATID = DIB2.ID OR TE.C_SZORGALOMERTEKID = DIB2.ID) WHERE TE.TOROLT = 'F' AND TE.C_ISERTESITESELKULDVE = 'F' ) SB WHERE SB.KesleltetettDatum <= @DATUM AND ( (FelEviJegy = 0 AND EvVegiJegy = 0 AND INegyedevesJegy = 0 AND IINegyedevesJegy = 0 AND IIINegyedevesJegy = 0 AND IVNegyedevesJegy = 0) 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