FITOMN of AM v3
6/19/2017 - 3:35 PM

BIT/IAM-1792 - Se adiciona el parámetro idPlantel a la consulta de aulas disponibles para filtrar sólo las aulas correspondientes al plantel

BIT/IAM-1792 - Se adiciona el parámetro idPlantel a la consulta de aulas disponibles para filtrar sólo las aulas correspondientes al plantel especificado.


----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('sp_ListarAulasDisponibles', 'P') IS NOT NULL
      DROP PROC sp_ListarAulasDisponibles 
GO

CREATE PROCEDURE [dbo].[sp_ListarAulasDisponibles]
    @iFolioPeriodo BIGINT ,
	@iDia TINYINT ,
	@idHorarioClase SMALLINT ,
	@idAula SMALLINT,
	@idPlantel SMALLINT
/* --------------------------------------------------------------------------------------------------------------
	FECHA	   |    AUTOR		|	DESCRIPCION
 19/Jun/2017   | Luis Bernal	| BIT/IAM-1792 - Se agrega idPlantel como parámetro
--------------------------------------------------------------------------------------------------------------*/
AS
    BEGIN
        SET NOCOUNT ON;

        DECLARE @dfechaInicio DATETIME, @dfechaFin DATETIME
		SELECT @dfechaInicio = CP.dFechaInicial, @dfechaFin = CP.dFechaFinal FROM dbo.Ctrl_Periodos CP WHERE CP.iFolio = @iFolioPeriodo

		
	SELECT DISTINCT	TR.idAula ,
              TR.sAula FROM(SELECT 
			ca.idAula ,
		 cp.sNombre + ' - ' +	ca.sAula AS sAula
		FROM dbo.Cat_Aulas ca
		INNER JOIN dbo.Cat_Planteles AS cp ON ca.idPlantel = cp.idPlantel AND ca.idPlantel = @idPlantel
		WHERE ca.idAula NOT IN (
								SELECT DISTINCT
									cgcd.idAula 
								FROM dbo.Ctrl_GrupoClasesDet cgcd
									INNER JOIN dbo.Cat_HorarioClase chc ON chc.idHorarioClase = cgcd.idHorarioClase
									INNER JOIN dbo.Ctrl_GrupoClases cgc ON cgc.iFolio = cgcd.iFolioGrupoClases
									INNER JOIN dbo.Ctrl_Periodos cp ON cp.iFolio = cgc.iFolioPeriodo
								WHERE cgcd.iDia = @iDia
									AND cgcd.idHorarioClase = @idHorarioClase
									AND (cp.dFechaInicial BETWEEN @dfechaInicio AND @dfechaFin OR cp.dFechaFinal BETWEEN @dfechaInicio AND @dfechaFin)
									)

		UNION ALL

		SELECT 
			ca.idAula ,
			cp.sNombre + ' - ' +	ca.sAula AS sAula
		FROM dbo.Cat_Aulas ca
		INNER JOIN dbo.Cat_Planteles AS cp ON cp.idPlantel = ca.idPlantel AND ca.idPlantel = @idPlantel
		WHERE ca.idAula = @idAula OR(@idAula=-1)) TR

		ORDER BY sAula 


    END