DROP PROCEDURE IF EXISTS dbo.sp_GetTanuloiAdatlapAdatok GO CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok] @osztCsopID INT, @TanevId INT, @pTanuloId INT = NULL 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, 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 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, tt.C_TANKOTELEZETT Tankotelezett, tt.C_TANKOTELEZETTSEGVEGE, tt.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, tt.C_BEJARO Bejaro, tt.C_SZAKMAIGYAKORLATON Szakmaigyak, tt.C_VENDEG Vendeg, tt.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto, tt.C_MAGANTANULO Magantanulo, dib.C_NAME C_MAGANTANULOSAGANAKOKA, tt.C_MAGANTANULOSAGKEZDETE, T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA, T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT, T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA, tt.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, tt.C_TERITESIDIJATFIZETO Teriteses, tt.C_TANDIJATFIZETO Tandijas, T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA, tt.C_TANULOSZERZODESES Tanszerzodeses, tt.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 --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_TANULOTANUGYIADATOK_OSSZES AS tt ON tt.C_TANULOCSOPORTID = tanulok.TanuloCsoportId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS dib ON dib.ID = tt.C_MAGANTANULOSAGANAKOKAID AND dib.C_TANEVID = @TanevId 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' AND @pTanuloId IS NULL OR T_TANULO_OSSZES.ID = @pTanuloId ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV /* Osztály adatok */ 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