149 lines
No EOL
8.7 KiB
Transact-SQL
149 lines
No EOL
8.7 KiB
Transact-SQL
-- =============================================
|
|
-- Description: <Minden intézmény aktív tanévéből visszaadja a még kinem küldött értékeléseket figyelembe véve a késleltetéseket is>
|
|
-- =============================================
|
|
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 |