Error al sincronizar

Estimados, estamos teniendo inconvenientes con la sincronización de aspirantes en una ua.
Adjunto el error que aparece en pantalla.

Las versiones son g3: 3.20 kolla: 4.5.1 tehuelche: 4.2.0

Aclaro que esto surgió luego de la migración de guarani ya que anterior a esto funcionaba sin inconvenientes.

SAludos.


Captura desde 2022-07-28 09-30-05.png

Captura desde 2022-07-28 09-30-05.png

sistema.txt (215 KB)

Hola Carolina, como primera medida te pediría que revises en Tehuelche, que datos censales se trajeron en la primera sincornización de la convocatoria. Vas a necesitar el ID de la convocatoria para ejecutar la siguiente consulta en la base de Tehuelche (reemplazando $ID por el ID de la convocatoria con la que tenés problemas):


SET search_path TO tehuelche;
SELECT  dato_censal,
		campo,
		descripcion
FROM    mgb_convocatoria_dato_censal
		NATURAL JOIN sg_dato_censal
WHERE   mgb_convocatoria_dato_censal.convocatoria = $ID;

El resultado de la consulta deberías compararlo con los datos censales definidos en Guaraní.

El error que se ve en pantalla indica que hay una diferencia entre estos datos censales y necesitamos saber que fue lo que pasó ya que la sincronización inicial te trae todos estos datos. De ahí en más, si el relevamiento entró en vigencia, quedan fijos y no se pueden editar.

Compare y para esa convocatoria los datos son los mismos que los definidos en el relevamiento.

En que momento obtenés este error?. Podrías adjuntarme pantallas de la operación? Si los datos son los mismos no debería darte este error porque la comparación se hace con los valores definidios en el campo dato_censal. Si son exactamente los mismos, esto no debería pasar. Podrías adjuntar el resultado de esa SQL y también una captura de los datos censales definidos en Guaraní?.

Cuando se intenta sincronizar aspirantes.

Podrías adjuntarme pantallas de la operación? Si los datos son los mismos no debería darte este error porque la comparación se hace con los valores definidios en el campo dato_censal. Si son exactamente los mismos, esto no debería pasar. Podrías adjuntar el resultado de esa SQL y también una captura de los datos censales definidos en Guaraní?.

Paso el ejemplo de una en particular pero no es la única con la que sale el error.
La pantalla de la operación es la misma que figura en el mensaje anterior.


_SELECT_dato_censal_campo_descripcion_FROM_tehuelche_mgb_convoca_202207290808.txt (11 KB)

capturas.zip (516 KB)

Te voy a pedir que edites el método validar_datos_censales del archivo:

php/nucleo/convocatorias/procesador_ws_convocatoria_aspirantes.php

Y agregues lo siguiente un código para dumpear los valores de los datos censales que se traen en la solicitud del aspirante y los que tiene la convocatoria:

function validar_datos_censales($datos_censales, $datos_censales_convocatoria)
    {
        //$datos_censales son los datos censales del aspirante recibidos en la solicitud + el id en tehue + si es dependiente o no
        //$datos_censales_convocatoria son los datos censales conocidos por tehuelche (arreglo de ids)
        toba::logger()->info('Censales Aspirante');
        toba::logger()->error($datos_censales);
        toba::logger()->info('Censales Convocatoria');
        toba::logger()->error($datos_censales_convocatoria);

Luego intentá nuevamente la sincronización y revisá el siguiente archivo en busca de que datos censales está recibiendo desde guaraní y cuáles son los de la convocatoria. Adjuntanos este archivo así podemos revisarlo.

instalacion/i__produccion/p__tehuelche/logs/sistema.log

Adjunto el sistema.log


sistema_log.txt (69.4 KB)

Caro, te pido que hagas una modificación en el método validar_datos_censales del archivo:

php/nucleo/convocatorias/procesador_ws_convocatoria_aspirantes.php

Tenés que reemplazar la siguiente línea:

if ($pos === false) {

por ésta otra:

if (!$dato_censal['es_dependiente'] && $pos === false) {

Además te pido que reemplaces el método es_censal_dependiente en el archivo:

php/nucleo/convocatorias/consultas_convocatorias.php

por este otro

public function es_censal_dependiente($dato_censal)
    {
        $id = toba::db()->quote($dato_censal);

        $sql = "SELECT  COUNT(dato_censal_padre) AS tiene_padre 
                FROM    sg_dato_censal_dep sdcd
                WHERE   sdcd.dato_censal_hijo = $id";
        
        $res = toba::db()->consultar_fila($sql);
        
        return $res['tiene_padre'] != 0;
    }

Y que intentes nuevamente la sincronización.

ese metodo no lo tengo, asi que lo agregue.

justo con esa convocatoria no me deja sincronizar mas porque ya cerro, pero probe con otra que vence en agosto y queda la pantalla en blanco luego de sincronizar

Caro, revisa bien en detalle el instructivo que te pasé. No tenés que agregar nada nuevo sino modificar lo existente.

Ahora si. Anduvo. Al menos probe con tres convocatorias y sincronizo bien.
Lo raro es que no se que paso porqie tehuelche y kolla no se actualizaron, solo se migro de versión de guarani.

Que versión de Guaraní tenían anteriormente?

3.18