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