43 lines
1.3 KiB
Ruby
43 lines
1.3 KiB
Ruby
# app/controllers/motorista_controller.rb
|
|
class MotoristaController < ApplicationController
|
|
before_action :verificar_motorista
|
|
|
|
def index
|
|
skip_authorization
|
|
|
|
@data_referencia = params[:data] ? Date.parse(params[:data]) : Date.today
|
|
config = Configuracao.mapa_de_precos
|
|
|
|
# Entregas do motorista logado
|
|
@entregas_mes = Entrega
|
|
.do_mes(@data_referencia)
|
|
.where("LOWER(driver) = ?", current_user.name.downcase)
|
|
|
|
@total_entregas = @entregas_mes.count
|
|
@pagas = @entregas_mes.pagas.count
|
|
@pendentes = @total_entregas - @pagas
|
|
@valor_estimado = (@pagas * config[:entrega]).round(2)
|
|
|
|
# Últimas entregas
|
|
@ultimas_entregas = @entregas_mes.pagas
|
|
.order(planned_date: :desc)
|
|
.limit(10)
|
|
|
|
# Consolidações do motorista
|
|
@consolidacoes = ConsolidacaoMotorista
|
|
.joins(:consolidacao)
|
|
.where(user: current_user)
|
|
.where(consolidacoes: { status: [:fechada, :aprovada] })
|
|
.order('consolidacoes.created_at DESC')
|
|
.limit(5)
|
|
end
|
|
|
|
private
|
|
|
|
def verificar_motorista
|
|
unless current_user&.motorista?
|
|
redirect_to dashboard_path, alert: 'Acesso restrito a motoristas.'
|
|
end
|
|
end
|
|
end
|