FITOMN of AM v3
8/24/2017 - 8:23 PM

CREATE ft2RPT_CES_ObtenerHorarioByGpoPeriodoProfAsignatura - REPORTE SIE Mondragón

CREATE ft2RPT_CES_ObtenerHorarioByGpoPeriodoProfAsignatura - REPORTE SIE Mondragón


----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('ft2RPT_CES_ObtenerHorarioByGpoPeriodoProfAsignatura', 'TF') IS NOT NULL
      DROP FUNCTION ft2RPT_CES_ObtenerHorarioByGpoPeriodoProfAsignatura 
GO

CREATE FUNCTION [dbo].[ft2RPT_CES_ObtenerHorarioByGpoPeriodoProfAsignatura]
(
	@idGrupo SMALLINT,
	@iFolioPeriodo BIGINT,
	@idProfesor INT,
	@idAsignatura SMALLINT,
	@iDia TINYINT
/* --------------------------------------------------------------------------------------------------------------
	FECHA	   |    AUTOR		|	DESCRIPCION
 22/ago./2017  | Luis Bernal	| 
--------------------------------------------------------------------------------------------------------------*/
)
RETURNS @TR TABLE(idHorarioClase		SMALLINT,
				  dHorarioInicio		VARCHAR(50),
				  dHorarioFin			VARCHAR(50),
				  iDia					TINYINT,
				  idAsignatura			INT,
				  sAsignatura			VARCHAR(150),
				  idAula				SMALLINT,
				  sAula					VARCHAR(50),
				  idProfesor			INT,
				  sProfesor				VARCHAR(150),
				  iFolioGrupoClases		BIGINT,
				  dHrInicioCompleta		DATETIME,
				  dHrFinCompleta		DATETIME,
				  idGrupo				SMALLINT,
				  sGrupo				VARCHAR(50),
				  dHorasPago			DECIMAL(3,1)
				  ) 
AS
BEGIN
	INSERT INTO @TR
	        ( idHorarioClase ,
	          dHorarioInicio ,
	          dHorarioFin ,
	          iDia ,
	          idAsignatura ,
	          sAsignatura ,
	          idAula ,
	          sAula ,
	          idProfesor ,
	          sProfesor ,
	          iFolioGrupoClases ,
	          dHrInicioCompleta ,
	          dHrFinCompleta ,
	          idGrupo ,
	          sGrupo,
			  dHorasPago
	        )
	SELECT  chc.idHorarioClase ,
			REPLACE(CAST(CAST(chc.dHoraInicio AS TIME) AS VARCHAR(50)), ':00.0000000', '') AS dHoraInicio,
			REPLACE(CAST(CAST(chc.dHoraFin AS TIME) AS VARCHAR(50)), ':00.0000000', '') AS dHoraFin ,
			cgcd.iDia ,
			ca.idAsignatura ,
			ca.sAsignatura ,
			ca2.idAula ,
			ca2.sAula ,
			cgc.idProfesor ,
			cp.sApellidoP + ' ' + cp.sApellidoM + ' ' + cp.sNombre AS sProfesor ,
			cgcd.iFolioGrupoClases ,
			chc.dHoraInicio ,
			chc.dHoraFin ,
			cg.idGrupo,
			cg.sNombre,
			chc.dHorasPago
	FROM    dbo.Cat_HorarioClase AS chc
			LEFT JOIN dbo.Ctrl_GrupoClasesDet AS cgcd ON cgcd.idHorarioClase = chc.idHorarioClase
			INNER JOIN dbo.Ctrl_GrupoClases AS cgc ON cgc.iFolio = cgcd.iFolioGrupoClases
													  AND cgc.idGrupo = @idGrupo
													  AND cgc.iFolioPeriodo = @iFolioPeriodo
			INNER JOIN dbo.Ctrl_Grupos AS cg ON cg.idGrupo = cgc.idGrupo
			INNER JOIN dbo.Cat_Asignaturas AS ca ON ca.idAsignatura = cgc.idAsignatura
			INNER JOIN dbo.Cat_Profesores AS cp ON cp.idProfesor = cgc.idProfesor
			INNER JOIN dbo.Cat_Aulas AS ca2 ON ca2.idAula = cgcd.idAula
	WHERE   cgc.idProfesor = @idProfesor 
			AND ca.idAsignatura = @idAsignatura
			AND (cgcd.iDia = @iDia OR @iDia = 0)
	ORDER BY chc.dHoraInicio ,
			chc.dHoraFin ,
			iDia
	
	RETURN;

END