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 [dbo].[sp_GetTorzslap] @osztalyId int, @tanevId int, @ertekelesTipus int, @kesesTipus int, @elmeletiOraPercben int = 45, @gyakorlatiOraPercben int = 60, @hatarozatTipus int 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 --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.Nev GondviseloNeve, gondviselo.Rokonsag, naploSorszam.Sorszam NaploSorszam 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 T_TANULOCSOPORT_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID WHERE T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID=@osztalyId AND T_FELHASZNALO_OSSZES.C_TANEVID = @tanevId AND T_FELHASZNALO_OSSZES.TOROLT='F' AND T_TANULOCSOPORT_OSSZES.TOROLT='F' AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE()) ) felhasznalo LEFT JOIN (SELECT T_GONDVISELO_OSSZES.C_NEV Gondviselo, T_GONDVISELO_OSSZES.C_ROKONSAGFOKA Rokonsag, T_GONDVISELO_OSSZES.C_TANULOID Id, T_GONDVISELO_OSSZES.C_NEV Nev FROM T_GONDVISELO_OSSZES WHERE T_GONDVISELO_OSSZES.TOROLT='F' ) gondviselo on felhasznalo.ID = gondviselo.ID LEFT JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId = felhasznalo.ID ORDER BY felhasznalo.Nev --Határozat SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID, T_TANULOESEMENY_OSSZES.C_TARTALOM BEJEGYZES FROM T_TANULOESEMENY_OSSZES INNER JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID WHERE TOROLT='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND T_TANULOESEMENY_OSSZES.C_TIPUS = @hatarozatTipus --Egyéb bejegyzések SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID, T_TANULOESEMENY_OSSZES.C_TARTALOM BEJEGYZES, T_TANULOESEMENY_OSSZES.C_TIPUS TIPUS FROM T_TANULOESEMENY_OSSZES INNER JOIN (SELECT C_TANULOID , C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE()) ) TANCSOPORT ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID WHERE TOROLT='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND T_TANULOESEMENY_OSSZES.C_TANEVID = @tanevId AND T_TANULOESEMENY_OSSZES.C_TIPUS != @hatarozatTipus AND T_TANULOESEMENY_OSSZES.C_TIPUS <> 1534 ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID -- 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 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