91 lines
4.2 KiB
Transact-SQL
91 lines
4.2 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS dbo.uspOsztondijTanuloAdatok
|
|
GO
|
|
|
|
CREATE PROCEDURE dbo.uspOsztondijTanuloAdatok(
|
|
@IntezmenyGUID uniqueidentifier,
|
|
@TanevSorszam int,
|
|
@TanuloIDP uniqueidentifier = NULL,
|
|
@VizsgaltHonap int = NULL,
|
|
@JuttatasTipus int = 7888
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
DECLARE @IntezmenyId int,
|
|
@TanevId int,
|
|
@TanuloId int,
|
|
@ZaroDatum datetime;
|
|
|
|
SELECT @IntezmenyId = ID
|
|
FROM T_INTEZMENY
|
|
WHERE C_GUID = @IntezmenyGUID;
|
|
|
|
SELECT @TanevId = ID
|
|
FROM T_TANEV
|
|
WHERE C_INTEZMENYID = @IntezmenyId
|
|
AND C_SORSZAM = @TanevSorszam;
|
|
|
|
SELECT @TanuloId = f.ID
|
|
FROM T_FELHASZNALO f
|
|
INNER JOIN T_TANULO t on t.ID = f.ID
|
|
WHERE f.TOROLT = 'F'
|
|
AND t.TOROLT = 'F'
|
|
AND f.C_INTEZMENYID = @IntezmenyId
|
|
AND f.C_TANEVID = @TanevId
|
|
AND f.C_IDPEGYEDIAZONOSITO = @TanuloIDP;
|
|
|
|
IF @IntezmenyId IS NULL
|
|
THROW 60000, N'Intézmény nem található', 1;
|
|
|
|
IF @TanevId IS NULL
|
|
THROW 60000, N'Tanév nem található', 1;
|
|
|
|
IF @TanuloId IS NULL AND @TanuloIDP IS NOT NULL
|
|
THROW 60000, N'Tanuló nem található', 1;
|
|
|
|
SELECT
|
|
j.C_TANULOID AS TanuloId,
|
|
f.C_IDPEGYEDIAZONOSITO AS TanuloIDP,
|
|
f.C_NYOMTATASINEV AS TanuloNeve,
|
|
f.C_OKTATASIAZONOSITO AS OktatasiAzonosito,
|
|
f.C_SZULETESIDATUM AS SzuletesiIdo,
|
|
ocs.C_NEV AS Osztaly,
|
|
d.C_NAME AS [Evfolyam],
|
|
CASE WHEN j.C_ISJOGOSULT = 'T' THEN 'Igen' ELSE 'Nem' END AS [Jogosultsag],
|
|
j.C_ELUTASITASOKA AS [ElutasitasOkok],
|
|
STUFF(
|
|
CASE WHEN j.C_ELUTASITASOKA & 1 = 1 THEN N'|Nem tanulói jogviszonnyal rendelkezik' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 2 = 2 THEN N'|A vizsgált hónapban nem volt tanulói jogviszonya' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 4 = 4 THEN N'|' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 8 = 8 THEN N'|Második vagy többes szakmát szerző ' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 16 = 16 THEN N'|Évismétlő' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 32 = 32 THEN N'|Igazolatlan mulasztások száma meghaladja a megengedett maximálist' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 64 = 64 THEN N'|Duális képzésben vesz részt' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 128 = 128 THEN N'|Átlag minimum alatt' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 256 = 256 THEN N'|Technikai osztály tagja' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 512 = 512 THEN N'|Vendégtanuló' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 1024 = 1024 THEN N'|Jogviszony szünetelése' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 2048 = 2048 THEN N'|Keresztféléves osztály tagja' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 4096 = 4096 THEN N'|Ösztöndíjból kizárva' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 8192 = 8192 THEN N'|Véglegesen kizárt, mert elérte a maximális igazolatlan hiányzások számát' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 16384 = 16384 THEN N'|Nem Szakmajegyzék szerinti képzés van megadva' ELSE '' END +
|
|
CASE WHEN j.C_ELUTASITASOKA & 32768 = 32768 THEN N'|Nem állam által ingyenesen biztosított képzésben résztvevő' ELSE '' END
|
|
, 1, 1, '') AS [NemJogosultagOka],
|
|
j.C_OSSZEG AS [JuttatasOsszege],
|
|
j.C_GENERALTHONAP AS [VizsgaltHonap]
|
|
FROM T_JUTTATAS_OSSZES j
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = j.C_TANULOID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = j.C_TANULOID AND tcs.C_TANEVID = j.C_TANEVID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = tcs.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = ocs.C_EVFOLYAMTIPUSA AND d.C_TANEVID = ocs.C_TANEVID AND d.TOROLT = 'F' AND d.C_TYPE = 'EvfolyamTipus'
|
|
WHERE j.C_INTEZMENYID = @IntezmenyId
|
|
AND j.C_TANEVID = @TanevId
|
|
AND j.C_TANULOID = CASE WHEN @TanuloId > 0 THEN @TanuloId ELSE j.C_TANULOID END
|
|
AND j.C_GENERALTHONAP = CASE WHEN @VizsgaltHonap > 0 THEN @VizsgaltHonap ELSE j.C_GENERALTHONAP END
|
|
AND j.TOROLT = 'F'
|
|
AND j.C_JUTTATASTIPUSID = CASE WHEN @JuttatasTipus > 0 THEN @JuttatasTipus ELSE j.C_JUTTATASTIPUSID END
|
|
--AND j.C_ISAKTIV = 'T' -- ??? így nincs eredmény
|
|
--AND j.C_ELUTASITASOKA > 0 -- ??? csak azok kellenek, ahol van elutasítás?
|
|
ORDER BY j.C_GENERALTHONAP
|
|
GO
|
|
|