272 lines
12 KiB
Transact-SQL
272 lines
12 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanuloiAdatlapAdatok]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
|
|
@pOsztCsopID int
|
|
,@pTanevId int
|
|
,@pDatum date
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #JogviszonyVege (
|
|
TanuloId int
|
|
,BelepesDatum date
|
|
,KilepesDatum date)
|
|
INSERT INTO #JogviszonyVege
|
|
SELECT
|
|
x.TanuloId AS TanuloId
|
|
,x.BelepesDatum AS BelepesDatum
|
|
,x.KilepesDatum AS KilepesDatum
|
|
FROM
|
|
(SELECT
|
|
TanuloId AS TanuloId
|
|
,BelepesDatum AS BelepesDatum
|
|
,ROW_NUMBER() OVER (PARTITION BY TanuloId ORDER BY BelepesDatum DESC ) AS rownumber
|
|
,KilepesDatum AS KilepesDatum
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztCsopID, 'T') AS Tanulok
|
|
) AS x
|
|
WHERE x.rownumber = 1
|
|
|
|
DECLARE @DefaultFeladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztCsopID)
|
|
--Fejléc
|
|
SELECT
|
|
T_INTEZMENYADATOK_OSSZES.C_NEV AS IntezmenyNeve
|
|
,T_INTEZMENYADATOK_OSSZES.C_VAROS AS IntezmenyVaros
|
|
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) AS IntezmenyCime
|
|
,T_INTEZMENYADATOK_OSSZES.C_OMKOD AS OMKod
|
|
,T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM AS TELEFON
|
|
,T_INTEZMENYADATOK_OSSZES.C_EMAILCIM AS EMAILCIM
|
|
,T_TANEV_OSSZES.C_NEV AS TANEV
|
|
,o.C_OSZTALYFONOKID AS PartnerID
|
|
,f.C_NYOMTATASINEV AS OSZTALYFONOK
|
|
,ocs.C_NEV AS OSZTALYNEV
|
|
,@pOsztCsopID AS OsztalyId
|
|
FROM T_INTEZMENYADATOK_OSSZES
|
|
INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = @pOsztCsopID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
|
LEFT JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID AND f.TOROLT = 'F'
|
|
WHERE
|
|
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
|
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @pTanevId
|
|
|
|
CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
|
|
INSERT INTO #EmailCimTableTemp
|
|
SELECT
|
|
TanuloId AS TanuloId
|
|
,C_EMAILCIM AS C_EMAILCIM
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztCsopID, 'T') AS tanulo
|
|
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId AND email.C_GONDVISELOID IS NULL
|
|
WHERE
|
|
email.TOROLT = 'F'
|
|
AND email.C_TANEVID = @pTanevId
|
|
AND LEN(C_EMAILCIM) > 0
|
|
|
|
CREATE TABLE #EmailCimTable (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
|
|
INSERT INTO #EmailCimTable
|
|
SELECT DISTINCT
|
|
FelhasznaloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(Btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #EmailCimTableTemp btemp
|
|
WHERE
|
|
temp.FelhasznaloId = btemp.FelhasznaloId
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') AS Email
|
|
FROM #EmailCimTableTemp temp
|
|
|
|
CREATE TABLE #TelefonszamTableTemp (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
|
|
INSERT INTO #TelefonszamTableTemp
|
|
SELECT
|
|
TanuloId
|
|
,C_TELEFONSZAM
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztCsopID, 'T') tanulo
|
|
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId AND telefon.C_GONDVISELOID IS NULL
|
|
WHERE
|
|
telefon.TOROLT = 'F'
|
|
AND telefon.C_TANEVID = @pTanevId
|
|
AND LEN(C_TELEFONSZAM) > 0
|
|
|
|
CREATE TABLE #TelefonszamTable (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
|
|
INSERT INTO #TelefonszamTable
|
|
SELECT DISTINCT
|
|
FelhasznaloId
|
|
,STUFF((
|
|
SELECT DISTINCT CAST(Btemp.Telefonszam AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM #TelefonszamTableTemp btemp
|
|
WHERE
|
|
temp.FelhasznaloId = btemp.FelhasznaloId
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') AS Telefonszam
|
|
FROM #TelefonszamTableTemp temp
|
|
|
|
CREATE TABLE #TanuloCimTable (FelhasznaloId INT, Cim NVARCHAR(MAX), Cimtipusa INT)
|
|
INSERT INTO #TanuloCimTable
|
|
SELECT DISTINCT
|
|
TanuloId
|
|
,STUFF((
|
|
SELECT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @pTanevId, @pOsztCsopID, NULL, NULL) btemp
|
|
WHERE
|
|
temp.TanuloId = btemp.TanuloId
|
|
AND temp.CimTipusa = btemp.CimTipusa
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') AS Cim
|
|
,temp.CimTipusa
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @pTanevId, @pOsztCsopID, NULL, NULL) temp
|
|
|
|
CREATE TABLE #GondviselokTableTemp (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
|
|
INSERT INTO #GondviselokTableTemp
|
|
SELECT
|
|
Gondviselo.TanuloId AS TanuloId
|
|
,Gondviselo.GondviseloNev + ISNULL('('+rokonsagiFoka.C_NAME+')', '') AS Gondviselo
|
|
FROM fnGetDokumentumGondviselok (@pOsztCsopID, @pTanevId, 'F', 'T') Gondviselo
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsagiFoka ON Gondviselo.RokonsagifokId = rokonsagiFoka.ID AND rokonsagiFoka.C_TANEVID = @pTanevId
|
|
|
|
CREATE TABLE #GondviselokTable (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
|
|
INSERT INTO #GondviselokTable
|
|
SELECT DISTINCT
|
|
FelhasznaloId
|
|
,STUFF((
|
|
SELECT ', ' + btemp.Gondviselo
|
|
FROM #GondviselokTableTemp btemp
|
|
WHERE
|
|
temp.FelhasznaloId = btemp.FelhasznaloId
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,2,'') AS Gondviselo
|
|
FROM #GondviselokTableTemp temp
|
|
|
|
--Tanulók Adatai
|
|
SELECT DISTINCT
|
|
tta.C_BEIRASINAPLOSORSZAM
|
|
,tta.C_NAPLOSORSZAM AS NaploSorszam
|
|
,tta.C_TORZSLAPSZAM AS TorzslapSzam
|
|
,T_TANEV_OSSZES.C_NEV AS TANEV
|
|
,T_OSZTALYCSOPORT_OSSZES.C_NEV AS OSZTALYNEV
|
|
,munkarend.C_NAME AS Munkarend
|
|
,T_OSZTALYCSOPORT_OSSZES.C_KEPZESIFORMA AS Kepzesiforma
|
|
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS NEV
|
|
,gondviselo.Gondviselo AS GONDVISELO
|
|
,T_FELHASZNALO_OSSZES.C_SZULETESINEV AS SZULETESINEV
|
|
,T_FELHASZNALO_OSSZES.C_ANYJANEVE ANYJANEVE
|
|
,T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO
|
|
,T_FELHASZNALO_OSSZES.C_SZULETESIHELY
|
|
,T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG AS Szuletesiorszag
|
|
,FORMAT(T_FELHASZNALO_OSSZES.C_SZULETESIDATUM, 'yyyy.MM.dd.') AS C_SZULETESIDATUM
|
|
,T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA AS Allampolgarsag
|
|
,T_FELHASZNALO_OSSZES.C_ANYANYELVE AS Anyanyelv
|
|
,JogviszonyVege.BelepesDatum AS C_NYILVANTARTASKEZDETE
|
|
,tta.C_TANKOTELEZETT AS Tankotelezett
|
|
,tta.C_TANKOTELEZETTSEGVEGE
|
|
,tta.C_JOGVISZONYVARHATOBEFEJEZESE
|
|
,T_TANULO_OSSZES.C_DIAKIGAZOLVANYSZAM
|
|
,T_TANULO_OSSZES.C_DIAKIGAZOLVANYKELTE
|
|
,T_TANULO_OSSZES.C_BANKSZAMLASZAM
|
|
,AllandoLakcim.Cim
|
|
,TartozkodasiHely.CIM AS TartozkodasiHely
|
|
,telefon.Telefonszam AS C_TELEFONSZAM
|
|
,email.EmailCim AS C_EMAILCIM
|
|
,tta.C_BEJARO AS Bejaro
|
|
,tta.C_SZAKMAIGYAKORLATON AS Szakmaigyak
|
|
,tta.C_VENDEG AS Vendeg
|
|
,tta.C_JOGVISZONYATSZUNETELTETO AS Jogviszonyszunetelteto
|
|
,tta.C_MAGANTANULO AS Magantanulo
|
|
,maganTanuloOk.C_NAME AS C_MAGANTANULOSAGANAKOKA
|
|
,tta.C_MAGANTANULOSAGKEZDETE
|
|
,T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA
|
|
,T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT
|
|
,T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA
|
|
,tta.C_EVISMETLO AS Evismetlo
|
|
,T_TANULO_OSSZES.C_SZOCIALISTAMOGATAS AS Szoctam
|
|
,T_TANULO_OSSZES.C_HATRANYOSHELYZETU
|
|
,T_TANULO_OSSZES.C_VESZELYEZTETETT AS Veszelyeztetett
|
|
,T_TANULO_OSSZES.C_HALMOZOTTANFOGYATEKOS AS Halmfogyatekos
|
|
,T_TANULO_OSSZES.C_ETKEZESIKEDVEZMENY
|
|
,tta.C_TERITESIDIJATFIZETO AS Teriteses
|
|
,tta.C_TANDIJATFIZETO AS Tandijas
|
|
,T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA
|
|
,tta.C_TANULOSZERZODESES AS Tanszerzodeses
|
|
,tta.C_POLGARISZERZODESES AS Polgszerzodeses
|
|
,T_TANULO_OSSZES.C_RENDSZERESGYERMEKVEDELMIKEDV
|
|
,T_TANULO_OSSZES.C_ALLAMIGONDOZOTT AS Allamigond
|
|
,T_TANULO_OSSZES.C_KOLLEGIUMIELLATASOS AS Kollegiumi
|
|
,T_TANULO_OSSZES.C_TARTOSGYOGYKEZELESSZAMA
|
|
,T_TANULO_OSSZES.C_SAJATOSNEVELESU AS Sajatosnevelesu
|
|
,T_TANULO_OSSZES.C_SNILETSZAMSULY
|
|
,T_TANULO_OSSZES.C_SNIKIALLITOINTEZMENY
|
|
,FORMAT(T_TANULO_OSSZES.C_SNIOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') AS C_SNIOKMANYERVENYESSEGKEZDETE
|
|
,T_TANULO_OSSZES.C_BTMPROBLEMAS AS Btmproblemas
|
|
,T_TANULO_OSSZES.C_BTMLETSZAMSULY
|
|
,T_TANULO_OSSZES.C_BTMHATAROZATOKMANYSZAM
|
|
,FORMAT(T_TANULO_OSSZES.C_BTMOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') AS C_BTMOKMANYERVENYESSEGKEZDETE
|
|
,T_TANULO_OSSZES.C_BTMKIALLITOINTEZMENY
|
|
,T_TANULO_OSSZES.C_ELSOINTEZMENYOMKOD
|
|
,T_FELHASZNALO_OSSZES.C_IGAZOLVANYSZAM
|
|
,igazolvanyTipusa.C_NAME AS IgazolvanyTipusa
|
|
,T_TANULO_OSSZES.ID AS TanuloId
|
|
,@pOsztCsopID AS OsztalyId
|
|
,JogviszonyVege.KilepesDatum AS JogviszonyVege
|
|
,STUFF((SELECT ', ' + Tartalom
|
|
FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztCsopID, null)
|
|
WHERE TanuloId = T_FELHASZNALO_OSSZES.ID
|
|
AND Tipusa = 1545 --KRETA2-3028
|
|
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,2,'') AS Bejegyzes
|
|
,ISNULL(tta.C_ELOZOINTEZMENY, T_TANULO_OSSZES.C_ELOZOINTEZMENY) AS ElozoIntezmeny
|
|
FROM T_FELHASZNALO_OSSZES
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID AND T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = @pOsztCsopID
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tanugy ON tanugy.C_TANULOCSOPORTID = T_TANULOCSOPORT_OSSZES.ID AND tanugy.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkarend ON munkarend.ID = tanugy.C_TANTERVIJELLEGID AND munkarend.C_TANEVID = @pTanevId AND munkarend.TOROLT = 'F'
|
|
INNER JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
|
|
INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
|
|
LEFT JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai (@pOsztCsopID, @pDatum) tta ON tta.TanuloId=T_FELHASZNALO_OSSZES.ID
|
|
INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
|
LEFT JOIN #TelefonszamTable telefon on telefon.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
|
|
LEFT JOIN #EmailCimTable email on email.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
|
|
LEFT JOIN #GondviselokTable gondviselo on gondviselo.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES igazolvanyTipusa ON T_FELHASZNALO_OSSZES.C_IGAZOLVANYTIPUSA = igazolvanyTipusa.ID AND igazolvanyTipusa.C_TANEVID = @pTanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES maganTanuloOk ON tta.C_MAGANTANULOSAGANAKOKAID = maganTanuloOk.ID AND maganTanuloOk.C_TANEVID = @pTanevId AND maganTanuloOk.TOROLT='F'
|
|
LEFT JOIN #TanuloCimTable AllandoLakcim ON AllandoLakcim.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND AllandoLakcim.Cimtipusa = 907
|
|
LEFT JOIN #TanuloCimTable TartozkodasiHely ON TartozkodasiHely.FelhasznaloId = T_FELHASZNALO_OSSZES.ID AND TartozkodasiHely.Cimtipusa = 909
|
|
INNER JOIN #JogviszonyVege JogviszonyVege ON JogviszonyVege.TanuloId = T_TANULOCSOPORT_OSSZES.C_TANULOID
|
|
WHERE
|
|
T_FELHASZNALO_OSSZES.TOROLT = 'F'
|
|
AND T_TANEV_OSSZES.TOROLT = 'F'
|
|
AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
|
|
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
|
|
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
|
|
|
SELECT
|
|
o.ID AS OsztalyId
|
|
,ocs.C_EVFOLYAMTIPUSA AS EvfolyamTipusa
|
|
,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
|
,ocs.C_KEPZESIFORMA AS KepzesiForma
|
|
,o.C_OSZTALYFONOKID AS OsztalyfonokId
|
|
,o.C_TANTERVID AS TantervId
|
|
,o.C_SZAKMACSOPORT AS SzakmaCsoport
|
|
,o.C_AGAZAT AS Agazat
|
|
,o.C_SZAKKEPESITES AS Szakkepesites
|
|
,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
|
|
,o.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat
|
|
,o.C_SZAKMATIPUSID AS UjSzktSzakma
|
|
,o.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany
|
|
,o.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet
|
|
,o.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites
|
|
,o.C_SZAKIRANYNKTTIPUSID AS NktSzakirany
|
|
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
|
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
|
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
|
|
,o.C_NEMZETISEGI OJNemzetisegi
|
|
,o.C_KETTANNYELVU OJKettannyelvu
|
|
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
|
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
|
|
,o.C_SPORT OJSportOsztaly
|
|
,o.C_AJPROGRAM OJAranyJanosProgram
|
|
FROM T_OSZTALY_OSSZES AS o
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
|
|
WHERE o.ID = @pOsztCsopID
|
|
|
|
END
|
|
|
|
GO
|