From 082a1f0d8713ccd908a1b8ed344259571f8ecdb31c15a5b10d9f0b2bbf746046 Mon Sep 17 00:00:00 2001 From: victor Date: Wed, 17 Jun 2026 17:20:14 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=A3o=20dos=20Graficos=20do=20Dsh?= =?UTF-8?q?=20de=20pagamento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/dashboard_controller.rb | 17 +++++++++++++---- app/views/layouts/application.html.erb | 4 ++++ public/favicon.svg | 4 ++++ 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 public/favicon.svg diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index d744460..c2327ea 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -125,11 +125,20 @@ class DashboardController < ApplicationController # Visão financeira (custo) das consolidações finalizadas do período, já com o # filtro de operação aplicado. def carregar_dados_financeiro - consols = Consolidacao.ativas.where(status: :finalizada) - .where('data_inicio <= ? AND data_fim >= ?', @periodo_fim, @periodo_inicio) - consols = consols.com_operacoes(@operacao_filtro) if @operacao_filtro.present? - consols = consols.to_a + intervalo = @periodo_inicio.beginning_of_day..@periodo_fim.end_of_day + base = Consolidacao.ativas.where(status: :finalizada) + base = base.com_operacoes(@operacao_filtro) if @operacao_filtro.present? + + # Consolidações relevantes ao período: as que CRUZAM o período OU que tiveram + # algum pagamento feito dentro do período. Sem o 2º caso, pagar uma + # consolidação de outro mês não mexia nos gráficos (só na tabela de pagamentos). + ids_periodo = base.where('data_inicio <= ? AND data_fim >= ?', @periodo_fim, @periodo_inicio).ids + ids_pagos = ConsolidacaoMotorista.where(pago_em: intervalo) + .where(consolidacao_id: base.select(:id)) + .distinct.pluck(:consolidacao_id) + + consols = Consolidacao.where(id: (ids_periodo + ids_pagos).uniq).to_a ids = consols.map(&:id) cms = ConsolidacaoMotorista.where(consolidacao_id: ids) ces = ConsolidacaoEntrega.where(consolidacao_id: ids) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index dd05ec8..722ba8d 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,6 +7,10 @@ <%= content_for?(:title) ? "#{yield(:title)} | Reem Logística" : "Reem Logística" %> + <%# Favicon / ícone do app (marca Reem — quadrado laranja com "G") %> + + + <%# Tailwind via CDN em desenvolvimento — compilar em produção %>