Reporte de Mesas de Exámenes en 3W (Guaraní 2.9.1)

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.

Javier


error de ordenamiento.png

error de ordenamiento.png

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?

Claro… hace un “to_char” y convierte a cadena…

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)



$filtro_fecha_hasta

      ORDER BY 7, 9";

usuario_anonimo.php.txt (20.9 KB)

… por ahora lo solucioné ordenando por llamado y de paso por tipo de mesa (campos 10 y 12)

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,

                 ORDER BY 7, 9, 10

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.).

Gracias.
Javier