dataFlujoAnual = Object.values(
[...dataMesesCol.map(d => ({
año: d.año,
mes: d.mes,
total_ingresos: d.eventos_de_entrada,
total_rechazos: d.rechazados,
total_eventos: d.total_de_eventos,
fuente: "UPMRIP"
})),
...dataMesesSolicitud.map(d => ({
año: d.año,
mes: d.mes,
total_ingresos: d.eventos_de_entrada,
total_rechazos: d.rechazados,
total_eventos: d.total_de_eventos,
fuente: "solicitud al INM"
}))]
.reduce((acc, curr) => {
const key = `${curr.año}-${curr.fuente}`;
if (!acc[key]) {
acc[key] = {
año: curr.año,
fuente: curr.fuente,
total_ingresos: 0,
total_rechazos: 0,
total_eventos: 0
};
}
acc[key].total_ingresos += curr.total_ingresos;
acc[key].total_rechazos += curr.total_rechazos;
acc[key].total_eventos += curr.total_eventos;
return acc;
}, {})
).map(item => ({
...item,
porcentaje_rechazo: item.total_eventos > 0
? item.total_rechazos / item.total_eventos
: 0
})).sort((a, b) => b.año - a.año);