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