GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('sp_GetTorzslap') IS NOT NULL BEGIN DROP PROCEDURE sp_GetTorzslap END GO CREATE PROCEDURE sp_GetTorzslap @osztalyId INT, @tanevId INT, @ertekelesTipus INT, @kesesTipus INT, @elmeletiOraPercben INT = 45, @gyakorlatiOraPercben INT = 60, @iskolaErdekuSzamit BIT AS BEGIN SET NOCOUNT ON; --Intézmény, tanév SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve, T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam, T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros, T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime, T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON, T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM, T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod, T_TANEV_OSSZES.C_NEV TANEV 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_TANEV_OSSZES.ID = @tanevId --Osztály, évfolyam SELECT T_OSZTALYCSOPORT_OSSZES.C_NEV, T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA FROM T_OSZTALYCSOPORT_OSSZES WHERE T_OSZTALYCSOPORT_OSSZES.ID = @osztalyId --Osztályhoz tartozó tanulók DECLARE @Tanulok TABLE (TanuloId int) INSERT INTO @Tanulok SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') --Tanuló adatok DECLARE @NaploSorszam TABLE ( TanuloId INT ,Sorszam INT ) INSERT INTO @NaploSorszam EXEC sp_GetDokumentumTanuloNaploSorszam @osztalyId = @osztalyId SELECT felhasznalo.ID TanuloId, felhasznalo.Azonosito, felhasznalo.Nev, felhasznalo.SzuletesiDatum, felhasznalo.SzuletesiHely, felhasznalo.Allampolgarsag, felhasznalo.Anyjaneve, felhasznalo.SzuletesiOrszag, felhasznalo.TorzslapSzam, gondviselo.Gondviselok GondviseloNeve, naploSorszam.Sorszam NaploSorszam, Adatvaltozas.Feljegyzes Adatvaltozas FROM ( SELECT T_FELHASZNALO_OSSZES.ID AS ID, T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO Azonosito, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev, T_FELHASZNALO_OSSZES.C_SZULETESIDATUM SzuletesiDatum, T_FELHASZNALO_OSSZES.C_SZULETESIHELY SzuletesiHely, T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG SzuletesiOrszag, T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag, T_FELHASZNALO_OSSZES.C_ANYJANEVE Anyjaneve, T_FELHASZNALO_OSSZES.C_NYILVANTARTASISZAM TorzslapSzam FROM T_FELHASZNALO_OSSZES INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = T_FELHASZNALO_OSSZES.ID WHERE T_FELHASZNALO_OSSZES.C_TANEVID = @tanevId AND T_FELHASZNALO_OSSZES.TOROLT='F' ) felhasznalo LEFT JOIN ( SELECT DISTINCT g.C_TANULOID TanuloId ,STUFF((SELECT ' , ' + C_NEV + ' (' + d.C_NAME +')' FROM T_GONDVISELO_OSSZES bg INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.C_ROKONSAGFOKA AND d.C_TANEVID = bg.C_TANEVID WHERE bg.C_TANULOID=g.C_TANULOID AND bg.TOROLT = 'F' FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,3,'') Gondviselok FROM T_GONDVISELO_OSSZES g ) gondviselo on felhasznalo.ID = gondviselo.TanuloId LEFT JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId = felhasznalo.ID LEFT JOIN (SELECT DISTINCT hatarozat.TanuloId ,STUFF((SELECT ' | ' + CAST(Tartalom AS VARCHAR(max)) FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) bhatarozat WHERE bhatarozat.TanuloId=hatarozat.TanuloId AND Tipusa = 1545 FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,2,' ') Feljegyzes FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) hatarozat WHERE Tipusa = 1545 --Feljegyzések személyi adatok változásához: ) Adatvaltozas on Adatvaltozas.TanuloId = felhasznalo.ID ORDER BY felhasznalo.Nev --Határozat SELECT DISTINCT C_TANULOID TanuloId ,tcs.C_ZARADEK Bejegyzes FROM T_TANULOCSOPORT_OSSZES tcs WHERE tcs.C_TANULOID IN (SELECT TanuloId from @Tanulok) AND TOROLT = 'F' AND C_ZARADEK IS NOT NULL AND LEN(C_ZARADEK) > 0 AND C_TANEVID = @tanevId AND C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES WHERE TOROLT = 'F') --Egyéb bejegyzések SELECT Tanuloid ,Bejegyzes ,Tipus_DNAME FROM ( SELECT bejegyzes.TanuloId TanuloId ,Tartalom Bejegyzes ,C_NAME Tipus_DNAME ,bejegyzes.Datum Datum FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) bejegyzes INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F' WHERE Tipusa IN (1539, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 5477, 5478, 5478, 5479, 5481, 5480) UNION SELECT s.TanuloId tanuloId , mentesseg.mentessegOka , ISNULL(IIF(mentesseg = '', '', LEFT(mentesseg, LEN(mentesseg)- 1)),' ') + ' (' + mentesseg.tantargyNev +')' , C_KEZDETE FROM @Tanulok s LEFT JOIN (SELECT DISTINCT mentesseg.C_TANULOID tanuloId , IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) tantargyNev , mentesseg.C_MENTESSEGOKA mentessegOka , IIF(mentesseg.C_ERTEKELESMENTESITES = 'T', 'Értékelésmentesség, ', '') + IIF(mentesseg.C_ORAMENTESITES = 'T', 'Óramentesség, ', '') as mentesseg , mentesseg.C_KEZDETE FROM T_TANULOMENTESSEG_OSSZES mentesseg INNER JOIN T_TANTARGY_OSSZES t on t.ID = mentesseg.C_TANTARGYID INNER JOIN @Tanulok s ON s.TanuloId = mentesseg.C_TANULOID WHERE mentesseg.TOROLT='F' AND mentesseg.C_TANEVID = @tanevId ) mentesseg ON s.TanuloId=mentesseg.TANULOID )a ORDER BY Datum -- MULASZTÁSOK DECLARE @Mulasztasok TABLE ( TanuloId INT ,Igazolt INT ,Igazolatlan INT ,ElmeletIgazolt INT ,ElmeletIgazolatlan INT ,GyakorlatIgazolt INT ,GyakorlatIgazolatlan INT ,Osszes INT ) INSERT INTO @Mulasztasok EXEC sp_GetDokumentumMulasztasok @osztalyId = @osztalyId, @tanevId = @tanevId, @elmeletGyakorlat = 0, @kesesTipus = @kesesTipus, @elmeletiOraPercben = @elmeletiOraPercben, @gyakorlatiOraPercben = @gyakorlatiOraPercben, @ertekelesTipus = @ertekelesTipus, @iskolaErdekuSzamit = @iskolaErdekuSzamit SELECT TanuloId ,Igazolt ,Igazolatlan ,ElmeletIgazolt ,ElmeletIgazolatlan ,GyakorlatIgazolt ,GyakorlatIgazolatlan ,Osszes FROM @Mulasztasok -- ÉRTÉKELÉSEK DECLARE @Ertekelesek TABLE ( TanuloId INT ,Targy NVARCHAR(MAX) ,Ertekeles NVARCHAR(MAX) ,Jegyzet NVARCHAR(MAX) ,ErtekelesJegyzettel NVARCHAR(MAX) ,SzovegesErtekeles NVARCHAR(MAX) ,Oraszam INT ,RENDEZ INT ) INSERT INTO @Ertekelesek EXEC sp_GetDokumentumErtekelesek @osztalyId = @osztalyId, @tanevId = @tanevId, @ertekelesTipus = @ertekelesTipus SELECT TanuloId , Targy , Ertekeles , Jegyzet , ErtekelesJegyzettel ,SzovegesErtekeles , Oraszam , RENDEZ FROM @Ertekelesek END GO