Hola, buenos días. Tenemos una alumna en Abogacía que quiere inscribirse en procuración. Nos tira el error “Error insertando el requisito para la estudiante …”
Revisamos y tiene los requisitos de ingreso de Abogacía ya presentados:
Ejecutamos la consulta para ver los requisitos que pide en procuración (para ver si hay repetidos):
SELECT * FROM sga_requisitos_ingreso_aplanado, sga_requisitos_ingreso LEFT JOIN sga_requisitos_presentados ON sga_requisitos_ingreso.requisito = sga_requisitos_presentados.requisito AND sga_requisitos_presentados.persona = ‘67423’ AND sga_requisitos_presentados.fecha_presentacion = ( SELECT MAX(rp.fecha_presentacion) FROM sga_requisitos_presentados as rp WHERE rp.requisito = sga_requisitos_ingreso.requisito AND rp.persona = ‘67423’) LEFT JOIN sga_requisitos_ingreso_excep ON sga_requisitos_ingreso.requisito = sga_requisitos_ingreso_excep.requisito AND sga_requisitos_ingreso_excep.periodo_inscripcion = ‘1851’ LEFT JOIN sga_requisitos_digitales ON sga_requisitos_ingreso.requisito = sga_requisitos_digitales.requisito AND sga_requisitos_digitales.persona = ‘67423’, sga_requisitos, sga_requisitos_tipos, sga_periodos_inscripcion_propuesta WHERE sga_requisitos_ingreso_aplanado.requisito_propuesta = sga_requisitos_ingreso.requisito_propuesta AND sga_requisitos_ingreso.requisito = sga_requisitos.requisito AND sga_requisitos.requisito_tipo = sga_requisitos_tipos.requisito_tipo AND sga_requisitos_ingreso_aplanado.plan_version = ‘136’ AND sga_periodos_inscripcion_propuesta.periodo_inscripcion = ‘6568’;
Es posible que esta alumna haya sido migrada desde G2?
Lo que puede estar sucediendo es que haya quedado guardada dos fechas de presentación para el mismo requisito.
Te paso esta consulta, para ver si tienen requisitos de ingreso que lo tienen definido mas de una vez para la misma propuesta. Fijate si devuelve registros esta query y si devuelve si es la version del plan de estudios en donde esta pre-inscripto ese alumno:
SET search_path = negocio;
SELECT p.propuesta_nombre, p.plan_codigo, p.plan_version, r.requisito, r.nombre, ri.restrictivo, count()
FROM sga_requisitos_ingreso as ri
JOIN sga_requisitos as r on r.requisito = ri.requisito
JOIN sga_requisitos_ingreso_aplanado as ra on ra.requisito_propuesta = ri.requisito_propuesta
JOIN vw_planes as p ON p.plan_version = ra.plan_version
GROUP BY 1,2,3,4,5,6
HAVING COUNT()> 1
ORDER BY 1,2,3,4,5,6;
Te paso los logs, estos son de un clon que tenemos para realizar pruebas, pero tira el mismo error en producción. La consulta que me pasaste no tira resultados. La estudiante no creemos que sea de G2 ya que en el 2024 económicas ya venia trabajando desde el 2020.
Antes que nada vean de intentar actualizar de versión en cuanto puedan, ya que se encuentran en una versión bastante vieja.
Viendo los logs se ve que hay un problema con el requisito 1042, pareciera que quiere aplicarlo dos veces.
Pueden identificar de qué requisito se trata? Vean con un usuario sin perfil de datos que no esté definido dos veces como requisito de ingreso.
Utilizan requisitos digitales?
Si es así vean por favor si la siguiente consulta devuelve registros:
SELECT persona, requisito, count(*) FROM sga_requisitos_digitales GROUP BY persona, requisito HAVING COUNT(*) > 1;
Si, estamos viendo de pasar a la versión más nueva. Estoy armando un docker compose para migrar todo (ya que tengo guarani, g3w, kolla y preinscripción), por eso me va a llevar algo de tiempo (lo decidimos realizar de esta forma porque ahora esta en un debian viejo y se nos complico actualizarlo).
Si son requisitos digitales, ahí te paso la consulta.
Estamos viendo el tema con el equipo técnico.
Ya que en los resultados de la consulta que nos envían se ve que hay tres personas que para este requisito 1042 tienen más de un archivo digital asociado.
Les pedí que armen una consulta para que puedan recuperar estos documentos y eliminar el que no corresponda.
En cuanto esté lista se las pasamos.
De casualidad ustedes armaron alguna personalización para permitir cargar más de un archivo por requisito de ingreso?
Hola Martin. Existen requisitos digitales repetidos pero muchos son de antes de las migraciones de G2.
SELECT s1., s2. FROM sga_requisitos_presentados s1, sga_requisitos_presentados s2 WHERE s1.requisito_digital IS NOT NULL AND s1.requisito_presentado<s2.requisito_presentado AND s1.requisito=s2.requisito AND s1.persona=s2.persona ORDER BY s1.persona, s1.requisito;
Igualmente para este caso eliminamos lo repetidos de la persona (dejamos los más nuevos) e igual sigue tirando el error. Lo realizamos en una replica que tenemos para hacer pruebas.
Bien, de acuerdo! No es un tema del formato entonces.
Podrían enviarnos los logs que se generan ahora al momento del error? (para ver si cambió algo luego de que borraron los repetidos)
Y también volver a correr esta consulta:
SELECT persona, requisito, count(*) FROM sga_requisitos_digitales GROUP BY persona, requisito HAVING COUNT(*) > 1;
Así vemos si cambió algo. Ya que en el log original el error de llave duplicada es justamente por requisitos repetidos, que se debería solucionar con lo que realizaron. Queremos ver si ahora se arroja algún otro error.
También pueden enviar una captura de pantalla de la solapa de requisitos de ingreso de la ficha del alumno?
Fijate si hay algún requisito que este registrado como presentado mas de una vez en la misma fecha.
Hola Martin, ahí funciono, nos dimos cuenta que estábamos borrando los requisitos de otra persona (en el clon). Al borrar los repetidos de la persona y volver a intentar funciono correctamente!.
Mil disculpas . No se que me paso que estaba filtrando con otro id de persona.