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) { )} - +