Buenas, desde UNPAZ utilizamos Mapuche v3.22
Queríamos saber dónde se encuentra en la BBDD la información sobre Antigüedad de un agente, que en Mapuche se ve en Actualización → Legajo → Antigüedad (Antigüedad docente y Antigüedad total)
Desde ya muchas gracias, saludos
La antigüedad del agente se guarda en la tabla dh40. Pero no van a poder obtener el valor redondo que se muestra en mapuche. Ya que lo que se guarda en la base es una fecha que luego, dependiendo las configuraciones y el periodo actual, es el valor a mostrar (previo calculo).
En el caso que necesiten el dato desde afuera de Mapuche, pueden utilizar el servicio web (rest) /agentes/{legajo}/antiguedades el cual les va a devolver las antigüedades tal cual se muestran en Mapuche.
Saludos,
Nico
Hola @nicolasdom , estamos justo viendo este tema, podrias enviarnos informacion de el servicio web o en que link la encontramos ?,
Gracias
Buenas, a mi me pidieron un reporte de antiguedad docente y usé esta query.
SELECT dh01.nro_legaj, desc_appat, desc_nombr, concat (nro_cuil1,‘-’,nro_cuil,‘-’,nro_cuil2) as CUIL, fec_mesdo,
– fec_antig_3 (en institucion), fec_antig_17,
EXTRACT(YEAR FROM AGE(‘2025-06-25’, fec_mesdo)) en_anios,
EXTRACT(YEAR FROM AGE(‘2025-06-25’, fec_mesdo)) * 12 + EXTRACT(MONTH FROM AGE(‘2025-06-25’, fec_mesdo)) AS en_meses
/*EXTRACT(YEAR FROM AGE(‘2025-06-25’, fec_antig_17)) en_anios_tabla17,
EXTRACT(YEAR FROM AGE(‘2025-06-25’, fec_antig_17)) * 12 + EXTRACT(MONTH FROM AGE(‘2025-06-25’, fec_mesdo)) AS en_meses_tabla17 */
FROM mapuche.dh40
join mapuche.dh01 on dh40.nro_legaj=dh01.nro_legaj
where (fec_mesdo is not null)
order by 2,3
Hola @nicolasdom, como estás?
Estamos trabajando en UBA con el servicio /agentes/{legajo}/antiguedades para generar un reporte masivo de antigüedad. Actualmente estamos consultando la API por cada legajo y luego asociando el resultado a los cargos.
Nos encontramos con una dificultad: el cálculo de la API aparentemente se realiza siempre contra la fecha actual del servidor, que en mi caso es https://mapuchedesa.rec.uba.ar/suc/mapuche/rest/v1/agentes/{legajo}/antiguedades, pero nosotros necesitamos obtener la antigüedad a un período histórico (por ejemplo 202512).
Quería consultarles si:
-
Existe alguna forma de indicar el período de cálculo en el servicio (por ejemplo un parámetro tipo
periodo=YYYYMM). -
O si hay documentación disponible sobre la lógica exacta que utiliza la API para calcular las antigüedades, para poder replicarla correctamente en base a dh40.
-
También si el servicio puede consultarse contra otros entornos o contextos de liquidación (por ejemplo producción o un período específico).
La idea es poder obtener exactamente los mismos valores que utiliza Mapuche en la liquidación, pero para un período determinado.
Muchas gracias.
Hola Facundo, como estas? Te cuento que la antiguedad se calculo en base al periodo en que esta parado el sistema (es independiente de la feha del servidor).
En el caso de ustedes, si quieren tener una antiguedad a tal fecha, deberian pegarle a la api de un mapuche que este parado en esa fecha. Muchas instituciones suelen dejar Backups de Mapuches parados en fechas claves (com fin de año) para utilizarlo en la generacion de ciertos reportes o calculos externos.
Pasando a contestarte concretamente los 3 puntos:
- No
- No hay documentacion, pero es codigo PHP el cual se puede analizar y obtener de ahi todos los controles y calculos que se realizan. Si bien dh40 guarda un valor base, este luego se traduce a años y meses en funcion de configuraciones y parametros del sistema. No es un valor pulido el que se almacena. Sino, un valor base. De esta forma, cada cambio de mes no requiere una actualizacion masiva de registros indicando que tienen un mes mas de antiguedad.
- Si el entorno tiene permisos de que la api responda, no hay problema. Entiendo que llaman entorno a servidores de testeo, preproductivos, productivos, backups, etc.
Utilizando el servicio de la API deberia dar el mismo valor que se ve por interfaz.
Saludos,
Nico.