190 lines
No EOL
8.1 KiB
Transact-SQL
190 lines
No EOL
8.1 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dev].[uspGenerateEpjUtalasiAllomany]
|
||
GO
|
||
|
||
CREATE PROCEDURE [dev].[uspGenerateEpjUtalasiAllomany]
|
||
@pKifizetesDatuma datetime = NULL
|
||
AS
|
||
BEGIN
|
||
|
||
DECLARE @tanevId nvarchar(100)
|
||
|
||
IF @pKifizetesDatuma IS NOT NULL BEGIN
|
||
DECLARE cur CURSOR LOCAL FOR
|
||
SELECT ia.C_TANEVID
|
||
FROM T_INTEZMENY i
|
||
INNER JOIN T_INTEZMENYADATOK ia ON i.ID = ia.C_INTEZMENYID
|
||
INNER JOIN T_TANEV tv ON tv.ID = ia.C_TANEVID AND tv.C_AKTIV = 'T' AND tv.TOROLT = 'F'
|
||
WHERE i.TOROLT = 'F'
|
||
AND ia.C_ISSZAKKEPZOJUTTATAS = 'T'
|
||
AND i.C_ISARCHIV = 'F'
|
||
|
||
OPEN cur
|
||
FETCH NEXT FROM cur INTO @tanevId
|
||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||
EXEC uspUpdateTanuloEpJuttatas
|
||
@pTanevId = @tanevId
|
||
,@pMinErdemjegy = 2.0
|
||
,@pJuttatasAlap = 100000
|
||
,@pTanuloId = NULL
|
||
,@pFelhasznaloId = 0
|
||
,@pKifizetesDatuma = @pKifizetesDatuma
|
||
|
||
FETCH NEXT FROM cur INTO @tanevId
|
||
END
|
||
CLOSE cur
|
||
DEALLOCATE cur
|
||
END
|
||
|
||
SELECT
|
||
i.C_AZONOSITO as 'KRÉTA Azonosító'
|
||
,ia.C_NEV as 'Intézmény neve'
|
||
,ia.C_OMKOD as 'OM kód'
|
||
,fn.C_AZONOSITO as 'Fenntartó'
|
||
,ISNULL(fn.C_NEV, 'Ismeretlen fenntartó') AS 'Fenntartónév'
|
||
,ISNULL(lmszf.C_NEV, 'Ismeretlen legmagasabb szintű fenntartó') AS 'Legmagasabb szintű fenntartó'
|
||
,f.C_OKTATASIAZONOSITO as 'Oktatási azonosító'
|
||
,f.C_NYOMTATASINEV as 'Diák neve'
|
||
,f.C_SZULETESIDATUM as 'Születési dátum'
|
||
,f.C_SZULETESIHELY as 'Születési hely'
|
||
,f.C_ANYJANEVE as 'Anyja neve'
|
||
,tel.C_TELEFONSZAM as 'Telefonszám'
|
||
,em.C_EMAILCIM as 'E-mail cím'
|
||
,x.C_NEV as 'Gondviselő neve'
|
||
,x.C_TELEFONSZAM as 'Telefonszám'
|
||
,x.C_EMAILCIM as 'E-mail cím'
|
||
,x2.C_NEV as 'Gondviselő neve 2'
|
||
,x2.C_TELEFONSZAM as 'Telefonszám 2'
|
||
,x2.C_EMAILCIM as 'E-mail cím 2'
|
||
,cim.C_CIM AS 'Cím'
|
||
,dib.c_name as 'Évfolyam'
|
||
,epj.C_ERDEMJEGY as 'Érdemjegy'
|
||
,epj.C_BIZONYITVANYSZAMA as 'Bizonyítvány száma'
|
||
,epj.C_VIZSGADATUM as 'Vizsga dátuma'
|
||
,j.C_OSSZEG as 'Ösztöndíj összege'
|
||
,'''' + tt.C_BANKSZAMLASZAM as 'Számlaszáma'
|
||
,tt.C_BANKSZAMLATULAJNEVE as 'Számla tulajdonosának neve'
|
||
,dib2.c_name as 'Számla típusa'
|
||
FROM t_intezmeny i
|
||
INNER JOIN T_TANEV t on t.C_INTEZMENYID = i.id and t.C_AKTIV = 'T' and t.C_NEV = '2021/2022' and t.TOROLT = 'F'
|
||
INNER JOIN T_INTEZMENYADATOK ia on ia.C_TANEVID = t.ID and ia.TOROLT = 'F'
|
||
INNER JOIN T_JUTTATAS j on j.C_TANEVId = t.id and j.C_ISAKTIV = 'T' and j.TOROLT = 'F' and j.C_JUTTATASTIPUSID = 8617
|
||
INNER JOIN T_FELHASZNALO f on f.id = j.C_TANULOID and f.torolt ='F'
|
||
INNER JOIN T_TANULOCSOPORT tcs on tcs.C_TANULOID = f.id and tcs.torolt ='F' and tcs.C_TANEVID = t.ID
|
||
LEFT JOIN T_FENNTARTO fn ON fn.TOROLT = 'F' AND fn.ID = i.C_FENNTARTOID
|
||
LEFT JOIN T_LEGMAGASABBSZINTUFENNTARTO lmszf ON lmszf.TOROLT = 'F' AND fn.C_LEGMAGASABBSZINTUFENNTARTOID = lmszf.Id
|
||
LEFT JOIN (T_TANULOCSOPORT tcs2
|
||
INNER JOIN T_OSZTALYCSOPORT ocs2 on ocs2.id = tcs2.C_OSZTALYCSOPORTID and ocs2.torolt = 'F' and ocs2.C_FELADATKATEGORIAID = 7553
|
||
INNER JOIN T_OSZTALY o2 ON o2.id = ocs2.ID AND o2.TOROLT = 'F' AND o2.C_ALTANEVID = ocs2.C_TANEVID
|
||
) on tcs2.C_TANULOID = f.ID
|
||
AND (tcs.C_KILEPESDATUM < tcs2.C_KILEPESDATUM OR (tcs.C_KILEPESDATUM IS NOT NULL AND tcs2.C_KILEPESDATUM IS NULL))
|
||
AND tcs2.TOROLT = 'F' AND tcs2.C_TANEVID = t.ID
|
||
INNER JOIN t_osztaly o on o.id = tcs.C_OSZTALYCSOPORTID and o.torolt = 'F' and o.C_ALTANEVID = t.ID
|
||
INNER JOIN T_OSZTALYCSOPORT ocs on ocs.id = o.id and ocs.C_TANEVID = t.id and ocs.torolt = 'F'
|
||
AND ocs.C_FELADATKATEGORIAID = 7553
|
||
INNER JOIN T_DICTIONARYITEMBASE dib on dib.id = ocs.C_EVFOLYAMTIPUSA and dib.C_TANEVID = t.id
|
||
INNER JOIN t_tanulo tt on tt.id = f.id and tt.torolt = 'F' and tt.C_ALTANEVID = t.ID AND tt.C_ISOSZTONDIJBOLKIZARVA = 'F'
|
||
LEFT JOIN T_DICTIONARYITEMBASE dib2 on dib2.id = tt.C_BANKSZAMLATULAJDONOSTIPUSID and dib2.C_TANEVID = t.id
|
||
OUTER APPLY (
|
||
SELECT TOP(1) C_TELEFONSZAM
|
||
FROM T_TELEFON x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID is null) tel
|
||
OUTER APPLY (
|
||
SELECT TOP(1) C_EMAILCIM
|
||
FROM T_EMAIL x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID is null) em
|
||
OUTER APPLY (
|
||
SELECT TOP(1) * FROM T_GONDVISELO g
|
||
OUTER APPLY (
|
||
SELECT TOP(1) C_EMAILCIM
|
||
FROM T_EMAIL x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID = g.ID
|
||
and x.C_TANEVID = t.ID) em2
|
||
OUTER APPLY (
|
||
SELECT TOP(1) C_TELEFONSZAM
|
||
FROM T_TELEFON x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID = g.ID
|
||
and x.C_TANEVID = t.ID) tel2
|
||
WHERE g.TOROLT = 'F'
|
||
AND g.C_TANULOID = tt.ID and g.C_TANEVID = t.ID
|
||
ORDER BY g.CREATED DESC ) x
|
||
OUTER APPLY (
|
||
SELECT TOP(1) *FROM T_GONDVISELO g
|
||
OUTER APPLY (
|
||
SELECT TOP(1) C_EMAILCIM
|
||
FROM T_EMAIL x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID = g.ID
|
||
and x.C_TANEVID = t.ID) em2
|
||
OUTER APPLY (
|
||
SELECT TOP(1) C_TELEFONSZAM
|
||
FROM T_TELEFON x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID = g.ID
|
||
and x.C_TANEVID = t.ID) tel2
|
||
WHERE g.TOROLT = 'F'
|
||
AND g.C_TANULOID = tt.ID and g.C_TANEVID = t.ID
|
||
ORDER BY g.CREATED DESC
|
||
) x2
|
||
OUTER APPLY (
|
||
SELECT TOP(1) CONCAT(x.C_IRANYITOSZAM, ' ', x.C_VAROS, ', ', x.C_KOZTERULET, ' ', x.C_KOZTERULETJELLEGENEV, ' ', x.C_HAZSZAM, ', ' + x.C_EMELET + '. emelet', ' ' + x.C_AJTO + '. ajtó') AS C_CIM
|
||
FROM T_CIM x
|
||
WHERE x.C_FELHASZNALOID = tt.ID
|
||
and x.C_ALAPERTELMEZETT = 'T'
|
||
and x.TOROLT = 'F'
|
||
and x.C_GONDVISELOID IS NULL
|
||
and x.C_TANEVID = t.ID
|
||
ORDER BY x.C_ALAPERTELMEZETT DESC) cim
|
||
LEFT JOIN T_EPJTANULOIADAT epj ON epj.C_TANULOID = f.ID AND epj.C_ISAKTIV = 'T' AND epj.TOROLT = 'F'
|
||
WHERE i.torolt = 'F'
|
||
AND fn.C_ISTESZTFENNTARTO = 'F'
|
||
AND j.C_ISJOGOSULT = 'T'
|
||
AND tcs2.ID IS NULL
|
||
AND ia.C_ISSZAKKEPZOJUTTATAS = 'T'
|
||
AND i.C_ISARCHIV = 'F'
|
||
|
||
ORDER BY i.C_AZONOSITO, f.C_NYOMTATASINEV
|
||
|
||
IF @pKifizetesDatuma IS NOT NULL BEGIN
|
||
DECLARE cur CURSOR LOCAL FOR
|
||
SELECT ia.C_TANEVID
|
||
FROM T_INTEZMENY i
|
||
INNER JOIN T_INTEZMENYADATOK ia ON i.ID = ia.C_INTEZMENYID
|
||
INNER JOIN T_TANEV tv ON tv.ID = ia.C_TANEVID AND tv.C_AKTIV = 'T' AND tv.TOROLT = 'F'
|
||
WHERE i.TOROLT = 'F'
|
||
AND ia.C_ISSZAKKEPZOJUTTATAS = 'T'
|
||
AND i.C_ISARCHIV = 'F'
|
||
|
||
OPEN cur
|
||
FETCH NEXT FROM cur INTO @tanevId
|
||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||
EXEC uspUpdateTanuloEpJuttatas
|
||
@pTanevId = @tanevId
|
||
,@pMinErdemjegy = 2.0
|
||
,@pJuttatasAlap = 100000
|
||
,@pTanuloId = NULL
|
||
,@pFelhasznaloId = 0
|
||
,@pKifizetesDatuma = NULL
|
||
|
||
FETCH NEXT FROM cur INTO @tanevId
|
||
END
|
||
CLOSE cur
|
||
DEALLOCATE cur
|
||
END
|
||
END
|
||
GO |