FITOMN of AM v3
7/26/2017 - 6:39 PM

BIT/IAM-2008 - spCEListarGruposAsignaturasProfesor - Se adiciona JOIN con Ctrl_PlanEstudios y se compara idFormEvaluación de ésta con Ctrl_F

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;