hotfix: correção do calculo do analítico
This commit is contained in:
parent
70d301e2fb
commit
427910f034
|
|
@ -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
|
// Calcular totais das colunas de valores para o footer - EXATAMENTE o mesmo padrão do Valor Total
|
||||||
const columnTotals = React.useMemo(() => {
|
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
|
// Usar EXATAMENTE a mesma lógica do totalValor
|
||||||
const filteredData = table.getRowModel().rows.map((row) => row.original);
|
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 valorRealizado = filteredData.reduce((sum, item) => {
|
||||||
const valor = typeof item.valor === "string" ? parseFloat(item.valor) : item.valor;
|
const valor = typeof item.valor === "string" ? parseFloat(item.valor) : item.valor;
|
||||||
return sum + (isNaN(valor) ? 0 : valor);
|
return sum + (isNaN(valor) ? 0 : valor);
|
||||||
|
|
@ -455,7 +475,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
||||||
valorConfirmado,
|
valorConfirmado,
|
||||||
valorPago,
|
valorPago,
|
||||||
};
|
};
|
||||||
}, [table, columnFilters, globalFilter]);
|
}, [table, columnFilters, globalFilter, data]);
|
||||||
|
|
||||||
const exportToExcel = () => {
|
const exportToExcel = () => {
|
||||||
if (data.length === 0) return;
|
if (data.length === 0) return;
|
||||||
|
|
@ -840,8 +860,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
||||||
TOTAL: {table.getRowModel().rows.length} registros
|
TOTAL: {table.getRowModel().rows.length} registros
|
||||||
</div>
|
</div>
|
||||||
<div className="w-[120px] whitespace-nowrap"></div>
|
<div className="w-[120px] whitespace-nowrap"></div>
|
||||||
<div className="w-[100px] whitespace-nowrap"></div>
|
<div className="w-[120px] whitespace-nowrap"></div>
|
||||||
<div className="w-[160px] whitespace-nowrap"></div>
|
<div className="w-[120px] whitespace-nowrap"></div>
|
||||||
<div className="w-[220px] whitespace-nowrap"></div>
|
<div className="w-[220px] whitespace-nowrap"></div>
|
||||||
<div className="w-[140px] whitespace-nowrap"></div>
|
<div className="w-[140px] whitespace-nowrap"></div>
|
||||||
<div className="w-[130px] whitespace-nowrap"></div>
|
<div className="w-[130px] whitespace-nowrap"></div>
|
||||||
|
|
@ -901,7 +921,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className="w-[20px] whitespace-nowrap"></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-[500px] whitespace-nowrap"></div>
|
||||||
<div className="w-[30px] whitespace-nowrap"></div>
|
<div className="w-[30px] whitespace-nowrap"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue