From 3269c8f5cb1b9b8c42ee73e4bdc7f6ae90d3ef55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alessandro=20Gon=C3=A7aalves?= Date: Mon, 20 Oct 2025 23:12:40 -0300 Subject: [PATCH] =?UTF-8?q?fix:=20corre=C3=A7=C3=A3o=20dos=20campos=20tota?= =?UTF-8?q?lizadores=20no=20footer=20table?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/DRE/analitico.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/app/DRE/analitico.tsx b/src/app/DRE/analitico.tsx index 23377cc..1ce3948 100644 --- a/src/app/DRE/analitico.tsx +++ b/src/app/DRE/analitico.tsx @@ -330,15 +330,15 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { setTotalValor(newTotal); }, [table, data, columnFilters, globalFilter]); - // Calcular totais das colunas de valores para o footer - mesmo princípio do Valor Total + // Calcular totais das colunas de valores para o footer - EXATAMENTE o mesmo padrão do Valor Total const columnTotals = React.useMemo(() => { - // Usar dados filtrados da tabela em vez dos dados originais - MESMA LÓGICA DO totalValor + // Usar EXATAMENTE a mesma lógica do totalValor const filteredData = table.getRowModel().rows.map((row) => row.original); const valorRealizado = filteredData.reduce((sum, item) => { - const valor = + const valor = typeof item.valor === "string" ? parseFloat(item.valor) : item.valor; - return sum + (isNaN(valor) ? 0 : valor); - }, 0); + return sum + (isNaN(valor) ? 0 : valor); + }, 0); return { valorRealizado, @@ -346,7 +346,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { valorConfirmado: 0, // Sempre 0 pois não há dados valorPago: 0, // Sempre 0 pois não há dados }; - }, [table]); + }, [table, data, columnFilters, globalFilter]); const exportToExcel = () => { if (data.length === 0) return;