From cdf79600e9d429e1e625d644ea651af073ef4ce1 Mon Sep 17 00:00:00 2001 From: Felipe Coutinho Date: Sun, 16 Nov 2025 18:18:13 -0300 Subject: [PATCH] refactor: filtrar grupos de parcelas com pelo menos uma parcela em aberto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Esta alteração melhora a função fetchInstallmentAnalysis ao adicionar um filtro para garantir que apenas os grupos de parcelas com pelo menos uma parcela não paga sejam retornados. Isso melhora a eficiência e a clareza dos dados processados. --- .../expenses/installment-analysis.ts | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/dashboard/expenses/installment-analysis.ts b/lib/dashboard/expenses/installment-analysis.ts index 94d78b4..d08e87c 100644 --- a/lib/dashboard/expenses/installment-analysis.ts +++ b/lib/dashboard/expenses/installment-analysis.ts @@ -145,14 +145,22 @@ export async function fetchInstallmentAnalysis( } // Calcular quantas parcelas já foram pagas para cada grupo - const installmentGroups = Array.from(seriesMap.values()).map((group) => { - // Contar quantas parcelas estão marcadas como pagas (settled) - const paidCount = group.pendingInstallments.filter( - (i) => i.isSettled - ).length; - group.paidInstallments = paidCount; - return group; - }); + const installmentGroups = Array.from(seriesMap.values()) + .map((group) => { + // Contar quantas parcelas estão marcadas como pagas (settled) + const paidCount = group.pendingInstallments.filter( + (i) => i.isSettled + ).length; + group.paidInstallments = paidCount; + return group; + }) + // Filtrar apenas séries que têm pelo menos uma parcela em aberto (não paga) + .filter((group) => { + const hasUnpaidInstallments = group.pendingInstallments.some( + (i) => !i.isSettled + ); + return hasUnpaidInstallments; + }); // Calcular totais const totalPendingInstallments = installmentGroups.reduce(