DROP PROCEDURE IF EXISTS dbo.uspGetTorzslap GO CREATE PROCEDURE dbo.uspGetTorzslap @osztalyId int ,@tanevId int ,@ertekelesTipus int ,@kesesTipus int ,@elmeletiOraPercben int = 45 ,@gyakorlatiOraPercben int = 45 ,@iskolaErdekuSzamit bit ,@nyomtatvanyNyelvEnum int ,@isKozossegiSzolgalat bit ,@tanitasiHetekSzamaVegzos int ,@tanitasiHetekSzamaNemVegzos int ,@isAltantargyBeszamitasa bit ,@isMuveszetOktatasi bit = 0 ,@idegenNyelvId int = 509 --magyar ,@pShowTanuloiAtlag bit = 0 ,@kiiratkozottTanulokMegjelenitese bit = 1 ,@kellAtsorolasiZaradek bit = 1 AS BEGIN SET NOCOUNT ON; DECLARE @IdoszakVege DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F') CREATE TABLE #Student ( TanuloId int ,NaploSorszam int ,TorzslapSzam nvarchar(500) ,TanuloCsoportId int ,BelepesDatum datetime ,KilepesDatum datetime ,Agazat nvarchar(250) ,Szakkepesites nvarchar(250) ,ReszSzakkepesites nvarchar(250) ,SzakmaCsoport nvarchar(250) ,AgazatIdegenNyelven nvarchar(250) ,SzakkepesitesIdegenNyelven nvarchar(250) ,ReszSzakkepesitesIdegenNyelven nvarchar(250) ,SzakmaCsoportIdegenNyelven nvarchar(250) ,OsztalyId INT ,RowNum int INDEX IX_01 CLUSTERED (TanuloId) ) INSERT INTO #Student ( TanuloId ,NaploSorszam ,TorzslapSzam ,TanuloCsoportId ,BelepesDatum ,KilepesDatum ,Agazat ,Szakkepesites ,ReszSzakkepesites ,SzakmaCsoport ,AgazatIdegenNyelven ,SzakkepesitesIdegenNyelven ,ReszSzakkepesitesIdegenNyelven ,SzakmaCsoportIdegenNyelven ,OsztalyId ,RowNum ) SELECT OsztalyTanuloi.TanuloId AS TanuloId ,OsztalyTanuloi.NaploSorszam AS NaploSorszam ,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam ,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId ,OsztalyTanuloi.BelepesDatum AS BelepesDatum ,OsztalyTanuloi.KilepesDatum AS KilepesDatum ,Agazat.C_NAME AS Agazat ,IIF(ISNULL(Szakkep.ID, SzakkepOsztaly.ID) = 5527, '', ISNULL(Szakkep.C_NAME, SzakkepOsztaly.C_NAME) + '(szakképesítés)') AS Szakkepesites ,IIF(ISNULL(ReszSzakkep.ID, ReszSzakkepOsztaly.ID) = 6108, '', ISNULL(ReszSzakkep.C_NAME, ReszSzakkepOsztaly.C_NAME) + '(részszakképesítés)') AS ReszSzakkepesites ,SzakmaCsop.C_NAME AS SzakmaCsoport ,AgazatIdegenNyelv.C_NAME ,SzakkepIdegenNyelv.C_NAME ,ReszSzakkepIdegenNyelv.C_NAME ,SzakmaCsopIdegenNyelv.C_NAME ,@osztalyId AS OsztalyId ,ROW_NUMBER() OVER(ORDER BY LEN(TorzslapSzam), TorzslapSzam) AS RowNum FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = @osztalyId AND Osztaly.C_ALTANEVID = @tanevId AND Osztaly.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Agazat ON Agazat.ID = OsztalyTanuloi.AgazatId AND Agazat.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES AgazatIdegenNyelv ON AgazatIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.AgazatId AND AgazatIdegenNyelv.C_TANEVID = @tanevId AND AgazatIdegenNyelv.C_NYELVID = @idegenNyelvId AND AgazatIdegenNyelv.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Szakkep ON Szakkep.ID = OsztalyTanuloi.SzakkepesitesId AND Szakkep.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakkepOsztaly ON SzakkepOsztaly.ID = Osztaly.C_SZAKKEPESITES AND SzakkepOsztaly.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES SzakkepIdegenNyelv ON SzakkepIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.SzakkepesitesId AND SzakkepIdegenNyelv.C_TANEVID = @tanevId AND SzakkepIdegenNyelv.C_NYELVID = @idegenNyelvId AND SzakkepIdegenNyelv.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkep ON ReszSzakkep.ID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkep.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkepOsztaly ON ReszSzakkepOsztaly.ID = Osztaly.C_RESZSZAKKEPESITES AND ReszSzakkepOsztaly.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES ReszSzakkepIdegenNyelv ON ReszSzakkepIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkepIdegenNyelv.C_TANEVID = @tanevId AND ReszSzakkepIdegenNyelv.C_NYELVID = @idegenNyelvId AND ReszSzakkepIdegenNyelv.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaCsop ON SzakmaCsop.ID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsop.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES SzakmaCsopIdegenNyelv ON SzakmaCsopIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsopIdegenNyelv.C_TANEVID = @tanevId AND SzakmaCsopIdegenNyelv.C_NYELVID = @idegenNyelvId AND SzakmaCsopIdegenNyelv.TOROLT = 'F' WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege) DECLARE @minTorzslapszam nvarchar(500) = ( SELECT TOP (1) TorzslapSzam FROM #Student ORDER BY RowNum ASC ) DECLARE @maxTorzslapszam nvarchar(500) = ( SELECT TOP (1) TorzslapSzam FROM #Student ORDER BY RowNum DESC ) --Intézmény, tanév IF @isMuveszetOktatasi = 0 BEGIN SELECT DISTINCT OsztalyCsoport.C_NEV AS OsztalyNev ,Osztaly.C_OSZTALYNAPLOLEIRASA AS OsztalyMegjegyzes ,Osztaly.C_OSZTALYFONOKID AS PartnerID ,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok ,i.C_IGAZGATONEVE AS IntezmenyVezeto ,i.C_NEV AS IntezmenyNeve ,i.C_VAROS AS IntezmenyVaros ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime ,i.C_OMKOD AS IntezmenyOMKod ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOMEGNYITASA), FORMAT(Osztaly.C_OSZTALYNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOZARASA), FORMAT(Osztaly.C_OSZTALYNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma ,tanev.C_NEV AS Tanev ,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam /*TODO:Tobb Osztaly Nem kell, mert egy adott osztályt kérdez le, ami paraméterként jön át *//*OM-1609*/ ,@minTorzslapszam AS MinNaploSorszam ,@maxTorzslapszam AS MaxNaploSorszam ,OsztalyCsoport.ID AS OsztalyId /*nemzetiségi törzslaphoz kell*/ ,ofo.C_ELOTAG AS OsztalyfonokNevElotag ,ofo.C_VEZETEKNEV AS OsztalyfonoknevVezeteknev ,ofo.C_UTONEV AS OsztalyfonokNevUtonev ,Osztaly.C_OSZTALYNAPLOMEGNYITASA AS NaploMegnyitasanakDatumaPlain ,Osztaly.C_OSZTALYNAPLOZARASA AS NaploZarasanakDatumaPlain --cím? /***/ FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport INNER JOIN T_OSZTALY_OSSZES Osztaly ON OsztalyCsoport.ID = Osztaly.ID AND Osztaly.TOROLT = 'F' LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = Osztaly.C_OSZTALYFONOKID INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F' WHERE OsztalyCsoport.ID = @osztalyId END ELSE BEGIN SELECT DISTINCT OsztalyCsoport.C_NEV AS OsztalyNev ,csoport.C_CSOPORTNAPLOLEIRAS AS OsztalyMegjegyzes ,csoport.C_CSOPORTVEZETOID AS PartnerID ,IIF(@nyomtatvanyNyelvEnum = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) AS Osztalyfonok ,i.C_IGAZGATONEVE AS IntezmenyVezeto ,i.C_NEV AS IntezmenyNeve ,i.C_VAROS AS IntezmenyVaros ,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS IntezmenyCime ,i.C_OMKOD AS IntezmenyOMKod ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOMEGNYITASA), FORMAT(csoport.C_CSOPORTNAPLOMEGNYITASA, 'dd. MM. yyyy')) AS NaploMegnyitasanakDatuma ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(csoport.C_CSOPORTNAPLOZARASA), FORMAT(csoport.C_CSOPORTNAPLOZARASA, 'dd. MM. yyyy')) AS NaploZarasanakDatuma ,tanev.C_NEV AS Tanev ,(SELECT COUNT(TanuloId) FROM #Student) AS TanuloSzam ,@minTorzslapszam AS MinNaploSorszam ,@maxTorzslapszam AS MaxNaploSorszam ,OsztalyCsoport.ID AS OsztalyId ,csoport.C_CSOPORTNAPLOMEGNYITASA AS NaploMegnyitasanakDatumaPlain ,csoport.C_CSOPORTNAPLOZARASA AS NaploZarasanakDatumaPlain FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport INNER JOIN T_CSOPORT_OSSZES csoport ON OsztalyCsoport.ID = csoport.ID AND csoport.TOROLT = 'F' LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = csoport.C_CSOPORTVEZETOID INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F' WHERE OsztalyCsoport.ID = @osztalyId END --Osztály, évfolyam SELECT OsztalyCsoport.C_NEV ,ISNULL(EvfolyamTipusa.C_NAME_1, (SELECT C_NAME_1 FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId)) AS C_EVFOLYAMTIPUSA_DNAME -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni ,EvfolyamTipusaIdegenNyelv.C_NAME EvfolyamTipusaIdegenNyelv ,OsztalyCsoport.ID AS OsztalyId FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES EvfolyamTipusaIdegenNyelv ON EvfolyamTipusaIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusaIdegenNyelv.C_TANEVID = @tanevId AND EvfolyamTipusaIdegenNyelv.C_NYELVID = @idegenNyelvId AND EvfolyamTipusaIdegenNyelv.TOROLT = 'F' WHERE OsztalyCsoport.ID = @osztalyId CREATE TABLE #TanuloAdatok ( TanuloId int ,Azonosito nvarchar(40) ,Nev nvarchar(120) ,TanuloNevElotag nvarchar(120) ,TanuloNevVezeteknev nvarchar(120) ,TanuloNevUtonev nvarchar(120) ,SzuletesiDatum nvarchar(20) ,SzuletesiDatumPlain DATE ,SzuletesiHely nvarchar(50) ,Allampolgarsag nvarchar(250) ,AllampolgarsagIdegenNyelven nvarchar(250) ,AnyjaNeve nvarchar(64) ,AnyjaNeveIdegenNyelven nvarchar(64) ,SzuletesiOrszag nvarchar(250) ,SzuletesiOrszagIdegenNyelven nvarchar(250) ,TorzslapSzam nvarchar(500) ,GondviseloNeve nvarchar(max) ,GondviseloNevIdegenNyelven nvarchar(max) ,NaploSorszam int ,Nev2 nvarchar(255) ,SajatosNevelesu char(1) ,TanuloCsoportId int ,BelepesDatum datetime ,KilepesDatum datetime ,Agazat nvarchar(250) ,AgazatIdegenNyelven nvarchar(250) ,Szakkepesites nvarchar(250) ,SzakkepesitesIdegenNyelven nvarchar(250) ,ReszSzakkepesites nvarchar(250) ,ReszSzakkepesitesIdegenNyelven nvarchar(250) ,SzakmaCsoport nvarchar(250) ,SzakmaCsoportIdegenNyelven nvarchar(250) ,EvfolyamTipus INT ,OsztalyId INT ,EvfolyamTipusaIdegenNyelven nvarchar(250) ) --Tanuló adatok INSERT INTO #TanuloAdatok ( TanuloId ,Azonosito ,Nev ,TanuloNevElotag ,TanuloNevVezeteknev ,TanuloNevUtonev ,SzuletesiDatum ,SzuletesiDatumPlain ,SzuletesiHely ,Allampolgarsag ,AllampolgarsagIdegenNyelven ,AnyjaNeve ,AnyjaNeveIdegenNyelven ,SzuletesiOrszag ,SzuletesiOrszagIdegenNyelven ,TorzslapSzam ,GondviseloNeve ,GondviseloNevIdegenNyelven ,NaploSorszam ,Nev2 ,SajatosNevelesu ,TanuloCsoportId ,BelepesDatum ,KilepesDatum ,Agazat ,AgazatIdegenNyelven ,Szakkepesites ,SzakkepesitesIdegenNyelven ,ReszSzakkepesites ,ReszSzakkepesitesIdegenNyelven ,SzakmaCsoport ,SzakmaCsoportIdegenNyelven ,EvfolyamTipus ,OsztalyId ,EvfolyamTipusaIdegenNyelven ) SELECT-- DISTINCT felhasznalo.ID AS TanuloId ,felhasznalo.C_OKTATASIAZONOSITO AS Azonosito ,IIF(@nyomtatvanyNyelvEnum = 0, felhasznalo.C_NYOMTATASINEV, felhasznalo.C_UTONEV + ' ' + felhasznalo.C_VEZETEKNEV) AS Nev ,felhasznalo.C_ELOTAG AS TanuloNevElotag ,felhasznalo.C_VEZETEKNEV AS TanuloNevVezeteknev ,felhasznalo.C_UTONEV AS TanuloNevUtonev ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM), FORMAT(felhasznalo.C_SZULETESIDATUM, 'dd. MM. yyyy')) AS SzuletesiDatum ,felhasznalo.C_SZULETESIDATUM AS SzuletesiDatumPlain ,felhasznalo.C_SZULETESIHELY AS SzuletesiHely ,IIF(@nyomtatvanyNyelvEnum = 0, LOWER(allampolgarsag.C_NAME), dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_ALLAMPOLGARSAGA, @tanevId)) AS Allampolgarsag ,LOWER(allampolgarsagIdegenNyelv.C_NAME) AS AllampolgarsagIdegenNyelven ,IIF(@nyomtatvanyNyelvEnum = 0, C_ANYJANEVE, LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1))) AS AnyjaNeve ,LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1)) AnyjaNeveIdegenNyelven ,IIF(@nyomtatvanyNyelvEnum = 0, szorszag.C_NAME, dbo.fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, felhasznalo.C_SZULETESIORSZAG, @tanevId)) AS SzuletesiOrszag ,szorszagIdegenNyelv.C_NAME AS SzuletesiOrszagIdegenNyelven ,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam ,gondviselo.Gondviselok AS GondviseloNeve ,gondviseloIdegenNyelven.Gondviselok AS GondviseloNevIdegenNyelven ,OsztalyTanuloi.NaploSorszam AS NaploSorszam ,felhasznalo.C_NYOMTATASINEV AS Nev2 ,Tanulo.C_SAJATOSNEVELESU AS SajatosNevelesu ,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId ,OsztalyTanuloi.BelepesDatum AS BelepesDatum ,OsztalyTanuloi.KilepesDatum AS KilepesDatum ,OsztalyTanuloi.Agazat AS Agazat ,OsztalyTanuloi.AgazatIdegenNyelven ,OsztalyTanuloi.Szakkepesites AS Szakkepesites ,OsztalyTanuloi.SzakkepesitesIdegenNyelven ,OsztalyTanuloi.ReszSzakkepesites AS ReszSzakkepesites ,OsztalyTanuloi.ReszSzakkepesitesIdegenNyelven ,OsztalyTanuloi.SzakmaCsoport AS SzakmaCsoport ,OsztalyTanuloi.SzakmaCsoportIdegenNyelven ,CASE OsztalyCsoport.C_EVFOLYAMTIPUSA WHEN 7366 THEN ISNULL(tta.C_TANULOEVFOLYAMTIPUSID, (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId AND TOROLT = 'F')) -- Összevont osztálynál a tanulóhoz beírt évfolyamot kell megjeleníteni, ha nincs beállítva, akkor Na-t kell beírni ELSE ISNULL(OsztalyCsoport.C_EVFOLYAMTIPUSA, (SELECT TOP 1 ID FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TYPE = 'EvfolyamTipus' AND ID = 1296 AND C_TANEVID = @tanevId AND TOROLT = 'F')) -- Ha nincs évfolyam beállítva, akkor Na-t kell beírni END AS EvfolyamTipusa ,OsztalyTanuloi.OsztalyId AS OsztalyId ,EvfolyamTipusIdegenNyelv.C_NAME AS EvfolyamTipusaIdegenNyelven /*szakképesítés egyebek....*/ FROM #Student OsztalyTanuloi INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = OsztalyTanuloi.TanuloId INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON OsztalyTanuloi.TanuloId = felhasznalo.ID LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = OsztalyTanuloi.TanuloCsoportId INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsag.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES allampolgarsagIdegenNyelv ON allampolgarsagIdegenNyelv.C_DICTIONARYITEMBASEID = felhasznalo.C_ALLAMPOLGARSAGA AND allampolgarsagIdegenNyelv.C_TANEVID = @tanevId AND allampolgarsagIdegenNyelv.C_NYELVID = @idegenNyelvId AND allampolgarsagIdegenNyelv.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.C_SZULETESIORSZAG AND szorszag.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES szorszagIdegenNyelv ON szorszagIdegenNyelv.C_DICTIONARYITEMBASEID = felhasznalo.C_SZULETESIORSZAG AND szorszagIdegenNyelv.C_TANEVID = @tanevId AND szorszagIdegenNyelv.C_NYELVID = @idegenNyelvId AND szorszagIdegenNyelv.TOROLT = 'F' INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = @osztalyId AND OsztalyCsoport.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipus ON EvfolyamTipus.ID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipus.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES EvfolyamTipusIdegenNyelv ON EvfolyamTipusIdegenNyelv.C_DICTIONARYITEMBASEID = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusIdegenNyelv.C_TANEVID = @tanevId AND EvfolyamTipusIdegenNyelv.C_NYELVID = @idegenNyelvId AND EvfolyamTipusIdegenNyelv.TOROLT = 'F' LEFT JOIN ( SELECT DISTINCT g.TanuloId AS TanuloId ,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + LOWER(d.C_NAME) + N')', N'') + NCHAR(10) FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId WHERE bg.TanuloId = g.TanuloId FOR XML PATH('')) Gondviselok FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g ) gondviselo ON felhasznalo.ID = gondviselo.TanuloId LEFT JOIN ( SELECT DISTINCT g.TanuloId TanuloId ,(SELECT GondviseloNev + IIF(@nyomtatvanyNyelvEnum = 0, N' (' + ISNULL(LOWER(dny.C_NAME), LOWER(d.C_NAME)) + N')', N'') + NCHAR(10) FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') bg INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.RokonsagifokId AND d.C_TANEVID = @tanevId LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny on dny.C_DICTIONARYITEMBASEID = bg.RokonsagifokId AND dny.C_TANEVID = @tanevId AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F' WHERE bg.TanuloId = g.TanuloId FOR XML PATH('')) Gondviselok FROM fnGetDokumentumGondviselok (@osztalyId, @tanevId, 'F', 'T') g ) gondviseloIdegenNyelven on felhasznalo.ID = gondviseloIdegenNyelven.TanuloId WHERE felhasznalo.C_TANEVID = @tanevId AND felhasznalo.TOROLT = 'F' ORDER BY Nev SELECT TanuloId ,Azonosito ,Nev ,TanuloNevElotag ,TanuloNevUtonev ,TanuloNevVezeteknev ,SzuletesiDatum ,SzuletesiHely ,Allampolgarsag ,Anyjaneve ,AnyjaNeveIdegenNyelven ,SzuletesiOrszag ,TorzslapSzam ,GondviseloNeve ,GondviseloNevIdegenNyelven ,NaploSorszam ,Nev2 ,SajatosNevelesu ,TanuloCsoportId ,BelepesDatum ,KilepesDatum ,Szakkepesites ,ReszSzakkepesites ,dict.C_NAME AS C_EVFOLYAMTIPUSA_DNAME ,EvfolyamTipusaIdegenNyelven ,OsztalyId ,SzuletesiDatumPlain ,AllampolgarsagIdegenNyelven ,SzuletesiOrszagIdegenNyelven ,AgazatIdegenNyelven ,SzakkepesitesIdegenNyelven ,ReszSzakkepesitesIdegenNyelven ,SzakmaCsoportIdegenNyelven FROM #TanuloAdatok INNER JOIN T_DICTIONARYITEMBASE_OSSZES dict ON dict.ID = #TanuloAdatok.EvfolyamTipus AND dict.C_TANEVID = @tanevId ORDER BY LEN(TorzslapSzam), TorzslapSzam --Határozat EXEC dbo.uspGetDokumentumTanuloZaradekai @tanevId = @tanevId ,@osztalyId = @osztalyId ,@kellVegzaradek = 1 ,@kellAtsorolasiZaradek = @kellAtsorolasiZaradek ,@idegenNyelvId = @idegenNyelvId --Egyéb bejegyzések SELECT bejegyzes.TanuloId AS TanuloId ,s.TanuloCsoportId AS TanuloCsoportId ,Tartalom AS Bejegyzes ,d.C_NAME AS Tipus_DNAME ,dny.C_NAME AS TipusIdegenNyelven ,IIF(@nyomtatvanyNyelvEnum = 0, dbo.fnGetDokumentumDatumFormatum(bejegyzes.Datum), FORMAT(bejegyzes.Datum, 'dd. MM. yyyy')) AS Datum ,bejegyzes.Datum AS DatumPlain ,BejegyzesIdegenNyelven FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId, @idegenNyelvId) bejegyzes INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F' LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = Tipusa AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F' AND dny.C_TANEVID = @tanevId INNER JOIN #Student s ON s.TanuloId = bejegyzes.TanuloId WHERE Tipusa IN (1545, 1548, 1553) --KRETA-6062 AND BelepesDatum <= Datum AND (KilepesDatum IS NULL OR KilepesDatum >= Datum) ORDER BY Datum -- MULASZTÁSOK CREATE TABLE #Mulasztasok ( TanuloId int ,TanuloCsoportId int ,Igazolt int ,Igazolatlan int ,ElmeletIgazolt int ,ElmeletIgazolatlan int ,GyakorlatIgazolt int ,GyakorlatIgazolatlan int ,ElmeletOsszes int ,GyakorlatOsszes int ,Osszes int ) INSERT INTO #Mulasztasok ( TanuloId ,TanuloCsoportId ,Igazolt ,Igazolatlan ,ElmeletIgazolt ,ElmeletIgazolatlan ,GyakorlatIgazolt ,GyakorlatIgazolatlan ,ElmeletOsszes ,GyakorlatOsszes ,Osszes ) EXEC sp_GetDokumentumMulasztasok @osztalyId = @osztalyId ,@tanevId = @tanevId ,@elmeletiOraPercben = @elmeletiOraPercben ,@gyakorlatiOraPercben = @gyakorlatiOraPercben ,@ertekelesTipus = @ertekelesTipus ,@iskolaErdekuSzamit = @iskolaErdekuSzamit ,@isMuveszetOktatasi = @isMuveszetOktatasi SELECT TanuloTable.TanuloId ,TanuloTable.TanuloCsoportId ,Igazolt ,Igazolatlan ,ElmeletIgazolt ,ElmeletIgazolatlan ,GyakorlatIgazolt ,GyakorlatIgazolatlan ,ElmeletOsszes ,GyakorlatOsszes ,Osszes FROM #Mulasztasok mulasztasok INNER JOIN #Student TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId AND TanuloTable.TanuloCsoportId = mulasztasok.TanuloCsoportId -- ÉRTÉKELÉSEK CREATE TABLE #Ertekelesek ( TanuloId int ,TanuloCsoportId int ,Targy nvarchar(max) ,Jegyzet nvarchar(max) ,Ertekeles nvarchar(max) ,ErtekelesValue int ,ErtekelesJegyzettel nvarchar(max) ,Oraszam float ,RENDEZ1 int ,RENDEZ2 nvarchar(max) ,RENDEZ3 int ,RENDEZ4 int ,RENDEZ5 nvarchar(max) /*nemzetiségi törzslaphoz kell*/ ,ErtekelesTemaIdegenNyelven nvarchar(max) ,ErtekelesSzovegIdegenNyelven nvarchar(max) ,ErtekelesValueIdegenNyelven nvarchar(max) ,ErtekelesOsztalyzatIdegenNyelven nvarchar(max) ,ErtekelesSzazalek nvarchar(max) ,Jeloles nvarchar(max) ,TantargyNevIdegenNyelven nvarchar(max) /**/ ,TantargyId int ) INSERT INTO #Ertekelesek EXEC dbo.uspGetDokumentumErtekelesek @osztalyId = @osztalyId, @tanevId = @tanevId, @ertekelesTipus =@ertekelesTipus, @nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum, @tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa = @isAltantargyBeszamitasa, @isMuveszetOktatasi = @isMuveszetOktatasi, @idegenNyelvId = @idegenNyelvId SELECT TanuloId ,TanuloCsoportId ,Targy ,Jegyzet ,Ertekeles ,ErtekelesValue ,ErtekelesJegyzettel ,Oraszam ,RENDEZ1 RENDEZ ,Rendez1 ,Rendez2 ,Rendez3 ,Rendez4 ,Rendez5 /*nemzetiségi törzslaphoz kell*/ ,ErtekelesTemaIdegenNyelven ,ErtekelesSzovegIdegenNyelven ,ErtekelesValueIdegenNyelven ,ErtekelesOsztalyzatIdegenNyelven ,ErtekelesSzazalek ,Jeloles ,TantargyNevIdegenNyelven /**/ FROM #Ertekelesek ORDER BY Rendez1, Rendez2, Rendez3, Rendez4, Rendez5 --Tanuló lista SELECT Nev ,NaploSorszam ,TorzslapSzam ,dbo.fnGetDokumentumDatumFormatum (KilepesDatum) KilepesDatum ,TanuloId ,OsztalyId FROM #TanuloAdatok ORDER BY Nev --Közösségi szolgálat SELECT DISTINCT OsztalyTanuloi.TanuloId ,OsztalyTanuloi.TanuloCsoportId ,Datum AS Datum ,ISNULL(' - ' + Megjegyzes, '') AS Megjegyzes ,Oraszam ,TeljesitesHelye ,FeljegyzoNeve ,Tipus ,KozossegiSzolgalatId ,IntervallumKezdete ,IntervallumVege ,TipusIdegenNyelven ,MegjegyzesIdegenNyelven ,TeljesitesHelyeIdegenNyelven ,FeljegyzoNevElotag ,FeljegyzoNevVezeteknev ,FeljegyzoNevUtonev FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId, @idegenNyelvId) KozossegiSzolgalat INNER JOIN #Student OsztalyTanuloi ON OsztalyTanuloi.TanuloId = KozossegiSzolgalat.TanuloId WHERE @isKozossegiSzolgalat = 1 /*TODO: javítani...*/ ORDER BY IntervallumKezdete --SNI SELECT s.TanuloId AS TanuloId ,s.TanuloCsoportId AS TanuloCsoportId ,ISNULL(Tanulo.C_SNIKIALLITOINTEZMENY, '') AS SNIKiallitoIntezmeny ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIOKMANYERVENYESSEGKEZDETE) AS SNIKezdete ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_SNIKONTROLLIDOPONT) AS SNIKontrolIdopont ,ISNULL(Tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM + '(Értelmi fogyatékos okmányszám) ', '') +ISNULL(Tanulo.C_LATASSERULTOKMANYSZAM + '(Látássérült okmányszám) ', '') +ISNULL(Tanulo.C_HALLASSERULTOKMANYSZAM + '(Hallássérült okmányszám) ', '') +ISNULL(Tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM + '(Beszédfogyatékos okmányszám) ', '') +ISNULL(Tanulo.C_MOZGASSERULTOKMANYSZAM + '(Mozgáskorlátozott okmányszám) ', '') +ISNULL(Tanulo.C_DISZGRAFIAOKMANYSZAM + '(Diszgráfia okmányszám) ', '') +ISNULL(Tanulo.C_DISZKALKULIAOKMANYSZAM + '(Diszkalkulia okmányszám) ', '') +ISNULL(Tanulo.C_DISZLEXIAOKMANYSZAM + '(Diszlexia okmányszám) ', '') +ISNULL(TANULO.C_VISELKEDESORGANIKUSOKMANYSZA + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '') +ISNULL(TANULO.C_VISELKEDESNEMORGANIKUSOKMANY + '(Viselkedés fejlődésének rendellenessége okmányszám) ', '') +ISNULL(TANULO.C_MEGISMEROORGANIKUSOKMANYSZAM + '(Megismerő funkciók rendellenessége okmányszám) ', '') +ISNULL(TANULO.C_MEGISMERONEMORGANIKUSOKMANYS + '(Megismerő funkciók rendellenessége okmányszám) ', '') AS SNIOkmanyszamok FROM #Student s INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId WHERE Tanulo.C_SAJATOSNEVELESU = 'T' --BTM SELECT s.TanuloId AS TanuloId ,s.TanuloCsoportId AS TanuloCsoportId ,ISNULL(Tanulo.C_BTMKIALLITOINTEZMENY,'') AS BTMKiallitoIntezmeny ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMOKMANYERVENYESSEGKEZDETE) AS BTMKezdete ,dbo.fnGetDokumentumDatumFormatum(Tanulo.C_BTMKONTROLLIDOPONT) AS BTMKontrolIdopont ,ISNULL(Tanulo.C_BTMHATAROZATOKMANYSZAM + '(BTM határozat okmányszáma) ', '') +IIF(Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ ='T', 'Beilleszkedési problémával küzd, ', '') +IIF(Tanulo.C_MAGATARTASIPROBLEMAVALKUZD ='T', 'Magatartási problémával küzd, ', '') +IIF(Tanulo.C_TANULASIPROBLEMAVALKUZD ='T', 'Tanulási problémával küzd - ', '') +IIF(Tanulo.C_TANULASIPROBLEMADISZGRAFIA ='T', 'Diszgráfia, ', '') +IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZK ='T', 'Diszkalkulia, ', '') +IIF(Tanulo.C_TANULASIPROBLEMAVALKUZDDISZL ='T', 'Diszlexia ', '') AS BTMOkmanyszamok FROM #Student s INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId WHERE Tanulo.C_BTMPROBLEMAS = 'T' --Tanuló felmentései SELECT TanuloId ,TanuloCsoportId ,TantargyNevMentessegNelkul ,MentessegOka ,dbo.fnGetDokumentumDatumFormatum(Kezdete) AS Kezdete FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId, @nyomtatvanyNyelvEnum) --Tanuló kzösségi szolgálat feljegyzései SELECT s.TanuloId AS TanuloId ,s.TanuloCsoportId AS TanuloCsoportId ,te.C_TARTALOM AS Bejegyzes ,d.C_NAME AS Tipus_DNAME ,dbo.fnGetDokumentumDatumFormatum(te.C_ROGZITESDATUMA) AS Datum FROM T_TANULO_TANULOESEMENY tte INNER JOIN #Student s ON s.TanuloId = tte.C_TANULOID INNER JOIN T_TANULOESEMENY_OSSZES te on te.ID = tte.C_TANULOESEMENYID AND te.C_TANEVID = @tanevId INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F' WHERE te.TOROLT = 'F' AND te.C_TIPUS = 1546 SELECT Tanulok.TanuloId AS TanuloId ,Tanulok.TanuloCsoportId AS TanuloCsoportId ,C_TELJESITETT AS isTeljesitett ,Osztalyzat.C_VALUE AS Ertekeles ,'[' + C_MEGJEGYZES + ']' AS Megjegyzes ,dbo.fnGetDokumentumDatumFormatum(OsszefuggoSzakGyak.C_TELJESITESDATUM) AS Datum FROM #Student Tanulok INNER JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES OsszefuggoSzakGyak ON OsszefuggoSzakGyak.C_TANULOID = Tanulok.TanuloId AND OsszefuggoSzakGyak.TOROLT = 'F' AND OsszefuggoSzakGyak.C_TANEVID = @tanevid LEFT JOIN T_TANULOERTEKELES_OSSZES Ertekeles ON Ertekeles.C_OSSZEFUGGOSZAKGYAKID = OsszefuggoSzakGyak.ID AND Ertekeles.TOROLT = 'F' AND Ertekeles.C_TANEVID = @tanevid LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Osztalyzat ON Osztalyzat.ID = Ertekeles.C_ERTEKELESOSZTALYZATID AND Osztalyzat.C_TANEVID = Ertekeles.C_TANEVID AND Osztalyzat.C_INTEZMENYID = Ertekeles.C_INTEZMENYID WHERE Tanulok.BelepesDatum <= OsszefuggoSzakGyak.C_TELJESITESDATUM AND (Tanulok.KilepesDatum >= OsszefuggoSzakGyak.C_TELJESITESDATUM OR Tanulok.KilepesDatum IS NULL) IF(@pShowTanuloiAtlag = 1) BEGIN SELECT atlag.TanuloId AS TanuloId ,atlag.TanuloCsoportId AS TanuloCsoportId ,FORMAT(AVG(ErtekelesValue), 'N', 'hu-HU') AS ErtekelesAtlag FROM #Ertekelesek atlag INNER JOIN #Student Tanulok ON Tanulok.TANULOID = atlag.TanuloId AND Tanulok.TanuloCsoportId = atlag.TanuloCsoportId GROUP BY atlag.TanuloId, atlag.TanuloCsoportId END END GO