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 %>