This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,120 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS uspGetAtlag
GO
CREATE PROCEDURE uspGetAtlag
@pOsztalyCsoportId INT
,@pTantargyId INT
,@pAtlagMegjelenitesTipus INT
,@pAtlagbaBeleszamitoOsztalyTipus INT
,@pErtekelesTipusa INT
AS
BEGIN
SET NOCOUNT ON
IF (@pAtlagbaBeleszamitoOsztalyTipus = 1)
BEGIN
IF (@pAtlagMegjelenitesTipus = 1)
BEGIN
/* <20>sszes jegy <20>tlaga minden tanul<75> */
SELECT
te.C_TANTARGYID
,te.C_OSZTALYCSOPORTID
,ROUND(SUM(CAST(d.C_VALUE AS FLOAT) * CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100)
/ SUM(CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100), 2) AS Atlag
FROM T_TANULOERTEKELES te
INNER JOIN T_OSZTALYZATTIPUS ot ON te.C_ERTEKELESOSZTALYZATID = ot.ID
INNER JOIN T_DICTIONARYITEMBASE d ON ot.ID = d.ID
LEFT JOIN T_TANARIATLAGSULY ta ON te.C_ERTEKELESMODID = ta.C_ERTEKELESMODID
WHERE te.C_TANTARGYID = @pTantargyId AND te.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND te.C_TIPUSID = @pErtekelesTipusa
GROUP BY te.C_TANTARGYID, te.C_OSZTALYCSOPORTID
END
IF (@pAtlagMegjelenitesTipus = 2)
BEGIN
/* <20>tlagok <20>tlaga minden tanul<75> */
SELECT
ertekeles.C_TANTARGYID
,ertekeles.C_OSZTALYCSOPORTID
,ROUND(AVG(ertekeles.Atlag), 2) AS Atlag
FROM (
SELECT
te.C_TANTARGYID
,te.C_OSZTALYCSOPORTID
,te.C_TANULOID
,ROUND(SUM(CAST(d.C_VALUE AS FLOAT) * CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100)
/ SUM(CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100), 2) AS Atlag
FROM T_TANULOERTEKELES te
INNER JOIN T_OSZTALYZATTIPUS ot ON te.C_ERTEKELESOSZTALYZATID = ot.ID
INNER JOIN T_DICTIONARYITEMBASE d ON ot.ID = d.ID
LEFT JOIN T_TANARIATLAGSULY ta ON te.C_ERTEKELESMODID = ta.C_ERTEKELESMODID
WHERE te.C_TANTARGYID = @pTantargyId AND te.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND te.C_TIPUSID = @pErtekelesTipusa
GROUP BY te.C_TANTARGYID, te.C_OSZTALYCSOPORTID,te.C_TANULOID) ertekeles
GROUP BY ertekeles.C_TANTARGYID, ertekeles.C_OSZTALYCSOPORTID
END
END
IF (@pAtlagbaBeleszamitoOsztalyTipus = 2)
BEGIN
DECLARE @CurrentDate DATETIME = GETDATE()
IF (@pAtlagMegjelenitesTipus = 1)
BEGIN
/* <20>sszes jegy <20>tlaga minden tanul<75>ra, aki az oszt<7A>lyban jelenleg van */
SELECT
te.C_TANTARGYID
,te.C_OSZTALYCSOPORTID
,ROUND(SUM(CAST(d.C_VALUE AS FLOAT) * CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100)
/ SUM(CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100), 2) AS Atlag
FROM T_TANULOERTEKELES te
INNER JOIN T_OSZTALYZATTIPUS ot ON te.C_ERTEKELESOSZTALYZATID = ot.ID
INNER JOIN T_DICTIONARYITEMBASE d ON ot.ID = d.ID
LEFT JOIN T_TANARIATLAGSULY ta ON te.C_ERTEKELESMODID = ta.C_ERTEKELESMODID
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID AND tcs.C_TANULOID = te.C_TANULOID
AND tcs.C_BELEPESDATUM <= @CurrentDate AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @CurrentDate)
WHERE te.C_TANTARGYID = @pTantargyId AND te.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND te.C_TIPUSID = @pErtekelesTipusa
GROUP BY te.C_TANTARGYID, te.C_OSZTALYCSOPORTID
END
IF (@pAtlagMegjelenitesTipus = 2)
BEGIN
/* <20>tlagok <20>tlaga minden tanul<75>ra, aki az oszt<7A>lyban jelenleg van */
SELECT
ertekeles.C_TANTARGYID
,ertekeles.C_OSZTALYCSOPORTID
,ROUND(AVG(ertekeles.Atlag), 2) AS Atlag
FROM (
SELECT
te.C_TANTARGYID
,te.C_OSZTALYCSOPORTID
,te.C_TANULOID
,ROUND(SUM(CAST(d.C_VALUE AS FLOAT) * CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100)
/ SUM(CAST(ISNULL(ta.C_SULY, 100) AS FLOAT) / 100), 2) AS Atlag
FROM T_TANULOERTEKELES te
INNER JOIN T_OSZTALYZATTIPUS ot ON te.C_ERTEKELESOSZTALYZATID = ot.ID
INNER JOIN T_DICTIONARYITEMBASE d ON ot.ID = d.ID
LEFT JOIN T_TANARIATLAGSULY ta ON te.C_ERTEKELESMODID = ta.C_ERTEKELESMODID
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID AND tcs.C_TANULOID = te.C_TANULOID
AND tcs.C_BELEPESDATUM <= @CurrentDate AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @CurrentDate)
WHERE te.C_TANTARGYID = @pTantargyId AND te.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND te.C_TIPUSID = @pErtekelesTipusa
GROUP BY te.C_TANTARGYID, te.C_OSZTALYCSOPORTID,te.C_TANULOID) ertekeles
GROUP BY ertekeles.C_TANTARGYID, ertekeles.C_OSZTALYCSOPORTID
END
END
END
GO