Correção Dash Pendentes e falhas

This commit is contained in:
2026-06-22 17:47:05 -03:00
parent b742b2c2e3
commit 56b3e146bf
3 changed files with 96 additions and 29 deletions

View File

@@ -13,12 +13,20 @@ class Entrega < ApplicationRecord
true
end
# Status que o SimpleRoute grava para entregas SEM SUCESSO (falha/insucesso).
# AJUSTE aqui se o valor real for diferente (ex.: 'cancelled', 'not_delivered').
STATUS_FALHA = %w[failed].freeze
# ── Scopes ──────────────────────────────────────────────────
scope :concluidas, -> { where(status: 'completed') }
scope :com_checkout, -> { where.not(checkout: nil) }
# Pagamento = entrega concluída com checkout registrado
scope :pagas, -> { concluidas.com_checkout }
scope :pendentes, -> { where.not(status: 'completed') }
# Falhadas = entregas que não tiveram sucesso (status de falha)
scope :falhadas, -> { where(status: STATUS_FALHA) }
# Pendentes = nem concluídas nem falhadas (ainda em aberto). Exclui as falhadas
# para que entregues/pendentes/falhadas não se sobreponham no dashboard.
scope :pendentes, -> { where.not(status: ['completed'] + STATUS_FALHA) }
# planned_date é timestamp: usamos o dia inteiro do limite superior para não
# descartar as entregas do último dia do período (causava dashboard zerado e