BIT/IAM-2008 - spCEListarGruposAsignaturasProfesor - Se adiciona JOIN con Ctrl_PlanEstudios y se compara idFormEvaluación de ésta con Ctrl_FormEvaluacion
----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('spCEListarGruposAsignaturasProfesor', 'P') IS NOT NULL
DROP PROC spCEListarGruposAsignaturasProfesor
GO
CREATE PROCEDURE [dbo].[spCEListarGruposAsignaturasProfesor]
@idProfesor INT ,
@dFecha DATETIME
/* --------------------------------------------------------------------------------------------------------------
FECHA | AUTOR | DESCRIPCION
26/jul./2017 | Luis Bernal | BIT/IAM-2008 - Se adiciona JOIN con Ctrl_PlanEstudios y se compara idFormEvaluación de ésta con Ctrl_FormEvaluacion
--------------------------------------------------------------------------------------------------------------*/
AS
BEGIN
SET NOCOUNT ON;
--hugo
SELECT ROW_NUMBER() OVER ( ORDER BY DATOS.sAsignatura , DATOS.iGrado , DATOS.sGrupo , sPlantel , sOferta , sPlanEstudios ) AS iFila ,
DATOS.*
FROM ( SELECT DISTINCT
CGCT.idGrupo ,
CAST(CG.iGrado AS VARCHAR(5)) + '°' AS iGrado ,
CG.sNombre AS sGrupo ,
CGCT.idAsignatura ,
CA.sAsignatura ,
CG.idPlantel ,
cp.sNombre AS sPlantel ,
CG.idPlanEstudios ,
CPE.sNombre + ' ' + CPE.sVersion AS sPlanEstudios ,
CGCT.iFolioPeriodo ,
cp2.sAbPeriodo + ' (' + cp2.sNombreOficial + ')' AS sPeriodo ,
COE.idOfEduc ,
COE.sNombre AS sOferta ,
CGCT.idProfesor ,
cp3.sNombre + ' ' + cp3.sApellidoP + ' '
+ cp3.sApellidoM AS sProfesor ,
cgp.idTitular ,
ce.sNombre + ' ' + ce.sApellidoP + ' '
+ ce.sApellidoM AS sTitular ,
dbo.fnTotalAlumnosGrupo(CGCT.idGrupo,
CGCT.iFolioPeriodo) AS iInscritos ,
CG.iCapacidad
FROM Ctrl_GrupoClaseTentativo CGCT
INNER JOIN Ctrl_Grupos CG ON CGCT.idGrupo = CG.idGrupo
INNER JOIN Cat_PlanEstudios CPE ON CPE.idPlanEstudios = CG.idPlanEstudios
INNER JOIN Cat_OfEduc COE ON COE.idOfEduc = CPE.idOfEduc
INNER JOIN dbo.Ctrl_PlanEstudios AS cpe2 ON cpe2.idAsignatura = CGCT.idAsignatura -- BIT/IAM-2008 - Faltaba JOIN con Ctrl_PlanEstudios
AND cpe2.idPlanEstudios = CPE.idPlanEstudios
INNER JOIN Cat_Asignaturas CA ON CA.idAsignatura = CGCT.idAsignatura
INNER JOIN dbo.Ctrl_FormEvaluacion CFE ON CFE.idFormEvaluacion = ISNULL(cpe2.idFormEvaluacion, CPE.idFormEvaluacion) -- BIT/IAM-2008 - Se compara idFormEvaluacion de Ctrl_PlanEstudios
INNER JOIN dbo.Cat_Planteles cp ON cp.idPlantel = CG.idPlantel
INNER JOIN dbo.Ctrl_Periodos cp2 ON cp2.iFolio = CGCT.iFolioPeriodo
INNER JOIN dbo.Cat_Profesores cp3 ON cp3.idProfesor = CGCT.idProfesor
LEFT JOIN dbo.Ctrl_GruposPeriodos cgp ON cgp.idGrupo = CGCT.idGrupo
AND cgp.iFolioPeriodo = CGCT.iFolioPeriodo
LEFT JOIN dbo.Cat_Empleados ce ON ce.idUsuario = cgp.idTitular
LEFT JOIN dbo.Ctrl_GrupoClaseTentativoCotitulares cgctc ON cgctc.iFolioGrupoClaseTentativo = CGCT.iFolio
WHERE @dFecha BETWEEN dbo.fnModificarHoraFecha(cp2.dFechaInicial,
1, '')
AND dbo.fnModificarHoraFecha(cp2.dFechaFinal,
0, '')
AND ( CGCT.idProfesor = @idProfesor
OR cgctc.idProfesor = @idProfesor
)
) DATOS
WHERE DATOS.iInscritos > 0
;
END;