SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

Alter PROCEDURE Calculo_Pronostico_Contratos
                 @Contrato nvarchar(20),
	 		     @Fecha_Entrada datetime,
			     @Fecha_Salida datetime,
			     @TipoHab nvarchar(15),
			     @Resultado int output
--			     @respetar_release bit,
--			     @respetar_resumen bit
AS

Begin
Declare @RegInicial int,@RegFinal int,@IdTipoHab int

Create Table #ListaHabit
       (Id int identity (1,1),
        IdTipoHab int )
        
Create Table #TempCalculo
          (Disp int,Cupos int,Ocup int,
           Reserv int,Realease int)

If len(@TipoHab) = 0
Begin

Insert Into #ListaHabit(IdTipoHab)
    Select id_thab From HOTETHAB

Select @RegInicial=MIN(id),@RegFinal=MAX(id) From #ListaHabit

While @RegInicial <= @RegFinal
Begin
   Select @IdTipoHab = idTipoHab From #ListaHabit where Id = @RegInicial
   
   Insert Into #TempCalculo
   Exec GetCalculo_Pronostico_Contratos @Contrato,@IdTipoHab,@Fecha_Entrada,@Fecha_Salida,1,1

Set @RegInicial = @RegInicial + 1
End
End 

If len(@TipoHab) <> 0 
Begin

  Select @IdTipoHab = id_thab From HOTETHAB where tipo_hab = @TipoHab
  
  Insert Into #TempCalculo
  Exec GetCalculo_Pronostico_Contratos @Contrato,@IdTipoHab,@Fecha_Entrada,@Fecha_Salida,1,1

End

--select SUM(Disp) Disp,SUM(Cupos) Cupos,
--       SUM(Ocup) Ocup,SUM(Reserv) Reserv,
--       SUM(Realease) Realease
--       From #TempCalculo

Select @Resultado = SUM(Reserv)
       From #TempCalculo

Return @Resultado

End