CREATE PROCEDURE [dbo].[sp_proContarCuartosDisponibles]
      @fechaInicio DATETIME,
      @fechaFin DATETIME,
      @idOp VARCHAR(20),
      @etapa INT,
      @codMaquina INT,
      @modo INT = 1
  AS
  BEGIN
      SET NOCOUNT ON;

      DECLARE @fechaActual DATETIME
      DECLARE @cuartosDisponibles INT
      DECLARE @disponible INT

      SET @fechaActual = DATEADD(MINUTE, 1, @fechaInicio)
      SET @cuartosDisponibles = 0

      WHILE @fechaActual <= @fechaFin
      BEGIN
          DECLARE @resultado TABLE (respuesta INT)
          DELETE FROM @resultado

          INSERT INTO @resultado
          EXEC sp_proDisponible @fechaActual, @idOp, @etapa, @codMaquina, @modo

          SELECT @disponible = ISNULL(respuesta, 0) FROM @resultado

          IF @disponible = 0
          BEGIN
              SET @cuartosDisponibles = @cuartosDisponibles + 1
          END

          SET @fechaActual = DATEADD(MINUTE, 15, @fechaActual)
      END

      SELECT @cuartosDisponibles AS CuartosDisponibles
  END