FITOMN of AM v3
6/16/2017 - 10:00 PM

BIT/IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno - Se adiciona JOIN contra Ctrl_LimiteCapturaCal para delimitar mostrar

BIT/IAM-1758 - sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno - Se adiciona JOIN contra Ctrl_LimiteCapturaCal para delimitar mostrar las calificaciones con respecto a su fecha de publicación configurada

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

CREATE PROCEDURE [dbo].[sp_CE_ListarCalificacionesAsigRubSubRubCompletasAlumno]

--@Variables INT
    @sMatricula VARCHAR(50) ,
    @idAlumno INT ,
    @iFolioInsc BIGINT ,
    @iFolioPeriodo BIGINT ,
    @idOfEduc SMALLINT ,
    @idPlanEstudios SMALLINT,
	@sEvaluacion VARCHAR(50)
/* --------------------------------------------------------------------------------------------------------------
	FECHA	   |    AUTOR		|	DESCRIPCION
 16/Jun/2017   | Luis Bernal	| BIT/IAM-1758 - Se adiciona JOIN contra Ctrl_LimiteCapturaCal para delimitar mostrar las calificaciones con respecto a su fecha de publicación configurada
--------------------------------------------------------------------------------------------------------------*/
AS
    BEGIN
        SET NOCOUNT ON;
        SET LANGUAGE spanish;
        SET DATEFORMAT MDY;
   --CONTENIDO PROCEDIMIENTO
   --ESTE PROCEDIMIENTO LISTA CALIFICACIONES DE ASIGNATURAS DE RUBRICAS Y DE SUBRUBRICAS


		IF	@sEvaluacion='' AND @iFolioPeriodo=-1 AND @idOfEduc=-1 AND @idPlanEstudios=-1

		BEGIN
		DECLARE @sEvaluacionMostrar VARCHAR(50)
DECLARE @iOrden SMALLINT
		DECLARE @diaHoy DATETIME=GETDATE()
		  SELECT  DISTINCT  TOP 1 
                  @sEvaluacionMostrar=      TR.sEvaluacion, @iOrden=TR.iOrdenEval
                         
        FROM    ( SELECT    cp2.sNombre AS sPlantel ,
                            cpe2.sNombre AS sPlanEst ,
                            coe.sNombre AS sOfEduc ,
                            cpe2.sVersion AS sVersionPlanEst ,
                            cp.sNombreOficial AS sPerioco ,
                            cp.sAbPeriodo ,
                            cp.iAnioInicial ,
                            cp.iMesInicial ,
                            cp.iCicloEscolar ,
                            cp.iMesFinal ,
                            cp.iAnioFinal ,
                            ca2.sAsignatura ,
                            cpe.iOrden AS iOrdenAsig ,
                            ISNULL(cca.iOrden, 0) AS iOrdenClasifAsig ,
                            cfe2.sAbreviatura AS sAbEval ,
                            ctad.dCalificacion ,
                            dbo.fnObtenerCalificacionFinalRedondeo(cta.iFolio,
                                                              cfe2.idEvaluacion) AS sCalificacionR ,
                            dbo.fnObtenerCalificacionFinalRedondeoNumerico(cta.iFolio,
                                                              cfe2.idEvaluacion) AS dCalificacionR ,
                            ctad.idEstatus ,
                            cee.sAbreviatura ,
                            ctad.dFechaReg ,
                            ctad.iTipoRegistroCalif ,
                            CASE ctad.iTipoRegistroCalif
                              WHEN 1
                              THEN 'FALTAS SON IGUAL O MAYOR A LAS PERMITIDAS PARA LA EVALUACION'
                              WHEN 2
                              THEN 'FALTAS SUPERAN LAS FALTAS PERMITIDAS Y SE ASIGNA LA CALIFICACION MINIMA'
                              WHEN 3
                              THEN 'EL RESULTADO DE LA VALIDACION FUE ASIGNADO'
                              WHEN 4
                              THEN 'SE ASIGNA CALIFICACION MAXIMA POR QUE EXCENTA'
                              WHEN 5
                              THEN 'EL RESULTADO DE LA FORMULA ES ASIGNADO'
                              WHEN 6 THEN 'ESTATUS REGISTRADO POR PROFESOR'
                              WHEN 7
                              THEN 'NO SE ENCONTRO EL ESTATUS REGISTRADO'
                              WHEN 8
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR'
                              WHEN 9
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MENOR A LA MINIMA CAPTURABLE SE ASIGNA LA CALIFICACION MINIMA'
                              WHEN 10
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MAYOR A LA MAXIMA REGISTRABLE'
                              WHEN 11
                              THEN 'NO SE PUDO GENERAR LA FORMULA O PROMEDIO'
                              WHEN 12
                              THEN 'RESULTADO DE LA FÓRMULA ES MENOS A LA MÍNIMA CAPTURARLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
                              WHEN 13
                              THEN 'RESULTADO DE LA VALIDACIÓN ES MENOS A LA MÍNIMA CAPTURABLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
                            END AS sResultado ,
                            cta.iFolio AS iFolioTrayectoria ,
                            ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
                            ctad.idUsuario ,
                            ctad.sObservaciones ,
                            ctad.bHistorica ,
                            CAST(cg.iGrado AS VARCHAR(2)) + '° ' + cg.sNombre AS sGrupo ,
                            ca.idAlumno ,
                            ca2.idAsignatura ,
                            ci.iFolioPeriodo ,
                            ci.idOfEduc ,
                            cpe.idPlanEstudios ,
                            cg.idGrupo ,
                            ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
                            cgct.iFolio AS iFolioGrupoClases ,
							ISNULL(cfe.iOrden, cfe2.iOrden)  AS iOrdenEval ,
                            fsoeracc.idAspecto ,
                            fsoeracc.idCategoria ,
                            ISNULL(fsoeracc.sCategoria,'') AS sCategoria ,
                            fsoeracc.sIcono ,
                            fsoeracc.sColor ,
                            fsoeracc.sPorcentaje ,
                            fsoeracc.bSubRubrica
                  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
                            OUTER APPLY dbo.fn_SA_ObtenerEstructuraRubricasAsignaturaConCalif(cta.iFolio,
                                                              ISNULL(ctad.idEvaluacion,
                                                              cfe2.idEvaluacion),
                                                              1) AS fsoeracc
                  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 = -1
                                )
                            AND ( ci.idOfEduc = @idOfEduc
                                  OR @idOfEduc = -1
                                )
                            AND ( cta.idPlanEstudios = @idPlanEstudios
                                  OR @idPlanEstudios = -1
                                )
							AND @diaHoy BETWEEN cp.dFechaInicial AND cp.dFechaFinal
                    --AND cta.idAsignatura = 106
                ) TR
                OUTER APPLY dbo.fnCE_ObtnerCalificacionRubrica(TR.iFolioTrayectoria,
                                                              TR.idAspecto,
                                                              TR.idCategoria,
                                                              TR.idEvaluacion,
                                                              TR.bSubRubrica)
                AS fcocr
				WHERE (TR.sEvaluacion=@sEvaluacion OR @sEvaluacion='') 
				GROUP BY TR.iOrdenEval,TR.sEvaluacion
        ORDER BY TR.iOrdenEval
		
		   SELECT TR.sPlantel ,
                            TR.sPlanEst ,
                            TR.sOfEduc ,
                            TR.sVersionPlanEst ,
                            TR.sPerioco ,
                            TR.sAbPeriodo ,
                            TR.iAnioInicial ,
                            TR.iMesInicial ,
                            TR.iCicloEscolar ,
                            TR.iMesFinal ,
                            TR.iAnioFinal ,
                            TR.sAsignatura ,
                            TR.iOrdenAsig ,
                            TR.iOrdenClasifAsig ,
                            TR.sAbEval ,
                            TR.dCalificacion ,
                            ISNULL(TR.sCalificacionR,'') AS sCalificacionR ,
                            TR.dCalificacionR ,
                            TR.idEstatus ,
                            TR.sAbreviatura ,
                            TR.dFechaReg ,
                            TR.iTipoRegistroCalif ,
                            TR.sResultado ,
                            TR.iFolioTrayectoria ,
                            TR.idEvaluacion ,
                            TR.idUsuario ,
                            TR.sObservaciones ,
                            TR.bHistorica ,
                            TR.sGrupo ,
                            TR.idAlumno ,
                            TR.idAsignatura ,
                            TR.iFolioPeriodo ,
                            TR.idOfEduc ,
                            TR.idPlanEstudios ,
                            TR.idGrupo ,
                            TR.sEvaluacion ,
                          ISNULL(TR.iFolioGrupoClases,0) AS iFolioGrupoClases ,
							TR.iOrdenEval ,
                            ISNULL(TR.idAspecto,0) AS  idAspecto,
                            TR.idCategoria ,
                            TR.sCategoria ,
                            TR.sIcono ,
                            TR.sColor ,
                            ISNULL(TR.sPorcentaje,'') AS sPorcentaje ,
                            TR.bSubRubrica,
							ISNULL(fcocr.sCalificacionR,'') AS sCalificacionRub,
							fcocr.dCalificacionR AS dCalificacionRub
        FROM    ( SELECT    cp2.sNombre AS sPlantel ,
                            cpe2.sNombre AS sPlanEst ,
                            coe.sNombre AS sOfEduc ,
                            cpe2.sVersion AS sVersionPlanEst ,
                            cp.sNombreOficial AS sPerioco ,
                            cp.sAbPeriodo ,
                            cp.iAnioInicial ,
                            cp.iMesInicial ,
                            cp.iCicloEscolar ,
                            cp.iMesFinal ,
                            cp.iAnioFinal ,
                            ca2.sAsignatura ,
                            cpe.iOrden AS iOrdenAsig ,
                            ISNULL(cca.iOrden, 0) AS iOrdenClasifAsig ,
                            cfe2.sAbreviatura AS sAbEval ,
                            ctad.dCalificacion ,
                            dbo.fnObtenerCalificacionFinalRedondeo(cta.iFolio,
                                                              cfe2.idEvaluacion) AS sCalificacionR ,
                            dbo.fnObtenerCalificacionFinalRedondeoNumerico(cta.iFolio,
                                                              cfe2.idEvaluacion) AS dCalificacionR ,
                            ctad.idEstatus ,
                            cee.sAbreviatura ,
                            ctad.dFechaReg ,
                            ctad.iTipoRegistroCalif ,
                            CASE ctad.iTipoRegistroCalif
                              WHEN 1
                              THEN 'FALTAS SON IGUAL O MAYOR A LAS PERMITIDAS PARA LA EVALUACION'
                              WHEN 2
                              THEN 'FALTAS SUPERAN LAS FALTAS PERMITIDAS Y SE ASIGNA LA CALIFICACION MINIMA'
                              WHEN 3
                              THEN 'EL RESULTADO DE LA VALIDACION FUE ASIGNADO'
                              WHEN 4
                              THEN 'SE ASIGNA CALIFICACION MAXIMA POR QUE EXCENTA'
                              WHEN 5
                              THEN 'EL RESULTADO DE LA FORMULA ES ASIGNADO'
                              WHEN 6 THEN 'ESTATUS REGISTRADO POR PROFESOR'
                              WHEN 7
                              THEN 'NO SE ENCONTRO EL ESTATUS REGISTRADO'
                              WHEN 8
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR'
                              WHEN 9
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MENOR A LA MINIMA CAPTURABLE SE ASIGNA LA CALIFICACION MINIMA'
                              WHEN 10
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MAYOR A LA MAXIMA REGISTRABLE'
                              WHEN 11
                              THEN 'NO SE PUDO GENERAR LA FORMULA O PROMEDIO'
                              WHEN 12
                              THEN 'RESULTADO DE LA FÓRMULA ES MENOS A LA MÍNIMA CAPTURARLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
                              WHEN 13
                              THEN 'RESULTADO DE LA VALIDACIÓN ES MENOS A LA MÍNIMA CAPTURABLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
                            END AS sResultado ,
                            cta.iFolio AS iFolioTrayectoria ,
                            ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
                            ctad.idUsuario ,
                            ctad.sObservaciones ,
                            ctad.bHistorica ,
                            CAST(cg.iGrado AS VARCHAR(2)) + '° ' + cg.sNombre AS sGrupo ,
                            ca.idAlumno ,
                            ca2.idAsignatura ,
                            ci.iFolioPeriodo ,
                            ci.idOfEduc ,
                            cpe.idPlanEstudios ,
                            cg.idGrupo ,
                            ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
                            cgct.iFolio AS iFolioGrupoClases ,
							ISNULL(cfe.iOrden, cfe2.iOrden)  AS iOrdenEval ,
                            fsoeracc.idAspecto ,
                            fsoeracc.idCategoria ,
                            ISNULL(fsoeracc.sCategoria,'') AS sCategoria ,
                            fsoeracc.sIcono ,
                            fsoeracc.sColor ,
                            fsoeracc.sPorcentaje ,
                            fsoeracc.bSubRubrica
                  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
                            OUTER APPLY dbo.fn_SA_ObtenerEstructuraRubricasAsignaturaConCalif(cta.iFolio,
                                                              ISNULL(ctad.idEvaluacion,
                                                              cfe2.idEvaluacion),
                                                              1) AS fsoeracc
                  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 = -1
                                )
                            AND ( ci.idOfEduc = @idOfEduc
                                  OR @idOfEduc = -1
                                )
                            AND ( cta.idPlanEstudios = @idPlanEstudios
                                  OR @idPlanEstudios = -1
                                )
						AND @diaHoy BETWEEN cp.dFechaInicial AND cp.dFechaFinal
                    --AND cta.idAsignatura = 106
                ) TR
                OUTER APPLY dbo.fnCE_ObtnerCalificacionRubrica(TR.iFolioTrayectoria,
                                                              TR.idAspecto,
                                                              TR.idCategoria,
                                                              TR.idEvaluacion,
                                                              TR.bSubRubrica)
                AS fcocr
				WHERE (TR.sEvaluacion=@sEvaluacionMostrar) 
        ORDER BY TR.sEvaluacion,TR.sPlantel ,
                TR.sOfEduc ,
                TR.iAnioInicial ,
                TR.iMesInicial ,
                TR.iCicloEscolar ,
                TR.iOrdenClasifAsig ,
                TR.iOrdenAsig ,
				TR.iOrdenEval;
		END 
		ELSE
   
   BEGIN
   
        SELECT  TR.sPlantel ,
                            TR.sPlanEst ,
                            TR.sOfEduc ,
                            TR.sVersionPlanEst ,
                            TR.sPerioco ,
                            TR.sAbPeriodo ,
                            TR.iAnioInicial ,
                            TR.iMesInicial ,
                            TR.iCicloEscolar ,
                            TR.iMesFinal ,
                            TR.iAnioFinal ,
                            TR.sAsignatura ,
                            TR.iOrdenAsig ,
                            TR.iOrdenClasifAsig ,
                            TR.sAbEval ,
                            TR.dCalificacion ,
                            ISNULL(TR.sCalificacionR,'') AS sCalificacionR ,
                            TR.dCalificacionR ,
                            TR.idEstatus ,
                            TR.sAbreviatura ,
                            TR.dFechaReg ,
                            TR.iTipoRegistroCalif ,
                            TR.sResultado ,
                            TR.iFolioTrayectoria ,
                            TR.idEvaluacion ,
                            TR.idUsuario ,
                            TR.sObservaciones ,
                            TR.bHistorica ,
                            TR.sGrupo ,
                            TR.idAlumno ,
                            TR.idAsignatura ,
                            TR.iFolioPeriodo ,
                            TR.idOfEduc ,
                            TR.idPlanEstudios ,
                            TR.idGrupo ,
                            TR.sEvaluacion ,
                          ISNULL(TR.iFolioGrupoClases,0) AS iFolioGrupoClases ,
							TR.iOrdenEval ,
                            ISNULL(TR.idAspecto,0) AS  idAspecto,
                            TR.idCategoria ,
                            TR.sCategoria ,
                            TR.sIcono ,
                            TR.sColor ,
                            ISNULL(TR.sPorcentaje,'') AS sPorcentaje ,
                            TR.bSubRubrica,
							ISNULL(fcocr.sCalificacionR,'') AS sCalificacionRub,
							fcocr.dCalificacionR AS dCalificacionRub
        FROM    ( SELECT    cp2.sNombre AS sPlantel ,
                            cpe2.sNombre AS sPlanEst ,
                            coe.sNombre AS sOfEduc ,
                            cpe2.sVersion AS sVersionPlanEst ,
                            cp.sNombreOficial AS sPerioco ,
                            cp.sAbPeriodo ,
                            cp.iAnioInicial ,
                            cp.iMesInicial ,
                            cp.iCicloEscolar ,
                            cp.iMesFinal ,
                            cp.iAnioFinal ,
                            ca2.sAsignatura ,
                            cpe.iOrden AS iOrdenAsig ,
                            ISNULL(cca.iOrden, 0) AS iOrdenClasifAsig ,
                            cfe2.sAbreviatura AS sAbEval ,
                            ctad.dCalificacion ,
                            dbo.fnObtenerCalificacionFinalRedondeo(cta.iFolio,
                                                              cfe2.idEvaluacion) AS sCalificacionR ,
                            dbo.fnObtenerCalificacionFinalRedondeoNumerico(cta.iFolio,
                                                              cfe2.idEvaluacion) AS dCalificacionR ,
                            ctad.idEstatus ,
                            cee.sAbreviatura ,
                            ctad.dFechaReg ,
                            ctad.iTipoRegistroCalif ,
                            CASE ctad.iTipoRegistroCalif
                              WHEN 1
                              THEN 'FALTAS SON IGUAL O MAYOR A LAS PERMITIDAS PARA LA EVALUACION'
                              WHEN 2
                              THEN 'FALTAS SUPERAN LAS FALTAS PERMITIDAS Y SE ASIGNA LA CALIFICACION MINIMA'
                              WHEN 3
                              THEN 'EL RESULTADO DE LA VALIDACION FUE ASIGNADO'
                              WHEN 4
                              THEN 'SE ASIGNA CALIFICACION MAXIMA POR QUE EXCENTA'
                              WHEN 5
                              THEN 'EL RESULTADO DE LA FORMULA ES ASIGNADO'
                              WHEN 6 THEN 'ESTATUS REGISTRADO POR PROFESOR'
                              WHEN 7
                              THEN 'NO SE ENCONTRO EL ESTATUS REGISTRADO'
                              WHEN 8
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR'
                              WHEN 9
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MENOR A LA MINIMA CAPTURABLE SE ASIGNA LA CALIFICACION MINIMA'
                              WHEN 10
                              THEN 'CALIFICACION REGISTRADA POR PROFESOR ES MAYOR A LA MAXIMA REGISTRABLE'
                              WHEN 11
                              THEN 'NO SE PUDO GENERAR LA FORMULA O PROMEDIO'
                              WHEN 12
                              THEN 'RESULTADO DE LA FÓRMULA ES MENOS A LA MÍNIMA CAPTURARLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
                              WHEN 13
                              THEN 'RESULTADO DE LA VALIDACIÓN ES MENOS A LA MÍNIMA CAPTURABLE, SE ASIGNA LA CALIFICACIÓN MÍNIMA'
                            END AS sResultado ,
                            cta.iFolio AS iFolioTrayectoria ,
                            ISNULL(ctad.idEvaluacion, cfe2.idEvaluacion) AS idEvaluacion ,
                            ctad.idUsuario ,
                            ctad.sObservaciones ,
                            ctad.bHistorica ,
                            CAST(cg.iGrado AS VARCHAR(2)) + '° ' + cg.sNombre AS sGrupo ,
                            ca.idAlumno ,
                            ca2.idAsignatura ,
                            ci.iFolioPeriodo ,
                            ci.idOfEduc ,
                            cpe.idPlanEstudios ,
                            cg.idGrupo ,
                            ISNULL(cfe.sNombre, cfe2.sNombre) AS sEvaluacion ,
                            cgct.iFolio AS iFolioGrupoClases ,
							ISNULL(cfe.iOrden, cfe2.iOrden)  AS iOrdenEval ,
                            fsoeracc.idAspecto ,
                            fsoeracc.idCategoria ,
                            ISNULL(fsoeracc.sCategoria,'') AS sCategoria ,
                            fsoeracc.sIcono ,
                            fsoeracc.sColor ,
                            fsoeracc.sPorcentaje ,
                            fsoeracc.bSubRubrica
                  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 = cta.idPlanEstudios
																		   AND clcc.idPlantel = ci.idPlantel
																		   AND clcc.iFolioPeriodo = ci.iFolioPeriodo
																		   AND clcc.iGrado = cg.iGrado
                            OUTER APPLY dbo.fn_SA_ObtenerEstructuraRubricasAsignaturaConCalif(cta.iFolio,
                                                              ISNULL(ctad.idEvaluacion,
                                                              cfe2.idEvaluacion),
                                                              1) AS fsoeracc
                  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 ( GETDATE() >= clcc.dFechaPublicacion
								  OR clcc.dFechaPublicacion IS NULL
								)

                    --AND cta.idAsignatura = 106
                ) TR
                OUTER APPLY dbo.fnCE_ObtnerCalificacionRubrica(TR.iFolioTrayectoria,
                                                              TR.idAspecto,
                                                              TR.idCategoria,
                                                              TR.idEvaluacion,
                                                              TR.bSubRubrica)
                AS fcocr
				WHERE (TR.sEvaluacion=@sEvaluacion OR @sEvaluacion='') 
        ORDER BY TR.sPlantel ,
                TR.sOfEduc ,
				TR.sEvaluacion,
                TR.iAnioInicial ,
                TR.iMesInicial ,
                TR.iCicloEscolar ,
                TR.iOrdenClasifAsig ,
                TR.iOrdenAsig ,
				TR.iOrdenEval;

				END
				                
    END;