Hola, comunidad. Planteo un tema que encontré en el requisito de proceso de ausencia en la mesa anterior. Encontré que en mi Facultad no estaba funcionando, por lo que revisé el código y me encontré que en la consulta sql que llama que se encuentra en la función get_llamado_anterior que se encuentra en la clase co_mesas_de_examen , parece faltar algo.
Lo detallo. La consulta original es:
SELECT sga_llamados_turno.llamado
FROM sga_llamados_turno,
sga_turnos_examen,
sga_periodos
WHERE sga_llamados_turno.turno_examen = sga_turnos_examen.turno_examen AND
sga_llamados_turno.periodo = sga_periodos.periodo AND
sga_turnos_examen.turno_tipo = ‘“.turno_de_examen::tipo_normal.”’ AND
sga_periodos.fecha_inicio = ( SELECT MAX(periodos.fecha_inicio)
FROM sga_periodos as periodos
WHERE periodos.fecha_inicio < $periodo_fecha_inicio AND
periodos.periodo <> $periodo);
En la última subconsulta, creo entender que falta una claúsula más para que la máxima fecha que encuentre, sea de un turno de examen tipo normal, tal como la fecha que se busca fuera de la subconsulta. SI esto fuera correcto, la consulta completa en esa función sería:
SELECT sga_llamados_turno.llamado
FROM sga_llamados_turno,
sga_turnos_examen,
sga_periodos
WHERE sga_llamados_turno.turno_examen = sga_turnos_examen.turno_examen AND
sga_llamados_turno.periodo = sga_periodos.periodo AND
sga_turnos_examen.turno_tipo = ‘“.turno_de_examen::tipo_normal.”’ AND
sga_periodos.fecha_inicio = ( SELECT MAX(periodos.fecha_inicio)
FROM sga_periodos as periodos
WHERE periodos.fecha_inicio < $periodo_fecha_inicio AND
periodos.periodo <> $periodo AND
periodo IN (SELECT periodo FROM sga_llamados_turno WHERE turno_examen IN
(SELECT turno_examen FROM sga_turnos_examen WHERE turno_tipo = ‘“.turno_de_examen::tipo_normal.”’)));
En negrita se encuentra lo que agregué en el código. Quisiera saber si alguien más tuvo este problema y por otro lado si sería correcta la corrección.
Como corresponde, al cambio lo realicé extendiendo la clase en la carpeta personalizacion.
Aguardo comentarios al respecto.
Desde ya muchas gracias!!!
Pablo