Por lo que se ve en las capturas, la barra de progreso comienza a avanzar, por lo que no pareciera ser un tema de permisos sino de performance, el procesamiento lleva demasiado tiempo.
Les pedimos que nos respondan las siguientes consultas para analizar mejor el inconveniente:
Qué versión del sistema están utilizando?
Al seleccionar la propuesta y ubicación están seleccionando muchas propuestas y ubicaciones o es lo mismo si lo hacen para una sola propuesta?
Qué reglas utilizan para el cálculo de la regularidad? Las que ya trae el sistema o reglas propias que desarrollaron?
Realizaron alguna personalización en dicha operación?
Versión 3.21 .3
Probamos primero con varias propuestas y luego de manera individual.
La regla de calculo de regularidad son dos actividades aprobadas.
No hay ninguna personalización realizada.
En el log_ejecucion.txt se puede ver un Stack trace donde se muestra el error
guarani_error: No se encuentra el parámetro: Fecha desde. in /usr/local/proyectos/guarani/php/nucleo/_lib/reglas/regla_nucleo.php:95
Stack trace:
#0 /usr/local/proyectos/guarani/php/nucleo/matriculas/alumnos/vencimiento_regularidad/vencimiento_regularidad_nucleo.php(80): regla_nucleo->set_parametros_asociativos()
#1 /usr/local/proyectos/guarani/php/nucleo/matriculas/regularidad/pro_verificar_regularidad_alumno_nucleo.php(191): vencimiento_regularidad_nucleo::get_requisitos_no_cumplidos()
#2 /usr/local/proyectos/guarani/php/nucleo/_lib/procesos_bk/disparar_proceso.php(16): pro_verificar_regularidad_alumno_nucleo->procesar()
Analizando el problema vemos que deben tener registros en la tabla sga_perdida_regularidad con valores null en la columna fecha_control_desde
Por favor vuelvan a correr el proceso, ni bien vean que se mueve la barra de progreso, aborten el proceso y salgan de la operaión. Luego Revien los logs de la aplicacion (instalacion/i__desarrollo/p__guarani/logs/sistema.log), deben encontrar una query similar a la siguiente:
[NOTICE][guarani] Valor del parámetro 'mat_regularidad_alumno' = 'Alumno' obtenido desde caché.
[DEBUG][guarani] SQL con perfil de datos: SELECT sga_alumnos.persona,
sga_alumnos.alumno,
sga_alumnos.regular,
vw_personas.apellido_nombres,
vw_personas.tipo_nro_documento,
sga_propuestas.propuesta,
'(' || sga_propuestas.codigo || ') ' || sga_propuestas.nombre_abreviado AS propuesta_descr,
sga_alumnos.ubicacion
FROM sga_alumnos
JOIN vw_personas ON sga_alumnos.persona = vw_personas.persona
JOIN sga_propuestas ON sga_alumnos.propuesta = sga_propuestas.propuesta
JOIN sga_propuestas_tipos ON sga_propuestas.propuesta_tipo = sga_propuestas_tipos.propuesta_tipo
JOIN sga_propuestas_aspira ON (sga_alumnos.persona = sga_propuestas_aspira.persona AND sga_alumnos.propuesta = sga_propuestas_aspira.propuesta)
JOIN sga_situacion_aspirante ON sga_propuestas_aspira.situacion_asp = sga_situacion_aspirante.situacion_asp
WHERE sga_alumnos.calidad = 'A' AND
sga_propuestas_tipos.control_regularidad = 'S' AND
sga_situacion_aspirante.resultado_asp IN ('P', 'A') AND
sga_alumnos.propuesta IN ('16') AND
sga_alumnos.ubicacion IN ('2') AND
sga_propuestas_aspira.anio_academico < '2024' AND
(false OR ( sga_alumnos.regular = 'S' AND
NOT EXISTS (SELECT sga_readmisiones.readmision
FROM sga_perdida_regularidad
JOIN sga_readmisiones ON sga_perdida_regularidad.perdida_regularidad = sga_readmisiones.perdida_regularidad
WHERE sga_perdida_regularidad.alumno = sga_alumnos.alumno AND
sga_readmisiones.anio_academico = 2024)) OR ( sga_alumnos.regular = 'S' AND
CURRENT_DATE > (SELECT COALESCE(sga_readmisiones.fecha_vencimiento, CURRENT_DATE)
FROM sga_perdida_regularidad
JOIN sga_readmisiones ON sga_perdida_regularidad.perdida_regularidad = sga_readmisiones.perdida_regularidad
WHERE sga_perdida_regularidad.alumno = sga_alumnos.alumno AND
sga_readmisiones.anio_academico = 2024
ORDER BY sga_readmisiones.fecha_vencimiento
LIMIT 1)) OR sga_alumnos.regular = 'N')
Hola Sergio, lo resolvimos de otra manera, puesto que en este año hemos cambiado de ubicaciones algunas propuestas, por ello la consulta que hice del año 2023 me daba error.
hicimos la consulta general y nos arrojo bien el control.
Muchas gracias por tu seguimiento, y también a Martín Méndez.