From f34292953954e15355afe6f01421249ff2e6b83f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alessandro=20Gon=C3=A7aalves?= Date: Mon, 20 Oct 2025 17:43:04 -0300 Subject: [PATCH] fix: calculo do dao card totalizador --- src/app/DRE/analitico.tsx | 98 +++++++++++++++++++++++---------------- 1 file changed, 57 insertions(+), 41 deletions(-) diff --git a/src/app/DRE/analitico.tsx b/src/app/DRE/analitico.tsx index bc8bb10..920d417 100644 --- a/src/app/DRE/analitico.tsx +++ b/src/app/DRE/analitico.tsx @@ -284,11 +284,27 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { setGlobalFilter(""); }; - const totalValor = data.reduce((sum, item) => { + const [totalValor, setTotalValor] = React.useState(0); + + React.useEffect(() => { + // Usar dados filtrados da tabela em vez dos dados originais + const filteredData = table.getRowModel().rows.map(row => row.original); + const newTotal = filteredData.reduce((sum, item) => { const valor = - typeof item.valor === "string" ? parseFloat(item.valor) : item.valor; + typeof item.valor === "string" ? parseFloat(item.valor) : item.valor; return sum + (isNaN(valor) ? 0 : valor); }, 0); + + console.log('🔄 Calculando total:', { + totalRows: table.getRowModel().rows.length, + originalDataLength: data.length, + newTotal, + columnFilters: columnFilters.length, + globalFilter + }); + + setTotalValor(newTotal); + }, [table, data, columnFilters, globalFilter]); const exportToExcel = () => { if (data.length === 0) return; @@ -402,17 +418,17 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { Limpar Filtros )} - {data.length > 0 && ( - - )} + > + + Exportar XLSX + + )} @@ -432,8 +448,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
Conta
Valor
Recnum
- + {/* Table Body */}

Carregando dados...

-
- + + ) : virtualRows.length === 0 ? (
@@ -468,10 +484,10 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" /> -
+

Nenhum dado encontrado

- - + + ) : (
+
{new Date( row.original.data_vencimento ).toLocaleDateString("pt-BR")} -
+
{new Date(row.original.data_caixa).toLocaleDateString( "pt-BR" )} -
+
{row.original.codigo_fornecedor} -
+
{row.original.nome_fornecedor} -
+
{row.original.codigo_centrocusto} -
+
{row.original.codigo_conta} -
+
{row.original.conta} -
+
+
{row.original.recnum} -
- + + ); })} - + )} - + {/* Summary Footer - Integrado */} {data.length > 0 && ( @@ -573,12 +589,12 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {

Transações encontradas

- +

- @@ -587,14 +603,14 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { style: "currency", currency: "BRL", }).format(totalValor)} - +

Soma de todos os valores

+ - )} @@ -640,7 +656,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { ))} - +
+ {!( cond.operator === "empty" || cond.operator === "notEmpty" @@ -687,7 +703,7 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { placeholder="Digite o valor" className="w-full bg-white border-gray-300" /> - + )} {conditions.length > 1 && ( @@ -703,8 +719,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) { > ✕ - - )} + + )} ))}