FITOMN of AM v3
6/12/2017 - 4:33 PM

BIT/IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumnoEvaluaciones se agrega JOIN a Ctrl_LimiteCapturaCal para delimitar los

BIT/IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumnoEvaluaciones se agrega JOIN a Ctrl_LimiteCapturaCal para delimitar los periodos a mostrar en la sección Calificaciones del panel del Tutor


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

CREATE PROCEDURE [dbo].[sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumnoEvaluaciones]

--@Variables INT
    @sMatricula VARCHAR(50) ,
    @idAlumno INT ,
    @iFolioInsc BIGINT ,
    @iFolioPeriodo BIGINT ,
    @idOfEduc SMALLINT ,
    @idPlanEstudios SMALLINT ,
    @sEvaluacion VARCHAR(50)
/* --------------------------------------------------------------------------------------------------------------
	FECHA	   |    AUTOR		|	DESCRIPCION
 12/Jun/2017   | Luis Bernal	| BIT/IAM-1758 - Se agrega join a Ctrl_LimiteCapturaCal
--------------------------------------------------------------------------------------------------------------*/
AS
    BEGIN
        SET NOCOUNT ON;
        SET LANGUAGE spanish;
        SET DATEFORMAT MDY;

        SELECT  TR.sOfEduc ,
                TR.idEvaluacion ,
                TR.idOfEduc ,
                TR.idPlanEstudios ,
                TR.sEvaluacion ,
                ISNULL(TR.iFolioGrupoClases, 0) AS iFolioGrupoClases ,
				TR.iOrdenEval,
				TR.iFolioPeriodo
				--,TR.dFechaPublicacion
        FROM    ( SELECT   
                            coe.sNombre AS sOfEduc ,
                            ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
                            ci.idOfEduc ,
                            cpe.idPlanEstudios ,
                            cg.idGrupo ,
                            ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
                            cgct.iFolio AS iFolioGrupoClases 
							,ISNULL(cfe.iOrden, cfe2.iOrden)  AS iOrdenEval ,
							 ci.iFolioPeriodo 
							--, clcc.dFechaPublicacion
                  FROM      dbo.Ctrl_TrayectoriaAcademica AS cta
                            INNER JOIN dbo.Ctrl_Inscripciones AS ci ON ci.iFolio = cta.iFolioInscripcion
                            INNER JOIN dbo.Cat_Alumnos AS ca ON ca.idAlumno = ci.idAlumno
                            INNER JOIN dbo.Ctrl_Periodos AS cp ON cp.iFolio = ci.iFolioPeriodo
                            INNER JOIN dbo.Cat_Asignaturas AS ca2 ON ca2.idAsignatura = cta.idAsignatura
                            LEFT JOIN dbo.Ctrl_PlanEstudios AS cpe ON cpe.idAsignatura = cta.idAsignatura
                                                                      AND cpe.idPlanEstudios = cta.idPlanEstudios
                            INNER JOIN dbo.Cat_PlanEstudios AS cpe2 ON cpe2.idPlanEstudios = cpe.idPlanEstudios
                            INNER JOIN dbo.Ctrl_FormEvaluacion AS cfe2 ON cfe2.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion, cpe2.idFormEvaluacion)
                            LEFT JOIN dbo.Ctrl_TrayectoriaAcademicaDet AS ctad ON cta.iFolio = ctad.iFolioTrayectoria
                                                                                  AND ctad.idEvaluacion = cfe2.idEvaluacion
                            LEFT JOIN dbo.Cat_EstatusEvaluacion AS cee ON cee.idEstatus = ctad.idEstatus
                            LEFT JOIN dbo.Ctrl_FormEvaluacion AS cfe ON cfe.idEvaluacion = ctad.idEvaluacion
                                                                        AND cfe.idEvaluacion = cfe2.idEvaluacion
                            LEFT JOIN dbo.Ctrl_Grupos AS cg ON cg.idGrupo = cta.idGrupo
                            INNER JOIN dbo.Cat_OfEduc AS coe ON coe.idOfEduc = ci.idOfEduc
                            INNER JOIN dbo.Cat_Planteles AS cp2 ON cp2.idPlantel = ci.idPlantel
                            LEFT JOIN dbo.Cat_FormEvaluacion AS cfe3 ON cfe3.idFormEvaluacion = ISNULL(cpe.idFormEvaluacion, cpe2.idFormEvaluacion)
                            LEFT JOIN dbo.Ctrl_GrupoClaseTentativo AS cgct ON cgct.idAsignatura = cta.idAsignatura
                                                                              AND cgct.idGrupo = cg.idGrupo
                                                                              AND cgct.iFolioPeriodo = cp.iFolio
                            LEFT JOIN dbo.Cat_ClasifAsignaturas AS cca ON cca.idClasificacion = cpe.idClasificacion
							LEFT JOIN dbo.Ctrl_LimiteCapturaCal AS clcc ON clcc.idEvaluacion = cfe2.idEvaluacion 
																		 AND clcc.idPlanEstudios = cpe2.idPlanEstudios 
																		 AND clcc.iFolioPeriodo = cp.iFolio
																		 AND clcc.idPlantel = cp2.idPlantel
																		 AND clcc.iGrado = cg.iGrado
																		 AND GETDATE() >= clcc.dFechaPublicacion
                  WHERE     ( ca.sMatricula = @sMatricula
                              OR @sMatricula = ''
                            )
                            AND ( ca.idAlumno = @idAlumno
                                  OR @idAlumno = 0
                                )
                            AND ( ci.iFolio = @iFolioInsc
                                  OR @iFolioInsc = 0
                                )
                            AND ( ci.iFolioPeriodo = @iFolioPeriodo
                                  OR @iFolioPeriodo = 0
                                )
                            AND ( ci.idOfEduc = @idOfEduc
                                  OR @idOfEduc = 0
                                )
                            AND ( cta.idPlanEstudios = @idPlanEstudios
                                  OR @idPlanEstudios = 0
                                )
							AND ( clcc.dFechaPublicacion IS NOT NULL
								  OR cfe2.sNombre LIKE 'B%'
								)
                    --AND cta.idAsignatura = 106
                ) TR
        WHERE   ( TR.sEvaluacion = @sEvaluacion
                  OR @sEvaluacion = ''
                )
        ORDER BY
                TR.sOfEduc ,
                TR.iOrdenEval;
			END;