Correção da função filtro de Pagamentos

This commit is contained in:
2026-06-17 16:34:29 -03:00
parent a476e32dc6
commit 50166686f8
2 changed files with 90 additions and 47 deletions

View File

@@ -88,17 +88,26 @@ class DashboardController < ApplicationController
end
def carregar_dados_pagamentos
finalizadas = @consolidacoes_mes.where(status: :finalizada)
cms = ConsolidacaoMotorista.where(consolidacao_id: finalizadas.select(:id))
intervalo = @periodo_inicio.beginning_of_day..@periodo_fim.end_of_day
@pag_pago_qtd = cms.pagos.count
@pag_pend_qtd = cms.pendentes.count
@pag_pago_valor = cms.pagos.sum(:valor_total)
@pag_pend_valor = cms.pendentes.sum(:valor_total)
# PAGOS: filtrados pela DATA DO PAGAMENTO (pago_em) dentro do período do topo
# — "quanto foi pago neste período".
pagos = ConsolidacaoMotorista
.joins(:consolidacao)
.where(consolidacoes: { status: :finalizada, deleted_at: nil })
.where(pago_em: intervalo)
@pag_pago_qtd = pagos.count
@pag_pago_valor = pagos.sum(:valor_total)
@tabela_pagamentos = finalizadas.recentes.map do |c|
{ consolidacao: c, status: c.status_pagamento, pago: c.valor_pago, pendente: c.valor_pendente }
end
# PENDENTES: consolidações finalizadas cujo PERÍODO cruza o filtro, ainda sem
# pagamento (pendente não tem data de pagamento para filtrar).
finalizadas_ids = @consolidacoes_mes.where(status: :finalizada).select(:id)
pendentes = ConsolidacaoMotorista.where(consolidacao_id: finalizadas_ids).pendentes
@pag_pend_qtd = pendentes.count
@pag_pend_valor = pendentes.sum(:valor_total)
@pagamentos_feitos = pagos.includes(:consolidacao, :pagador).order(pago_em: :desc)
@pagamentos_pendentes = pendentes.includes(:consolidacao).order(consolidacao_id: :desc)
end
def build_grafico_diario(entregas, preco_entrega)