hotfix: correção do calculo do analítico

This commit is contained in:
Alessandro Gonçaalves 2025-10-21 12:22:37 -03:00
parent 70d301e2fb
commit 427910f034
1 changed files with 24 additions and 4 deletions

View File

@ -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
</div>
<div className="w-[120px] whitespace-nowrap"></div>
<div className="w-[100px] whitespace-nowrap"></div>
<div className="w-[160px] whitespace-nowrap"></div>
<div className="w-[120px] whitespace-nowrap"></div>
<div className="w-[120px] whitespace-nowrap"></div>
<div className="w-[220px] whitespace-nowrap"></div>
<div className="w-[140px] whitespace-nowrap"></div>
<div className="w-[130px] whitespace-nowrap"></div>
@ -901,7 +921,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
)}
</div>
<div className="w-[20px] whitespace-nowrap"></div>
<div className="w-[200px] whitespace-nowrap"></div>
<div className="w-[320px] whitespace-nowrap"></div>
<div className="w-[500px] whitespace-nowrap"></div>
<div className="w-[30px] whitespace-nowrap"></div>
</div>