From 427910f03445c7c61bdad0bb97967cfec01dde8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alessandro=20Gon=C3=A7aalves?= Date: Tue, 21 Oct 2025 12:22:37 -0300 Subject: [PATCH] =?UTF-8?q?hotfix:=20corre=C3=A7=C3=A3o=20do=20calculo=20d?= =?UTF-8?q?o=20anal=C3=ADtico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/DRE/analitico.tsx | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/app/DRE/analitico.tsx b/src/app/DRE/analitico.tsx index f9d77e4..8a32c43 100644 --- a/src/app/DRE/analitico.tsx +++ b/src/app/DRE/analitico.tsx @@ -417,8 +417,28 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { // Calcular totais das colunas de valores para o footer - EXATAMENTE o mesmo padrão do Valor Total const columnTotals = React.useMemo(() => { + // Garantir que sempre temos dados para calcular + if (!data || data.length === 0) { + console.log("⚠️ Sem dados para calcular totais das colunas"); + return { + valorRealizado: 0, + valorPrevisto: 0, + valorConfirmado: 0, + valorPago: 0, + }; + } + // Usar EXATAMENTE a mesma lógica do totalValor const filteredData = table.getRowModel().rows.map((row) => row.original); + + console.log("🔄 Calculando totais das colunas - Dados filtrados:", { + totalRows: filteredData.length, + originalDataLength: data.length, + columnFilters: columnFilters.length, + globalFilter, + firstItem: filteredData[0] + }); + const valorRealizado = filteredData.reduce((sum, item) => { const valor = typeof item.valor === "string" ? parseFloat(item.valor) : item.valor; return sum + (isNaN(valor) ? 0 : valor); @@ -455,7 +475,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { valorConfirmado, valorPago, }; - }, [table, columnFilters, globalFilter]); + }, [table, columnFilters, globalFilter, data]); const exportToExcel = () => { if (data.length === 0) return; @@ -840,8 +860,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { TOTAL: {table.getRowModel().rows.length} registros
-
-
+
+
@@ -901,7 +921,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { )}
-
+