Hola a todos.
Tenemos el siguiente inconveniente con la interfaz web de guaraní 2.9.1:
En nuestra Unidad Académica se configuraron como es habitual los 3 llamados para el turno de examen de diciembre, pero al momento de consultarlo por la interfaz web, las mesas de exámenes salen desordenadas en cuanto a las fechas para cada mesa. Al parecer ordena por el día de la fecha (Ej.: primero 04/12, antes que 18/11).
Esto se debe a un problema de configuración o de la función de ordenamiento?
Lo ideal en nuestro caso es que, por cada materia se ordene por fecha de examen y tipo de mesa (Libre - Regular)
Espero sus comentarios.
Estoy revisando los archivos php y encuentro que en la clase “Unidad_académica” está la llamada al SP “sp_mesas_examen” que, ejecutándolo por consola, devuelve correctamente ordenada la información. El tema que luego del foreach hay una sección de código con una función “usort” que me hace imaginar que es donde esté el problema de configuración…
Alguien que me pueda orientar mejor para solucionar el problema, se lo agradeceré!!!
Seguí revisando y según me comentan de alumnado, el problema se presenta cuando se consultan las mesas de exámenes antes del ingreso (Usuario Anónimo).
La función entonces es “mesas_examen_usuario_anonimo” en la clase “usuario_anonimo” donde, por lo que entiendo, el SQL ordena por los campos 7 y 9 que serían materia y fecha.
De esta forma entiendo que el problema está en la configuración que toma al intentar ordenar por el campo “to_char(sga_prestamos.fecha, ‘%d/%m/%Y’)”…
Puede ser un problema de código de caracteres?
Hola Javier, yo veo lo siguiente:
Método: mesas_examen_usuario_anonimo
El orden esta definido de la siguiente manera:
ORDER BY 7,9,10
y corresponde a:
7 → nombre de la materia
9 → fecha del examen (sin el formateo con el to_char. Este campo esta en la posicion 11)
10 → hora de inicio del examen
Buen día Alejandro.
Te paso adjunto el archivo que tengo en mi instalación (V2.9.1)
el mismo se encuentra en:
/…/2.9.1/src/siu/modelo/datos/db/usuario_anonimo.php
Tal vez no me esté fijando donde corresponde, pero el Order by del SQL indican otras columnas…
$sql = "SELECT
sga_mesas_examen.unidad_academica as unidad_academica, (1)
sga_mesas_examen.turno_examen as turno_examen, (2)
sga_turnos_examen.nombre as turno_examen_nom, (3)
sga_mesas_examen.mesa_examen as mesa_examen, (4)
sga_mesas_examen.anio_academico as anio_academico, (5)
sga_mesas_examen.materia as materia, (6)
CASE sga_mesas_examen.plan
WHEN NULL THEN sga_materias.nombre
ELSE (SELECT samp.nombre_materia
FROM sga_atrib_mat_plan samp, sga_planes sp
WHERE samp.unidad_academica = sp.unidad_academica
AND samp.carrera = sp.carrera
AND samp.plan = sp.plan
AND samp.version = sp.version_actual
AND samp.unidad_academica = sga_mesas_examen.unidad_academica
AND samp.carrera = sga_mesas_examen.carrera
AND samp.plan = sga_mesas_examen.plan
AND samp.materia = sga_mesas_examen.materia)
END as materia_nombre, (7)
sga_mesas_examen.catedra as catedra, (8)
to_char(sga_prestamos.fecha, '%d/%m/%Y') as fecha_examen, (9)
sga_llamados_mesa.llamado as llamado, (10)
sp_doc_una_mesa(sga_mesas_examen.unidad_academica.... (11)
Si, perdon estaba mirando la version 2.9.2, se ve que fue modificado despues de publicarse la version 2.9.1 y tiene lo siguiente:
CASE …
END as materia_nombre, → 7
sga_mesas_examen.catedra as catedra,
sga_prestamos.fecha as fecha_examen_orden, → 9
sga_prestamos.hora_inicio as hora_inicio_orden, → 10
to_char(sga_prestamos.fecha, ‘%d/%m/%Y’) as fecha_examen,
sga_llamados_mesa.llamado as llamado,
Listo Alejandro. Para nuestro caso puntual, se soluciona ordenando por los campos que tenemos disponibles en versión 2.9.1 (materia, llamado, tipo de mesa… etc.).