﻿IF OBJECT_ID('sp_GetNemMegtartottOrakSzamaByHet') IS NOT NULL BEGIN
  DROP PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
END
GO

CREATE PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
	@intezmenyId		int,
	@tanevId			int,
	@osztalyId			int,
	@hetSorszam			int
AS
BEGIN

	DECLARE @CsakOrarendiOrak bit = 0;
	DECLARE @IdoszakKezdete datetime;
	DECLARE @IdoszakVege datetime;
	
  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)
    ,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
  )
	
	SELECT
		 @IdoszakKezdete = nh.C_HETKEZDONAPJA
		,@IdoszakVege = nh.C_HETUTOLSONAPJA
	FROM T_NAPTARIHET nh
	WHERE	nh.C_INTEZMENYID = @intezmenyId 
    AND nh.C_TANEVID = @tanevId 
    AND nh.TOROLT = 'F'
		AND nh.C_HETSORSZAMA = @hetSorszam
	
	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,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
	EXEC sp_GetOrarend
     @pIntezmenyId = @IntezmenyId
    ,@pTanevId = @TanevId
    ,@pIdoszakKezdete = @IdoszakKezdete
    ,@pIdoszakVege = @IdoszakVege
    ,@pTanarId = NULL
    ,@pIsHelyettesitesNelkul  = 0
    ,@pOsztalyCsoportId  =  @osztalyId
    ,@pTanuloId = NULL
    ,@pTantargyId  = NULL
    ,@pTeremId = NULL
    ,@pCsakOrarendiOrak  = @CsakOrarendiOrak
    ,@pIsNapirend = NULL      

	SELECT DISTINCT
		 tmp.Id AS Id
		,tmp.HetSorszam AS HetSzama
		,tmp.Datum AS Datum
		,tmp.HetNapja AS HetNapja
		,tmp.Oraszam AS Oraszam
		,tmp.OsztalyNev AS OsztalyNev
		,tmp.TargyNev AS TargyNev
		,ISNULL(tmp.HelyettesitoTanarNev, tmp.TanarNev) AS TanarNev
		,tmp.OraKezdete AS OraKezdete
		,tmp.OraVege AS OraVege
		,tmp.CsengetesiRendID AS CsengetesiRend
	FROM #OrarendTable tmp
	WHERE tmp.OraTipus = 'OrarendiOra'
		AND tmp.HetSorszam = @hetSorszam
		AND tmp.OraVege < GETDATE()
END
GO