DROP PROCEDURE IF EXISTS sp_CheckTanarOra GO CREATE PROCEDURE [dbo].[sp_CheckTanarOra] @tanarId int, @start datetime, @end datetime, @IntezmenyId int, @TanevId int, @oraszam int = null, @isNapirend bit = null AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @CsakOrarendiOrak BIT = 0; --tanórák is DECLARE @IdoszakKezdete DATETIME = CAST(@start AS DATE); DECLARE @IdoszakVege DATETIME = CAST(DATEADD(DAY, 1, @end) AS DATE); CREATE TABLE #OrarendTable ( 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 ,IsEgyediNap char(1) ,TeremTobbOratLehetTartani char(1) ,KozpontiOraGroupId uniqueidentifier NULL ,KozpontilagToroltOraGroupId uniqueidentifier NULL ,INDEX IX01 CLUSTERED (OraTipus, OraKezdete, OraVege) ) INSERT INTO #OrarendTable ( 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,IsEgyediNap,TeremTobbOratLehetTartani,KozpontiOraGroupId,KozpontilagToroltOraGroupId) EXEC sp_GetOrarend @pIntezmenyId = @IntezmenyId ,@pTanevId = @TanevId ,@pIdoszakKezdete = @IdoszakKezdete ,@pIdoszakVege = @IdoszakVege ,@pTanarId = @tanarId ,@pIsHelyettesitesNelkul = 0 ,@pOsztalyCsoportId = NULL ,@pTanuloId = NULL ,@pTantargyId = NULL ,@pTeremId = NULL ,@pCsakOrarendiOrak = @CsakOrarendiOrak ,@pIsNapirend = @isNapirend IF(@isNapirend = 1) BEGIN SELECT ORARENDIID AS C_ORARENDIORAID ,TargyNev ,OsztalyNev ,TanarNev ,TeremNev FROM #OrarendTable WHERE OraTipus = 'OrarendiOra' AND OraKezdete < @end AND OraVege > @start END ELSE IF(@oraszam IS NULL) BEGIN SELECT ORARENDIID AS C_ORARENDIORAID ,TargyNev ,OsztalyNev ,TanarNev ,TeremNev FROM #OrarendTable WHERE OraTipus = 'OrarendiOra' AND OraKezdete = @start AND OraVege = @end END ELSE BEGIN SELECT ORARENDIID AS C_ORARENDIORAID ,TargyNev ,OsztalyNev ,TanarNev ,TeremNev FROM #OrarendTable WHERE OraTipus = 'OrarendiOra' AND Oraszam = @oraszam END END