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

GO 
CREATE PROCEDURE [sp_GetNemMegtartottOrakSzamaPerHet] 
	@osztalyId			INT, 
	@intezmenyId		INT, 
	@tanevId			INT 
AS
BEGIN
	
	DECLARE @CsakOrarendiOrak BIT = 0;
	DECLARE @IdoszakKezdete DATETIME;
	DECLARE @IdoszakVege DATETIME = GETDATE()
	
  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
	FROM T_NAPTARIHET nh
	WHERE
		nh.C_INTEZMENYID = @intezmenyId AND nh.C_TANEVID = @tanevId AND nh.TOROLT = 'F'
		AND nh.C_HETSORSZAMA = 1
	
	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.HetSorszam AS HetSorszam
		,COUNT(id) AS NemNaplozottOrakSzama
		,@osztalyId AS OsztalyID
	FROM #OrarendTable tmp
	WHERE tmp.OraTipus = 'OrarendiOra'
		AND tmp.OraVege < GETDATE()
	GROUP BY tmp.HetSorszam
	ORDER BY tmp.HetSorszam

END
GO