kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190712131524_DB_659/fnGetDokumentumTanulokAdatai.sql
2024-03-13 00:33:46 +01:00

90 lines
No EOL
3.8 KiB
Transact-SQL

DROP FUNCTION IF EXISTS fnGetDokumentumTanulokAdatai
GO
CREATE FUNCTION fnGetDokumentumTanulokAdatai(@tanevId INT, @osztalyCsoportId INT)
RETURNS @tanuloAdatok TABLE (
TanuloId int
,TanuloCsoportId int
,Sorszam int
,TorzslapSzam varchar(1000)
,OktAzon nvarchar(40)
,TajSzam nvarchar(18)
,AnyjaNeve nvarchar(128)
,SzulHely nvarchar(100)
,SzulIdo nvarchar(20)--formázás miatt
,SocAdat nvarchar(200)
,Kepzes nvarchar(510)
,TanuloNeve nvarchar(510)
,Allampolgarsaga nvarchar(500)
,DiakIgazolvanySzam nvarchar(510)
,KilepesDatum nvarchar(20) --formázás miatt
,BeirasiNaploSorszam nvarchar(100)
,AktualisOsztaly nvarchar(200)
,AktualisOsztalyId int
,AdottOsztaly nvarchar(200)
,AdottOsztalyId int
,BelepesDatum nvarchar(20) --formázás miatt
)
AS BEGIN
INSERT INTO @tanuloAdatok
SELECT DISTINCT
TanuloId
,TanuloCsoportId
,Sorszam
,TorzslapSzam
,OktAzon
,TajSzam
,AnyjaNeve
,SzulHely
,dbo.fnGetDokumentumDatumFormatum(szulIdo) SzulIdo
,SocAdat
,Kepzes
,TanuloNeve
,Allampolgarsaga
,DiakIgazolvanySzam
,dbo.fnGetDokumentumDatumFormatum(KilepesDatum) KilepesDatum
,BeirasiNaploSorszam
,AktualisOsztaly
,AktualisOsztalyId
,AdottOsztaly
,AdottOsztalyId
,dbo.fnGetDokumentumDatumFormatum(BelepesDatum) BelepesDatum
FROM (
SELECT
OsztalyCsoportTanuloi.TanuloId AS TanuloId
,OsztalyCsoportTanuloi.TanuloCsoportId AS TanuloCsoportId
,tta.C_NAPLOSORSZAM AS Sorszam
,tta.C_TORZSLAPSZAM AS TorzslapSzam
,Felhasznalo.C_OKTATASIAZONOSITO AS OktAzon
,Felhasznalo.C_TAJSZAM AS TajSzam
,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
,Felhasznalo.C_SZULETESIHELY AS SzulHely
,Felhasznalo.C_SZULETESIDATUM AS SzulIdo
,IIF(tta.C_MAGANTANULO = 'T', 'Magántanuló (' + ISNULL(MagantanulosagOka.C_NAME,'-') + ')', '') +
IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', ', Jogviszony szüneteltetve', '') +
IIF(tta.C_SZAKMAIGYAKORLATON = 'T', ', Szakmai gyakorlat', '') +
IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', ', Szociális támogatás', '') +
IIF(tta.C_BEJARO = 'T', ', Bejáró', '') AS SocAdat
,Tanterv.C_NEV AS Kepzes
,Felhasznalo.C_NYOMTATASINEV AS TanuloNeve
,AllampolgarsagDic.C_NAME AS Allampolgarsaga
,Tanulo.C_DIAKIGAZOLVANYSZAM AS DiakIgazolvanySzam
,OsztalyCsoportTanuloi.KilepesDatum AS KilepesDatum
,tta.C_BEIRASINAPLOSORSZAM AS BeirasiNaploSorszam
,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AS AktualisOsztaly /*TODO:Tobb Osztaly*//*OM-1653*/
,dbo.fnGetDokumentumTanuloAktualisOsztalyId(OsztalyCsoportTanuloi.TanuloId) AS AktualisOsztalyId
,(SELECT TOP 1 OsztalyNev FROM dbo.fnGetTanuloOsztaly(OsztalyCsoportTanuloi.TanuloId, OsztalyCsoportTanuloi.BelepesDatum, NULL, 1)) AS AdottOsztaly
,(SELECT TOP 1 ID FROM dbo.fnGetTanuloOsztaly(OsztalyCsoportTanuloi.TanuloId, OsztalyCsoportTanuloi.BelepesDatum, NULL, 1)) AS AdottOsztalyId
,OsztalyCsoportTanuloi.BelepesDatum AS BelepesDatum
FROM T_TANULO_OSSZES Tanulo
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyCsoportTanuloi ON OsztalyCsoportTanuloi.TanuloId = Tanulo.ID
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID AND Felhasznalo.TOROLT='F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AllampolgarsagDic ON AllampolgarsagDic.ID = Felhasznalo.C_ALLAMPOLGARSAGA AND AllampolgarsagDic.C_TANEVID = Felhasznalo.C_TANEVID AND AllampolgarsagDic.TOROLT='F'
LEFT JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai (@osztalyCsoportId,DEFAULT) tta ON tta.TanuloId = Tanulo.ID
LEFT JOIN T_TANTERV_OSSZES Tanterv ON Tanterv.ID = tta.C_TANTERVID AND Tanterv.TOROLT='F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka ON MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID AND MagantanulosagOka.C_TANEVID = Felhasznalo.C_TANEVID AND MagantanulosagOka.TOROLT='F'
WHERE Tanulo.TOROLT='F') tmp
RETURN
END
GO