IF  EXISTS (SELECT * FROM sys.objects 
                     WHERE object_id = OBJECT_ID('Calculo_Estad_Ocupacion') 
                     AND type in ('P'))
                     
DROP Procedure Calculo_Estad_Ocupacion
GO


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

Create PROCEDURE Calculo_Estad_Ocupacion
                 @Desde Datetime ,
			     @Hasta Datetime,
			     @Opcion tinyint,
			     @Resultado int output
				   	    
AS
/* Hecho por : Luis Abarca
	Fecha:22 Agosto 2012
	Detalle: Obtiene la estadistica 
	         de la ocupacion

*/
Begin
Declare @Disponibilidad int,@Bloqueadas int
SET NOCOUNT ON
  
  
  Set @Resultado = 0 
  
  Select @Disponibilidad = Sum(h_capacidad) ,
         @Bloqueadas     = Sum(habfo)     
	From estagene gene
	   Inner Join Estadias dias  on gene.id_dias  = dias.id_dias
	Where DateDiff(day, @Desde, dias.fecha) >= 0 	and 
	      DateDiff(day, @Hasta, dias.fecha) <= 0

If @Opcion = 1 Set @Resultado = @Disponibilidad-@Bloqueadas
If @Opcion = 2 Set @Resultado = @Disponibilidad
If @Opcion = 3 Set @Resultado = @Bloqueadas

Set  @Resultado =  ISnull(@Resultado,0)

Return @Resultado
End








