kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190117154639_DB_283/sp_GetTanuloiAdatlapAdatok.sql
2024-03-13 00:33:46 +01:00

221 lines
No EOL
9.5 KiB
Transact-SQL

IF OBJECT_ID('[dbo].[sp_GetTanuloiAdatlapAdatok]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
@osztCsopID int,
@TanevId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @DefaultFeladatKategoriaId int = (SELECT tev.C_DEFAULTFELADATKATEGORIAID FROM T_TANEV_OSSZES tev WHERE tev.ID = @TanevId)
--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,
(SELECT T_OSZTALY_OSSZES.C_OSZTALYFONOKID
FROM T_OSZTALY_OSSZES
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID,
(SELECT OFO.C_NYOMTATASINEV
FROM T_OSZTALY_OSSZES
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY_OSSZES.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId
INNER JOIN T_FELHASZNALO_OSSZES OFO
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID and OFO.TOROLT = 'F'
WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2
WHERE ID = @osztCsopID and to2.TOROLT = 'F'
AND to2.C_FELADATKATEGORIAID = @DefaultFeladatKategoriaId) OSZTALYNEV
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'
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
T_TANULO_OSSZES.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,
T_FELHASZNALO_OSSZES.C_NYILVANTARTASKEZDETE,
T_TANULO_OSSZES.C_TANKOTELEZETT Tankotelezett,
T_TANULO_OSSZES.C_TANKOTELEZETTSEGVEGE,
T_TANULO_OSSZES.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,
T_TANULO_OSSZES.C_BEJARO Bejaro,
T_TANULO_OSSZES.C_SZAKMAIGYAKORLATON Szakmaigyak,
T_TANULO_OSSZES.C_VENDEG Vendeg,
T_TANULO_OSSZES.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
T_TANULO_OSSZES.C_MAGANTANULO Magantanulo,
T_TANULO_OSSZES.C_MAGANTANULOSAGANAKOKA,
T_TANULO_OSSZES.C_MAGANTANULOSAGKEZDETE,
T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA,
T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT,
T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA,
T_TANULO_OSSZES.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,
T_TANULO_OSSZES.C_TERITESIDIJATFIZETO Teriteses,
T_TANULO_OSSZES.C_TANDIJATFIZETO Tandijas,
T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
T_TANULO_OSSZES.C_TANULOSZERZODESES Tanszerzodeses,
T_TANULO_OSSZES.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
--megjegyzés
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 /*TODO:Tobb Osztaly*//*OM-1662*/
INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_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 #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
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
END
GO