﻿DROP PROCEDURE IF EXISTS sp_GetNemNaplozottOrarendiOrak
GO

CREATE PROCEDURE sp_GetNemNaplozottOrarendiOrak
	 @IntezmenyId int
	,@TanevId int
	,@IdoszakKezdete datetime
	,@IdoszakVege datetime
	,@TanarId int = NULL
	,@OsztalyCsoportId int = NULL
	,@TantargyId int = NULL
AS
BEGIN
	SET NOCOUNT ON;

  SET DATEFIRST 1

	DECLARE @CsakOrarendiOrak bit = 0;
	DECLARE @OrarendTable TABLE (
	 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
  )

  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)
	EXEC sp_GetOrarend
     @pIntezmenyId = @IntezmenyId
    ,@pTanevId = @TanevId
    ,@pIdoszakKezdete = @IdoszakKezdete
    ,@pIdoszakVege = @IdoszakVege
    ,@pTanarId = @TanarId
    ,@pIsHelyettesitesNelkul  = 0
    ,@pOsztalyCsoportId  =  @OsztalyCsoportId
    ,@pTanuloId = NULL
    ,@pTantargyId  = @TantargyId
    ,@pTeremId = NULL
    ,@pCsakOrarendiOrak  = @CsakOrarendiOrak
    ,@pIsNapirend = NULL

  SELECT DISTINCT
    Id, ORARENDIID, Bontott, Hetirend, HetNapja,HetSorszam, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, CONVERT(date, OraKezdete) as OraKezdeteDate, CONVERT(varchar(5), OraKezdete, 108) as OraKezdeteTimeText, OraVege, IIF(tmp.CsengetesiRendID IS NOT NULL, tmp.Oraszam, NULL) as Oraszam,
    TargyNev, TargyNevForMobile,
    TargykategoriaID, Megtartott, CsengetesiRendOraID, CsengetesiRendID,MaxNapiOraszam, OsztalyNev, MegjelenesOka, TanarNev, TeremNev,
    OraTipus, Hianyzas, Keses, Ures, HelyettesitoTanarID, HelyettesitoTanarNev, HelyettesitesId, TanarID, AdminAltalKiirt, GroupId, Tema, TantargyId,
    OsztCsopId, IIF(tmp.HelyettesitoTanarID IS NOT NULL, tmp.TanarNev, NULL) as HelyettesitettPedagogusNev, CONVERT(nvarchar(25), OraKezdete, 102) as OraKezdeteDateST,
    DATEPART(w, OraKezdete) + 1407 AS HetNapjaValos
	FROM @OrarendTable tmp
	WHERE tmp.OraTipus = 'OrarendiOra'

END
GO
