Migración de actas de examen

Buenas tardes, tenemos un problema al momento de migrar las actas de examen. Por ejemplo, pasamos las siguientes:

mig_actas_examen:

50012|LT|16|25|2020|Diciembre|Diciembre ID4208P 22/12/2020|ID4208P|22/12/2020||104|A|
50013|LT|16|25|2020|Diciembre|Diciembre ID4107P 22/12/2020|ID4107P|22/12/2020||104|A|
50014|EF|23|25|2020|Diciembre|Diciembre DE1202 22/12/2020|DE1202|22/12/2020||104|A|
50015|LT|16|25|2020|Diciembre|Diciembre DE1202 22/12/2020|DE1202|22/12/2020||104|A|
50016|CS|3|25|2020|Diciembre|Diciembre DE1202 22/12/2020|DE1202|22/12/2020||104|A|
50017|LE|2|25|2020|Diciembre|Diciembre DE1202 22/12/2020|DE1202|22/12/2020||104|A|

mig_actas_examen_detalle:

50012|LE|0|DNI00001|10|9|3||38||||U|38|
50013|CS|0|DNI00001|14|2|3||84||||U|84|
50014|LT|0|DNI00002|9|7|3||197||||U|197|
50015|EF|0|DNI00003|12|13|3||190||||U|190|
50016|LT|0|DNI00004|9|7|3||198||||U|198|
50017|LT|0|DNI00005|9|7|3||199||||U|199|

Al momento de verlas en el sistema en SIU, vemos que no tiene los alumnos cargados a las actas.

Nosotros necesitamos pasarlas en estado abierto y con los alumnos ya cargados, aunque poniendo estado cerrado tampoco quedan cargados.

Espero respuesta, gracias de antemano.

Saludos.

¿Que devuelve las siguientes consultas, para el nro de acta 50012?

SELECT * FROM sga_actas WHERE nro_acta = '50012';

-- Si el acta esta cerrada
SELECT * FROM sga_actas_detalle WHERE id_acta IN (SELECT id_acta FROM sga_actas WHERE nro_acta = '50012');

-- Si el acta esta abierta
SELECT * FROM sga_eval_detalle_examenes WHERE id_acta IN (SELECT id_acta FROM sga_actas WHERE nro_acta = '50012');

Al momento de verlas en el sistema en SIU, vemos que no tiene los alumnos cargados a las actas.
¿Desde que operación estas mirando el acta de examen abierta? Fijate desde la operacion de carga de notas en mesas de examen.

Hola, según entiendo el problema que tenemos es que los registros no se insertan en la tabla sga_eval_detalle_examenes.

Porque el tema es el siguiente, como necesitamos probar la migración de actas abiertas pero actualmente en el sistema original no tenemos ninguna, lo que hicimos fue “duplicar” algunas de las actas y detalles que ya venimos migrando y le modificamos el número y el estado. Creo que no se insertan en sga_eval_detalle_examenes porque tiene un filtro que valida que no haya ya un registro en sga_eval_detalle_examenes con la evaluación y el alumno correspondiente. En estos casos el registro ya existía (sin id de acta) porque se corresponde con el detalle de una evaluación de esas actas cerradas originales que estamos tomando como modelo.

¿Esto es correcto?

Y otra consulta: más allá de este caso de prueba en particular, si nosotros tenemos las notas de las evaluaciones ya insertadas (sin id de acta porque se insertaron cuando se migraron las evaluaciones) y queremos asociarlas mediante la migración a un acta abierta ¿Cómo deberíamos armar ese set de datos?

Saludos.

Porque el tema es el siguiente, como necesitamos probar la migración de actas abiertas pero actualmente en el sistema original no tenemos ninguna, lo que hicimos fue "duplicar" algunas de las actas y detalles que ya venimos migrando y le modificamos el número y el estado. Creo que no se insertan en sga_eval_detalle_examenes porque tiene un filtro que valida que no haya ya un registro en sga_eval_detalle_examenes con la evaluación y el alumno correspondiente. En estos casos el registro ya existía (sin id de acta) porque se corresponde con el detalle de una evaluación de esas actas cerradas originales que estamos tomando como modelo.

¿Esto es correcto?


Es correcto, no puede haber alumnos duplicados para una misma evaluacion en la tabla sga_eval_detalle_examenes
Una “evaluacion” identifica una mesa de examen, evaluaciones de una mesa de examen (oral, escrito), un acta de cursada, un acta de promoción o evaluaciones parciales de una cursada. Estos ultimos en la tabla sga_eval_detalle_cursadas.

Y otra consulta: más allá de este caso de prueba en particular, si nosotros tenemos las notas de las evaluaciones ya insertadas (sin id de acta porque se insertaron cuando se migraron las evaluaciones) y queremos asociarlas mediante la migración a un acta abierta ¿Cómo deberíamos armar ese set de datos?

En el archivo de migracion hice un cambio para que 1ro actualice el id_acta y si no existe el registro que lo inserte.
Por favor reemplaza el archivo (con el nombre original) y volve a probar.


04_migrar_actas_examen_PERSONALIZACION.sql (11.7 KB)

Buen dia, lo reemplaze con el archivo que me pasaron, al momento de correr la migración, el job 04_migrar_actas_examen pasa bien, pero el siguiente no:

2021/11/11 09:31:41 - migrar_actas_examen - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : Ocurrió un error al ejecutar esta entrada de trabajo:
2021/11/11 09:31:41 - migrar_actas_examen - Couldn’t execute SQL: SELECT * FROM ext.mig_actas_examen();
2021/11/11 09:31:41 - migrar_actas_examen -
2021/11/11 09:31:41 - migrar_actas_examen - ERROR: missing FROM-clause entry for table “d”
Where: PL/pgSQL function ext.mig_actas_examen() line 205 at SQL statement

Saludos.

Envio el archivo nuevamente.
Saludos


04_migrar_actas_examen_PERSONALIZACION.sql (11.5 KB)