114 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
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
 | 
						|
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 @IsNapirend BIT = 0; --csak órarendi (csengetési rendhez kötött) óra
 | 
						|
	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(@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
 |