8-Actas - Error: Cantidad de alumnos en actas de cursada no coninciden

Buenos días, estimados.

Al migrar desde sistemas externos a Guaraní 3.20, los Poscontroles del módulo 8-Actas arrojan la siguiente diferencia:

tabla resultado cant_ext cant_g3
sga_actas_detalle Error: Cantidad de alumnos en actas de cursada no coninciden 40.493,00 40.513,00

El total de registros informados en el archivo mig_acta_cursada_promocion.csv es 40493 (sin el encabezado).

Pero el control arroja 20 registros más en Guaraní.

Hice verificaciones corriendo manualmente la consulta: arroja 20 registros más, que están duplicados.

Revisé el script fx_posctrl_actas.sql, pero no detecto el motivo por el cual esta consulta duplica estos registros:

– Actas de Cursadas en G3
SELECT count(*) INTO cnt_actas_det_g3
FROM ext.mig_acta_cursada_promocion as mig
JOIN vw_comisiones as com ON (
mig.comision_nombre = com.comision_nombre AND
mig.anio_academico = com.anio_academico AND
mig.periodo_lectivo_nombre = com.periodo_lectivo_nombre AND
mig.actividad_codigo = com.elemento_codigo)
JOIN sga_actas ON sga_actas.comision = com.comision
JOIN sga_actas_detalle ON sga_actas_detalle.id_acta = sga_actas.id_acta
JOIN sga_alumnos ON sga_alumnos.alumno = sga_actas_detalle.alumno
JOIN mdp_personas ON mdp_personas.persona = sga_alumnos.persona
JOIN mdp_personas_documentos as pd ON pd.documento = mdp_personas.documento_principal
WHERE mig.origen = ‘R’
AND sga_actas.origen = ‘R’
AND sga_actas.tipo_acta = ‘N’
AND sga_actas.estado = ‘C’
AND pd.tipo_documento = mig.tipo_documento
AND pd.nro_documento = mig.nro_documento;

Por favor, podrán revisarlo, para que el proceso finalice sin reportar errores?

Muchas gracias.

Hay algun alumno que este duplicado en esta consulta?

SELECT a.id_acta, a.nro_acta, sga_actas_detalle.alumno, count(*)
     FROM ext.mig_acta_cursada_promocion as mig
     JOIN vw_comisiones as com ON (
       mig.comision_nombre        = com.comision_nombre AND
        mig.anio_academico         = com.anio_academico AND
        mig.periodo_lectivo_nombre = com.periodo_lectivo_nombre AND
        mig.actividad_codigo       = com.elemento_codigo)
    JOIN sga_actas ON sga_actas.comision  = com.comision      
    JOIN sga_actas_detalle ON sga_actas_detalle.id_acta = sga_actas.id_acta
    JOIN sga_alumnos ON sga_alumnos.alumno = sga_actas_detalle.alumno
    JOIN mdp_personas ON mdp_personas.persona = sga_alumnos.persona
     JOIN mdp_personas_documentos as pd ON pd.documento = mdp_personas.documento_principal
     WHERE mig.origen = 'R'
      AND sga_actas.origen    = 'R'
      AND sga_actas.tipo_acta = 'N'
      AND sga_actas.estado    = 'C'
      AND pd.tipo_documento = mig.tipo_documento
      AND pd.nro_documento  = mig.nro_documento
GROUP BY a.id_acta, a.nro_acta, sga_actas_detalle.alumno
HAVING count(*) > 1

Si, la consulta arroja 20 alumnos duplicados.

Corresponden a alumnos donde se ingresó dobre regularidad (aprobada o reprobada), con igual comisión, año y período, pero distinta fecha.

Ejemplos de registros del archivo mig_acta_cursada_promocion.csv:

R|-1|17/07/2010|500|CURS_1006_2010/07/17|1|4-2-NOCHE-ININF_0|2010|1erCuat|171|0|34170401|6|3||||75|4||101||A||
R|-1|16/07/2010|500|CURS_1006_2010/07/16|1|4-2-NOCHE-ININF_0|2010|1erCuat|171|0|34170401|6|3||||75|4||101||A||

R|-1|07/10/2009|500|CURS_1006_2009/10/07|1|2-1-MAÑ-ING.INF_0|2009|Anual|152|0|34653958|6|3||||0|3||101||R||
R|-1|28/08/2009|500|CURS_1006_2009/08/28|1|2-1-MAÑ-ING.INF_0|2009|Anual|152|0|34653958|6|3||||0|3||101||R||

R|-1|30/11/2009|500|CURS_1006_2009/11/30|1|1-1-MAÑANA-ININ_0|2009|Anual|142|0|34830001|6|3||||75|4||101||A||
R|-1|10/09/2009|500|CURS_1006_2009/09/10|1|1-1-MAÑANA-ININ_0|2009|Anual|142|0|34830001|6|3||||0|3||101||R||

De qué manera se puede solucionar esta diferencia?

tabla resultado cant_ext cant_g3
sga_actas_detalle Error: Cantidad de alumnos en actas de cursada no coninciden 40.493,00 40.513,00

Algo no esta bien en estos registros:
R|-1|17/07/2010|500|CURS_1006_2010/07/17|1|4-2-NOCHE-ININF_0|2010|1erCuat|171|0|34170401|6|3||||75|4||101||A||
R|-1|16/07/2010|500|CURS_1006_2010/07/16|1|4-2-NOCHE-ININF_0|2010|1erCuat|171|0|34170401|6|3||||75|4||101||A||

Quiere decir que en G3 se crearon dos actas de regularidad para la misma comision:
Año academico = 2010
Periodo Lectivo = 1erCuat
Comision = 4-2-NOCHE-ININF_0

Libro 1 = CURS_1006_2010/07/16
Fecha 1 =16/07/2010

Libro 2 = CURS_1006_2010/07/17
Fecha 2 = 17/07/2010
Tomo = 1

Una con fecha 16/07/2010 en un libro y otra con fecha 17/072010 en otro libro.
¿Es correcto eso?

Un alumno no puede estar en una comision en dos actas diferentes. En este caso las actas se crearon por separado porque van a parar a diferentes libros.
Vean de que sean comisiones diferentes.

Ajusté la generación del archivo csv, filtrando los casos con más de un registro de cursada en el mismo año-período-materia-comisión.

De esta manera, no hay diferencia en los totales:

tabla resultado cant_ext cant_g3


sga_actas_detalle Cantidad de alumnos en actas de cursada migradas OK 40.477,00 40.477,00

Muchas gracias!