@extends('adminlte.app') @section('content')
@if ($message = Session::get('success'))
{{ $message }}
@endif @if ($message = Session::get('danger'))
{{ $message }}
@endif {{-- ====================== HEADER ====================== --}}

Comissões de Venda

{{ $mesAtualLabel }} · @if(!$filtros['busca'] || $filtros['busca'] === 'Todos') Todos os canais @else {{ optional(\App\Models\Canal::find($filtros['busca']))->nome_canal ?? 'Canal' }} @endif · Gestor: {{ $buscaGestor !== 'Todos' ? optional($nomeGestor)->name ?? 'Todos' : 'Todos' }}

{{-- ====================== FILTRO ====================== --}}
@php $chipAtual = \Carbon\Carbon::now()->format('Y-m'); $chipAnt1 = \Carbon\Carbon::now()->subMonthNoOverflow()->format('Y-m'); $chipAnt2 = \Carbon\Carbon::now()->subMonthsNoOverflow(2)->format('Y-m'); $chipAnt3 = \Carbon\Carbon::now()->subMonthsNoOverflow(3)->format('Y-m'); @endphp Mês atual Anterior Há 2 meses Há 3 meses
@if($permissao->visualizar_relatorio_todas_comissoes) @endif
{{-- ====================== KPIs ====================== --}} {{-- Matemática: Comissão Total = Vendas do Mês + Recuperadas (bate com o que a Validação mostra) --}}
Fecho total · {{ $mesAtualLabel }}
€ {{ number_format($totalAprovadoMesValor + $totalRecuperadasGeral, 2, ',', ' ') }}
{{ $totalAprovadoMesCount + $totalRecuperadasCount }} {{ $totalAprovadoMesCount + $totalRecuperadasCount == 1 ? 'fatura aprovada' : 'faturas aprovadas' }}
Vendas do mês
€ {{ number_format($totalAprovadoMesValor, 2, ',', ' ') }}
{{ $totalAprovadoMesCount }} {{ $totalAprovadoMesCount == 1 ? 'fatura' : 'faturas' }} · {{ number_format($totalAprovadoMesQtd, 0, ',', ' ') }} L
Recuperadas
€ {{ number_format($totalRecuperadasGeral, 2, ',', ' ') }}
{{ $totalRecuperadasCount }} {{ $totalRecuperadasCount == 1 ? 'fatura de meses anteriores' : 'faturas de meses anteriores' }}
Não recebidas
€ {{ number_format($totalNaoRecebidasGeral, 2, ',', ' ') }}
@if($totalNaoRecebidasCount > 0) {{ $totalNaoRecebidasCount }} {{ $totalNaoRecebidasCount == 1 ? 'fatura em aberto' : 'faturas em aberto' }} @else sem faturas em aberto @endif
{{-- ====================== RESUMO POR CANAL ====================== --}}

Resumo por canal · objetivo vs. realizado

@foreach($canalStats as $cid => $s)
{{ $s['nome'] }}
{{ number_format($s['litros'], 0, ',', ' ') }} L
{{ number_format($s['pct'], 1, ',', '.') }}%
€ {{ number_format($s['comissao'], 2, ',', ' ') }}
Realizado Objetivo {{ number_format($s['objetivo'], 0, ',', ' ') }} L
@endforeach
{{-- ====================== Recebidas — ACCORDION ====================== --}}

Recebidas no mês

Comissões com venda dentro de {{ $mesAtualLabel }}.

{{ $totalAprovadoMesCount }} {{ $totalAprovadoMesCount == 1 ? 'fatura' : 'faturas' }} · € {{ number_format($totalAprovadoMesValor, 2, ',', ' ') }}
@if($aprovadasDoMes->isEmpty())
Sem comissões recebidas no mês selecionado.
@else @php $primeiraRec = true; @endphp
@php $primeiraRec = false; @endphp
{{ $mesAtualLabel }}
vendas pagas em {{ $mesAtualLabel }}
{{ $totalAprovadoMesCount }} {{ $totalAprovadoMesCount == 1 ? 'fatura' : 'faturas' }} {{ number_format($totalAprovadoMesQtd, 0, ',', ' ') }} L
recebida € {{ number_format($totalAprovadoMesValor, 2, ',', ' ') }}
@foreach($aprovadasDoMes as $cv) @php $bonus = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Bônus')->sum('valor') : 0; $pen = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Penalização')->sum('valor') : 0; $ajuste = ($bonus ?? 0) - ($pen ?? 0); $total_a_receber = ($cv->valor_comissao ?? 0) + $ajuste - ($cv->penalizacao_atraso ?? 0); $pgto = isset($cv->faturas->dt_pagamento) ? \Carbon\Carbon::parse($cv->faturas->dt_pagamento) : null; @endphp @endforeach
Cliente Canal Gestor Data venda Pagamento Litros Ajuste Comissão
{{ $cv->cliente->nome ?? '—' }} {{ $cv->canal->nome_canal ?? '—' }} {{ $cv->cliente->gestor_user->name ?? '—' }} {{ $cv->data ? \Carbon\Carbon::parse($cv->data)->format('d/m/Y') : '' }} {{ $pgto ? $pgto->format('d/m/Y') : '—' }} {{ number_format($cv->quantidade ?? 0, 0, ',', ' ') }} {{ number_format($ajuste, 2, ',', '.') }} € {{ number_format($total_a_receber, 2, ',', '.') }} €
@endif
{{-- ====================== RECUPERADAS — ACCORDION ====================== --}}

Recuperadas de meses anteriores

Faturas antigas pagas neste mês. Comissão é desbloqueada aqui.

{{ $totalRecuperadasCount }} {{ $totalRecuperadasCount == 1 ? 'fatura' : 'faturas' }} · € {{ number_format($totalRecuperadasGeral, 2, ',', ' ') }}
@if($totalRecuperadasCount == 0)
Sem comissões recuperadas no período selecionado.
@else @php $primeiraRec = true; @endphp @foreach($resumoRecuperadas as $ym => $resumo)
@php $primeiraRec = false; @endphp
{{ $resumo['label'] }}
vendas pagas em {{ $mesAtualLabel }}
{{ $resumo['count'] }} {{ $resumo['count'] == 1 ? 'fatura' : 'faturas' }} {{ number_format($resumo['litros'], 0, ',', ' ') }} L
recuperada € {{ number_format($resumo['total'], 2, ',', ' ') }}
@foreach($recuperadasPorMes[$ym] as $cv) @php $bonus = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Bônus')->sum('valor') : 0; $pen = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Penalização')->sum('valor') : 0; $ajuste = ($bonus ?? 0) - ($pen ?? 0); $total_a_receber = ($cv->valor_comissao ?? 0) + $ajuste - ($cv->penalizacao_atraso ?? 0); $pgto = isset($cv->faturas->dt_pagamento) ? \Carbon\Carbon::parse($cv->faturas->dt_pagamento) : null; @endphp @endforeach
Cliente Canal Gestor Data venda Pagamento Litros Ajuste Comissão
{{ $cv->cliente->nome ?? '—' }} {{ $cv->canal->nome_canal ?? '—' }} {{ $cv->cliente->gestor_user->name ?? '—' }} {{ $cv->data ? \Carbon\Carbon::parse($cv->data)->format('d/m/Y') : '' }} {{ $pgto ? $pgto->format('d/m/Y') : '—' }} {{ number_format($cv->quantidade ?? 0, 0, ',', ' ') }} {{ number_format($ajuste, 2, ',', '.') }} € {{ number_format($total_a_receber, 2, ',', '.') }} €
@endforeach @endif
{{-- ====================== NÃO RECEBIDAS — ACCORDION ====================== --}}

Comissões não recebidas

Vendas com fatura ainda em aberto. Agrupadas por mês da venda.

{{ $totalNaoRecebidasCount }} {{ $totalNaoRecebidasCount == 1 ? 'fatura' : 'faturas' }} · € {{ number_format($totalNaoRecebidasGeral, 2, ',', ' ') }}
@if($totalNaoRecebidasCount == 0)
Sem comissões em aberto para o período selecionado.
@else @foreach($resumoNaoRecebidas as $ym => $resumo)
{{ $resumo['label'] }}
@if($resumo['is_current']) do mês corrente @elseif($resumo['status_class'] === 'coral' && $resumo['status_label'] === 'crítico') vencidas há mais de 60d @else vencidas há mais de 30d @endif
{{ $resumo['count'] }} {{ $resumo['count'] == 1 ? 'fatura' : 'faturas' }} {{ number_format($resumo['litros'], 0, ',', ' ') }} L
{{ $resumo['status_label'] }} € {{ number_format($resumo['total'], 2, ',', ' ') }}
@foreach($naoRecebidasPorMes[$ym] as $cv) @php $bonus = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Bônus')->sum('valor') : 0; $pen = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Penalização')->sum('valor') : 0; $ajuste = ($bonus ?? 0) - ($pen ?? 0); $total_a_receber = ($cv->valor_comissao ?? 0) + $ajuste - ($cv->penalizacao_atraso ?? 0); $venc = isset($cv->faturas->dt_vencimento) ? \Carbon\Carbon::parse($cv->faturas->dt_vencimento) : null; @endphp @endforeach
Cliente Canal Gestor Data venda Vencimento Litros Ajuste Comissão
{{ $cv->cliente->nome ?? '—' }} {{ $cv->canal->nome_canal ?? '—' }} {{ $cv->cliente->gestor_user->name ?? '—' }} {{ $cv->data ? \Carbon\Carbon::parse($cv->data)->format('d/m/Y') : '' }} {{ $venc ? $venc->format('d/m/Y') : '—' }} {{ number_format($cv->quantidade ?? 0, 0, ',', ' ') }} {{ number_format($ajuste, 2, ',', '.') }} € {{ number_format($total_a_receber, 2, ',', '.') }} €
@endforeach @endif
@endsection