102 lines
No EOL
4.1 KiB
Transact-SQL
102 lines
No EOL
4.1 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetErettsegiEredmenyekKeresesData
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspGetErettsegiEredmenyekKeresesData]
|
|
@pTanevId int
|
|
,@pFeladatKategoriaId int = NULL
|
|
,@pFeladatEllatasiHelyId int = NULL
|
|
,@pErettsegiEredmenyId int = NULL
|
|
,@pErdemjegy int = NULL
|
|
,@pSzazalek int = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @sql nvarchar(max)
|
|
DECLARE @szazalekSzamitas nvarchar(250) = N'IIF((ee.C_ERETTSEGITANTARGY = 6589 AND ee.C_SZOBELIPONTSZAM IS NOT NULL ), FLOOR(ee.C_OSSZPONTSZAM*100.0/150), FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM))'
|
|
DECLARE @erdemjegySzamitas nvarchar(1000) = N'--közép
|
|
IIF(ee.C_ERETTSEGISZINT = 6579,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) <= 24, 1,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) BETWEEN 25 AND 39, 2,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) BETWEEN 40 AND 59, 3,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) BETWEEN 60 AND 79, 4,
|
|
IIF(ee.C_OSSZPONTSZAM IS NOT NULL, 5, NULL)
|
|
)
|
|
)
|
|
)
|
|
),
|
|
--emelt
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) <= 24, 1,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) BETWEEN 25 AND 32, 2,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) BETWEEN 33 AND 46, 3,
|
|
IIF(FLOOR(ee.C_OSSZPONTSZAM*100.0/eta.C_OSSZMAXPONTSZAM) BETWEEN 47 AND 59, 4,
|
|
IIF(ee.C_OSSZPONTSZAM IS NOT NULL, 5, NULL)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)'
|
|
|
|
SET @sql = N'
|
|
SELECT DISTINCT
|
|
ee.ID
|
|
,f.C_NYOMTATASINEV AS TanuloNev
|
|
,f.C_ANYJANEVE AS AnyjaNeve
|
|
,osztaly.C_NEV AS OsztalyNev
|
|
,osztaly.ID AS OsztalyId
|
|
,f.C_OKTATASIAZONOSITO AS OktatasiAzonosito
|
|
,ISNULL(CONVERT(nvarchar(25), f.C_SZULETESIDATUM, 102),'''') as SzuletesiDatum
|
|
,ee.C_ERETTSEGITANTARGY AS Tantargy
|
|
,ee.C_ERETTSEGISZINT AS Szint
|
|
,ee.C_ERETTSEGITIPUS AS Tipus
|
|
,ee.C_IRASBELIPONTSZAM AS IrasbeliPontszam
|
|
,ee.C_SZOBELIPONTSZAM AS SzobeliPontszam
|
|
,ee.C_GYAKORLATPONTSZAM AS GyakorlatiPontszam
|
|
,ee.C_MEGJEGYZES AS Megjegyzes
|
|
,ee.C_OSSZPONTSZAM AS OsszPontszam
|
|
,'
|
|
SET @sql += @szazalekSzamitas
|
|
SET @sql += N' AS Szazalek
|
|
,'
|
|
SET @sql += @erdemjegySzamitas
|
|
SET @sql += N' AS Erdemjegy
|
|
FROM T_ERETTSEGIEREDMENY_OSSZES ee
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = ee.C_ERETTSEGITANTARGY AND d.TOROLT = ''F''
|
|
LEFT JOIN T_ERETTSEGITANTARGYADATOK_OSSZES eta ON eta.C_ERETTSEGITANTARGY = ee.C_ERETTSEGITANTARGY AND eta.TOROLT = ''F'' AND eta.C_ERETTSEGISZINT = ee.C_ERETTSEGISZINT
|
|
LEFT JOIN T_TANULO_OSSZES t ON t.ID = ee.C_TANULOID AND t.TOROLT = ''F''
|
|
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID AND t.TOROLT = ''F''
|
|
LEFT JOIN (
|
|
SELECT tcs.C_TANULOID, ocs.C_NEV, ocs.ID
|
|
FROM T_TANULOCSOPORT_OSSZES tcs
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.TOROLT = ''F''
|
|
AND (@pFeladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId)
|
|
AND (@pFeladatEllatasiHelyId IS NULL OR ocs.C_FELADATELLATASIHELYID = @pFeladatEllatasiHelyId)
|
|
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = ''F''
|
|
WHERE tcs.TOROLT = ''F''
|
|
) osztaly ON t.ID = osztaly.C_TANULOID
|
|
WHERE ee.TOROLT = ''F''
|
|
AND ee.C_TANEVID = @pTanevId'
|
|
|
|
SET @sql += IIF(@pErettsegiEredmenyId IS NOT NULL, N'
|
|
AND ee.ID = @pErettsegiEredmenyId', '')
|
|
SET @sql += IIF(@pErdemjegy IS NOT NULL, N'
|
|
AND ' + @erdemjegySzamitas + ' = @pErdemjegy', '')
|
|
SET @sql += IIF(@pSzazalek IS NOT NULL, N'
|
|
AND ' + @szazalekSzamitas + ' = @pSzazalek', '')
|
|
|
|
EXEC sp_executesql @sql
|
|
,N'
|
|
@pTanevId int
|
|
,@pFeladatKategoriaId int
|
|
,@pFeladatEllatasiHelyId int
|
|
,@pErdemjegy int
|
|
,@pSzazalek int
|
|
,@pErettsegiEredmenyId int
|
|
'
|
|
,@pTanevId = @pTanevId
|
|
,@pFeladatKategoriaId = @pFeladatKategoriaId
|
|
,@pFeladatEllatasiHelyId = @pFeladatEllatasiHelyId
|
|
,@pErdemjegy = @pErdemjegy
|
|
,@pSzazalek = @pSzazalek
|
|
,@pErettsegiEredmenyId = @pErettsegiEredmenyId
|
|
END |