# app/controllers/motorista/dashboard_controller.rb module Motorista class DashboardController < ApplicationController before_action :garantir_motorista # GET /motorista def index nome = current_user.nome # Card 1 — Valor ESTIMADO (mês atual): entregas pagas × preco_entrega entregas_mes = Entrega.pagas.da_conta_gade .do_motorista(nome) .no_periodo(Date.current.beginning_of_month, Date.current) .count @valor_estimado = entregas_mes * Configuracao.preco_entrega @entregas_mes = entregas_mes # Card 2 — Valor CONSOLIDADO: soma das consolidações finalizadas @minhas_consolidacoes = Consolidacao.ativas .joins(:consolidacao_motoristas) .where(consolidacao_motoristas: { motorista_nome: nome }) .recentes .distinct @valor_consolidado = ConsolidacaoMotorista .joins(:consolidacao) .where(motorista_nome: nome, consolidacoes: { status: :finalizada, deleted_at: nil }) .sum(:valor_total) end private def garantir_motorista return if current_user.motorista? redirect_to dashboard_path, alert: 'Área exclusiva dos motoristas.' end end end