DROP PROCEDURE IF EXISTS uspGetUtolsoBeNemIrtOrak GO CREATE PROCEDURE uspGetUtolsoBeNemIrtOrak @pIntezmenyId int ,@pTanevId int ,@pTanarId int ,@pDarab int AS BEGIN SET NOCOUNT ON; DECLARE @pIdoszakKezdete datetime ,@pIdoszakVege datetime CREATE TABLE #OrarendiOrak ( Id int ,ORARENDIID int ,Datum datetime ,Bontott char (1) ,Hetirend int ,HetNapja int ,HetSorszam int ,ErvenyessegKezdete datetime ,ErvenyessegVege datetime ,OraKezdete datetime ,OraVege datetime ,Oraszam int ,TargyNev nvarchar (300) ,TargyNevForMobile nvarchar (300) ,TargykategoriaID int ,Megtartott char (1) ,CsengetesiRendOraID int ,CsengetesiRendID int ,MaxNapiOraszam int ,OsztalyNev nvarchar (255) ,TanevRendOsztalyCsoportId int ,MegjelenesOka nvarchar (300) ,TanarNev nvarchar (255) ,TeremNev nvarchar (255) ,TeremId int ,OraTipus nvarchar (200) ,Hianyzas char (1) ,Keses char (1) ,Ures char (1) ,HelyettesitoTanarID int ,HelyettesitoTanarNev nvarchar (255) ,HelyettesitesId int ,TanarID int ,AdminAltalKiirt char (1) ,GroupId int ,Tema nvarchar (max) ,TantargyId int ,OsztCsopId int ,INDEX IX1 CLUSTERED(Datum, HetNapja, Oraszam, TanevRendOsztalyCsoportId, TantargyId, TanarID) ) SELECT @pIdoszakKezdete = tanev.C_ELSOTANITASINAP ,@pIdoszakVege = (CASE WHEN tanev.C_AKTIV = 'T' THEN GETDATE() ELSE tanev.C_UTOLSOTANITASINAP END) FROM T_TANEV_OSSZES tanev WHERE tanev.TOROLT = 'F' AND tanev.ID = @pTanevId AND tanev.C_INTEZMENYID = @pIntezmenyId INSERT INTO #OrarendiOrak ( Id ,ORARENDIID ,Datum ,Bontott ,Hetirend ,HetNapja ,HetSorszam ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile ,TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,CsengetesiRendID ,MaxNapiOraszam ,OsztalyNev ,TanevRendOsztalyCsoportId ,MegjelenesOka ,TanarNev ,TeremNev ,TeremId ,OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,HelyettesitesId ,TanarID ,AdminAltalKiirt ,GroupId ,Tema ,TantargyId ,OsztCsopId ) EXEC sp_GetOrarend @pIntezmenyId = @pIntezmenyId ,@pTanevId = @pTanevId ,@pIdoszakKezdete = @pIdoszakKezdete ,@pIdoszakVege = @pIdoszakVege ,@pTanarId = @pTanarId ,@pIsHelyettesitesNelkul = 0 ,@pOsztalyCsoportId = NULL ,@pTanuloId = NULL ,@pTantargyId = NULL ,@pTeremId = NULL ,@pCsakOrarendiOrak = 0 ,@pIsNapirend = NULL SELECT TOP (@pDarab) orak.Id AS Id ,CONVERT(nvarchar(25), OraKezdete, 102) AS Datum ,IIF(orak.CsengetesiRendID IS NOT NULL, orak.Oraszam, N'-') AS Oraszam ,orak.OsztalyNev AS OsztalyCsoport ,orak.TargyNev AS Tantargy FROM #OrarendiOrak orak WHERE orak.OraTipus = N'OrarendiOra' AND orak.OraKezdete <= @pIdoszakVege AND orak.OraVege >= @pIdoszakKezdete ORDER BY orak.OraKezdete DESC END GO