@php $moeda = fn ($v) => number_format((float) $v, 2, ',', '.'); $percentual = fn ($feito, $alvo): ?float => (float) $alvo > 0 ? (float) $feito / (float) $alvo * 100 : null; // As mesmas faixas de : 100% ou mais, de 70% a 100%, abaixo de 70%. $tom = fn (?float $p): string => match (true) { $p === null => 'text-suave', $p >= 100 => 'text-emerald-700', $p >= 70 => 'text-amber-700', default => 'text-rose-700' }; $barra = fn (?float $p): string => match (true) { $p === null => 'bg-slate-300', $p >= 100 => 'bg-emerald-600', $p >= 70 => 'bg-amber-500', default => 'bg-rose-500' }; @endphp @if ($equipe) @endif @if ($veTodos) @foreach ($vendedores->groupBy(fn ($v) => $v->filial ?? 'Sem filial') as $filial => $grupo) @foreach ($grupo as $opcao) @endforeach @endforeach @endif @if ($equipe) @php $resumo = $equipe['resumo']; @endphp

{{ $filialNome ? 'Equipe de '.mb_convert_case($filialNome, MB_CASE_TITLE) : 'Equipe' }} · {{ $equipe['rotulo'] }}

@can('gerir-cadastros') Lançar metas dos vendedores @endcan
{{-- Quantos cumpriram: um traço por vendedor com meta. --}} @foreach ([ ['Bateram a meta de valor', (int) $resumo->bateram_valor, (int) $resumo->com_meta_valor, 'bateram_meta_valor'], ['Bateram a meta de unidades', (int) $resumo->bateram_quantidade, (int) $resumo->com_meta_quantidade, 'bateram_meta_unidades'], ] as [$rotulo, $bateram, $comMeta, $explicacao])
{{ $rotulo }}
{{ $bateram }} de {{ $comMeta }}
@if ($comMeta > 0) @endif
{{ $comMeta > 0 ? 'vendedores com meta no período' : 'nenhum vendedor com meta no período' }}
@endforeach {{-- A equipe inteira: tudo o que vendeu contra a soma das metas. --}} @foreach ([ ['Cumprimento em valor', $resumo->faturamento, $resumo->meta_valor, fn ($v) => 'R$ '.$moeda($v), '', 'cumprimento_equipe_valor'], ['Cumprimento em unidades', $resumo->vendas, $resumo->meta_quantidade, fn ($v) => number_format((int) $v, 0, ',', '.'), ' veículos', 'cumprimento_equipe_unidades'], ] as [$rotulo, $feito, $alvo, $formato, $unidade, $explicacao]) @php $p = $percentual($feito, $alvo); @endphp
{{ $rotulo }}
{{ $p === null ? '—' : number_format($p, 1, ',', '.').'%' }}
@if ($p !== null) @endif
{{ $formato($feito) }} de {{ (float) $alvo > 0 ? $formato($alvo).$unidade : 'meta não lançada' }}
@endforeach
@forelse ($equipe['desempenho'] as $linha) @php $margem = $percentual($linha->lucro, $linha->faturamento); @endphp @empty @endforelse
Vendedor Unidades Valor Margem
Vendidas Meta Cumprido Vendido Meta Cumprido
@unless ($linha->ativo) inativo @endunless
{{ (int) $linha->vendas }} {{ $linha->meta_quantidade === null ? '—' : (int) $linha->meta_quantidade }} {{ $moeda($linha->faturamento) }} {{ $linha->meta_valor === null ? '—' : $moeda($linha->meta_valor) }} {{ $margem === null ? '—' : number_format($margem, 1, ',', '.').'%' }}
Nenhuma meta nem venda no período.
@foreach ([ ['Maior valor vendido', $equipe['porValor'], 'faturamento'], ['Mais veículos vendidos', $equipe['porUnidades'], 'vendas'], ] as [$titulo, $lista, $campo]) @php $lider = (float) ($lista->first()->{$campo} ?? 0); @endphp @if ($lista->isEmpty())

Nenhuma venda no período.

@else
    @foreach ($lista as $linha)
  1. $loop->first, 'bg-slate-100 text-suave' => ! $loop->first, ])>{{ $loop->iteration }}
    {{ $campo === 'faturamento' ? 'R$ '.$moeda($linha->faturamento) : (int) $linha->vendas }}
    {{ $campo === 'faturamento' ? (int) $linha->vendas.' veíc.' : 'R$ '.$moeda($linha->faturamento) }}
  2. @endforeach
@endif
@endforeach
{{-- O ranking por loja traz vendedores de qualquer filial que venderam nela: fora da visão da empresa, mostraria gente de outra equipe. --}} @if ($daEmpresa)

Primeiros de cada loja

pelo valor vendido na loja, por qualquer vendedor

Vendas por loja e vendedor
@if ($equipe['lojas']->isEmpty())

Nenhuma venda no período.

@else
@foreach ($equipe['lojas'] as $loja => $primeiros)
    @foreach ($primeiros as $linha)
  1. $loop->first, 'bg-slate-100 text-suave' => ! $loop->first, ])>{{ $linha->posicao }}
    @if ($linha->vendedor_id) @else {{ $linha->vendedor }} @endif {{ (int) $linha->vendas }} veíc. · {{ number_format((float) $linha->faturamento / max(0.01, (float) $linha->faturamento_loja) * 100, 0, ',', '.') }}% da loja
    {{ $moeda($linha->faturamento) }}
  2. @endforeach
@endforeach
@endif @endif @elseif ($vendedor === null)

@if (auth()->user()?->perfil === \App\Perfil::Gerente) Seu acesso de gerente ainda não está ligado a uma filial. Peça ao administrador para escolher a sua filial no cadastro de usuários. @else Seu acesso ainda não está ligado a um vendedor. Peça ao administrador para ligar seu usuário ao seu cadastro. @endif

@else
@if ($veTodos) @endif

{{ $vendedor->nome }}

{{ $veTodos ? 'Vendas do mês por loja e vendedor' : 'Minhas vendas por marca e loja' }}
@foreach ($periodos as $chave => $periodo) @php $margem = $percentual($periodo->lucro, $periodo->faturamento); $pUnidades = $percentual($periodo->vendas, $periodo->meta_quantidade); $pValor = $percentual($periodo->faturamento, $periodo->meta_valor); $ticket = (int) $periodo->vendas > 0 ? (float) $periodo->faturamento / (int) $periodo->vendas : null; @endphp

{{ $titulos[$chave] }}

Unidades
{{ (int) $periodo->vendas }} de {{ $pUnidades === null ? 'meta não lançada' : (int) $periodo->meta_quantidade }}
Valor
{{ $moeda($periodo->faturamento) }} de {{ $pValor === null ? 'meta não lançada' : $moeda($periodo->meta_valor) }}
@foreach ([ ['Lucro gerado', $moeda($periodo->lucro), 'lucro_veiculos', $margem !== null && (float) $periodo->lucro < 0], ['Ticket médio', $ticket === null ? '—' : $moeda($ticket), 'ticket_medio', false], ['Margem nos veículos', $margem === null ? '—' : number_format($margem, 1, ',', '.').'%', 'margem', $margem !== null && $margem < 0], ] as [$rotulo, $texto, $chave, $ruim])
{{ $rotulo }}
$ruim, 'text-tinta' => ! $ruim])>{{ $texto }}
@endforeach
@endforeach
{{-- Mês sem venda mantém o quadro e diz isso: seção que some deixa a dúvida de onde ela foi parar. --}} @can('ver-financeiro') O que ele mais vende @endcan @if ($vendas->isEmpty())

Nenhum veículo vendido neste mês.

@else @foreach ($vendas as $venda) @endforeach @php $lucroDoMes = $vendas->sum(fn ($v) => (float) $v->lucro); $vendidoNoMes = $vendas->sum(fn ($v) => (float) $v->valor_venda); @endphp
Data Veículo Ano Placa Loja Valor Lucro Margem Dias em pátio
{{ date('d/m', (int) strtotime((string) $venda->data_venda)) }} {{ $venda->versao }} @if ($venda->status === 'novo') novo @endif {{ $venda->marca ?? 'sem marca' }} {{ $venda->ano_modelo }} {{ $venda->identificacao ?? '—' }} {{ $moeda($venda->valor_venda) }} (float) $venda->lucro < 0])>{{ $moeda($venda->lucro) }} $venda->margem !== null && (float) $venda->margem < 0])> {{ $venda->margem === null ? '—' : number_format((float) $venda->margem, 1, ',', '.').'%' }} (int) $venda->dias_patio >= 90 && (int) $venda->dias_patio < 180, 'font-medium text-rose-700' => (int) $venda->dias_patio >= 180, ])>{{ (int) $venda->dias_patio }}
Total do mês {{ $moeda($vendas->sum(fn ($v) => (float) $v->valor_venda)) }} $lucroDoMes < 0])>{{ $moeda($lucroDoMes) }} {{ $vendidoNoMes > 0 ? number_format($lucroDoMes / $vendidoNoMes * 100, 1, ',', '.').'%' : '—' }} {{ number_format($vendas->avg(fn ($v) => (int) $v->dias_patio), 0, ',', '.') }}
@endif
@endif