249 lines
No EOL
10 KiB
Transact-SQL
249 lines
No EOL
10 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS sp_GetTanuloiAdatlapAdatok
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
|
|
@osztCsopID INT,
|
|
@TanevId INT
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #JogviszonyVege (TanuloId int,Datum date)
|
|
INSERT INTO #JogviszonyVege
|
|
SELECT
|
|
TanuloId
|
|
,MAX(C_KILEPESDATUM)
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') Tanulok
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulok.TanuloId AND TanuloCsoport.TOROLT = 'F' AND TanuloCsoport.C_TANEVID = @TanevId
|
|
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.TOROLT = 'F' AND C_ALTANEVID = @TanevId
|
|
GROUP BY TanuloId
|
|
|
|
DECLARE @DefaultFeladatKategoriaId int = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
|
--Fejléc
|
|
SELECT
|
|
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
|
|
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
|
|
dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime,
|
|
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
|
|
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
|
|
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
|
|
T_TANEV_OSSZES.C_NEV TANEV,
|
|
o.C_OSZTALYFONOKID PartnerID,
|
|
f.C_NYOMTATASINEV OSZTALYFONOK,
|
|
ocs.C_NEV OSZTALYNEV
|
|
,@osztCsopID 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 = @osztCsopID 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 = @TanevId
|
|
|
|
CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
|
|
INSERT INTO #EmailCimTableTemp
|
|
SELECT
|
|
TanuloId
|
|
,C_EMAILCIM
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
|
|
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
|
|
WHERE
|
|
email.TOROLT = 'F'
|
|
AND email.C_TANEVID = @TanevId
|
|
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,'') Email
|
|
FROM #EmailCimTableTemp temp
|
|
|
|
CREATE TABLE #TelefonszamTableTemp (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
|
|
INSERT INTO #TelefonszamTableTemp
|
|
SELECT
|
|
TanuloId
|
|
,C_TELEFONSZAM
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
|
|
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
|
|
WHERE
|
|
telefon.TOROLT = 'F'
|
|
AND telefon.C_TANEVID = @TanevId
|
|
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,'') 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, @tanevId, @osztCsopID) btemp
|
|
WHERE
|
|
temp.TanuloId = btemp.TanuloId
|
|
AND temp.CimTipusa = btemp.CimTipusa
|
|
FOR XML PATH(''), TYPE)
|
|
.value('.','NVARCHAR(MAX)'),1,0,'') Cim
|
|
,temp.CimTipusa
|
|
FROM fnGetDokumentumTanuloOrGondviseloCim(0, @tanevId, @osztCsopID) temp
|
|
|
|
CREATE TABLE #GondviselokTableTemp (FelhasznaloId INT, Gondviselo NVARCHAR(MAX))
|
|
INSERT INTO #GondviselokTableTemp
|
|
SELECT
|
|
Gondviselo.TanuloId TanuloId
|
|
,Gondviselo.GondviseloNev + ISNULL('('+rokonsagiFoka.C_NAME+')', '') Gondviselo
|
|
FROM fnGetDokumentumGondviselok (@osztCsopID, @tanevId, 'F', 'T') Gondviselo
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES rokonsagiFoka ON Gondviselo.RokonsagifokId = rokonsagiFoka.ID AND rokonsagiFoka.C_TANEVID = @TanevId
|
|
|
|
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,'') Gondviselo
|
|
FROM #GondviselokTableTemp temp
|
|
|
|
|
|
--Tanulók Adatai
|
|
SELECT DISTINCT
|
|
tta.C_BEIRASINAPLOSORSZAM,
|
|
tanulok.NaploSorszam NaploSorszam,
|
|
tanulok.TorzslapSzam TorzslapSzam,
|
|
T_TANEV_OSSZES.C_NEV TANEV,
|
|
T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
|
|
T_OSZTALY_OSSZES.C_KEPZESIFORMA Kepzesiforma,
|
|
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV NEV,
|
|
gondviselo.Gondviselo GONDVISELO,
|
|
T_FELHASZNALO_OSSZES.C_SZULETESINEV SZULETESINEV,
|
|
T_FELHASZNALO_OSSZES.C_ANYJANEVE ANYJANEVE,
|
|
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO,
|
|
T_FELHASZNALO_OSSZES.C_SZULETESIHELY,
|
|
T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG Szuletesiorszag,
|
|
FORMAT(T_FELHASZNALO_OSSZES.C_SZULETESIDATUM, 'yyyy.MM.dd.') C_SZULETESIDATUM,
|
|
T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
|
|
T_FELHASZNALO_OSSZES.C_ANYANYELVE Anyanyelv,
|
|
tta.C_NYILVANTARTASKEZDETE,
|
|
tta.C_TANKOTELEZETT 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 TartozkodasiHely,
|
|
telefon.Telefonszam C_TELEFONSZAM,
|
|
email.EmailCim C_EMAILCIM,
|
|
tta.C_BEJARO Bejaro,
|
|
tta.C_SZAKMAIGYAKORLATON Szakmaigyak,
|
|
tta.C_VENDEG Vendeg,
|
|
tta.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
|
|
tta.C_MAGANTANULO 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 Evismetlo,
|
|
T_TANULO_OSSZES.C_SZOCIALISTAMOGATAS Szoctam,
|
|
T_TANULO_OSSZES.C_HATRANYOSHELYZETU,
|
|
T_TANULO_OSSZES.C_VESZELYEZTETETT Veszelyeztetett,
|
|
T_TANULO_OSSZES.C_HALMOZOTTANFOGYATEKOS Halmfogyatekos,
|
|
T_TANULO_OSSZES.C_ETKEZESIKEDVEZMENY,
|
|
tta.C_TERITESIDIJATFIZETO Teriteses,
|
|
tta.C_TANDIJATFIZETO Tandijas,
|
|
T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
|
|
tta.C_TANULOSZERZODESES Tanszerzodeses,
|
|
tta.C_POLGARISZERZODESES Polgszerzodeses,
|
|
T_TANULO_OSSZES.C_RENDSZERESGYERMEKVEDELMIKEDV,
|
|
T_TANULO_OSSZES.C_ALLAMIGONDOZOTT Allamigond,
|
|
T_TANULO_OSSZES.C_KOLLEGIUMIELLATASOS Kollegiumi,
|
|
T_TANULO_OSSZES.C_TARTOSGYOGYKEZELESSZAMA,
|
|
T_TANULO_OSSZES.C_SAJATOSNEVELESU Sajatosnevelesu,
|
|
T_TANULO_OSSZES.C_SNILETSZAMSULY,
|
|
T_TANULO_OSSZES.C_SNIKIALLITOINTEZMENY,
|
|
FORMAT(T_TANULO_OSSZES.C_SNIOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') C_SNIOKMANYERVENYESSEGKEZDETE,
|
|
T_TANULO_OSSZES.C_BTMPROBLEMAS Btmproblemas,
|
|
T_TANULO_OSSZES.C_BTMLETSZAMSULY,
|
|
T_TANULO_OSSZES.C_BTMHATAROZATOKMANYSZAM,
|
|
FORMAT(T_TANULO_OSSZES.C_BTMOKMANYERVENYESSEGKEZDETE, 'yyyy.MM.dd.') 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
|
|
,@osztCsopID AS OsztalyId
|
|
,JogviszonyVege.Datum JogviszonyVege
|
|
FROM T_FELHASZNALO_OSSZES
|
|
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulok ON tanulok.TanuloId = T_FELHASZNALO_OSSZES.Id
|
|
INNER JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
|
LEFT 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 (@osztCsopID,default) tta ON tta.TanuloId=T_FELHASZNALO_OSSZES.ID
|
|
LEFT 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 = @TanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES maganTanuloOk ON tta.C_MAGANTANULOSAGANAKOKAID = maganTanuloOk.ID AND maganTanuloOk.C_TANEVID = @TanevId 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 = tanulok.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
|
|
,o.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
|
|
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
|
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
|
,o.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
|
|
,o.C_NEMZETISEGI OJNemzetisegi
|
|
,o.C_KETTANNYELVU OJKettannyelvu
|
|
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
|
,o.C_LOGOPEDIAI OJLogopediai
|
|
,o.C_SPORT OJSportOsztaly
|
|
,o.C_AJPROGRAM OJAranyJanosProgram
|
|
,o.C_GYOGYPEDAGOGIAI OJGyogypedagogiai
|
|
FROM T_OSZTALY_OSSZES AS o
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
|
|
WHERE o.ID = @osztCsopID
|
|
END
|
|
|
|
GO |