{{-- v1.16.0 §D4 — « Mes primes » : les commissions du cabinet et les primes de ses collaborateurs, sur la période choisie ; la même source que le gérant (SituationDesPrimes), sans « Contrôle ». --}} @php use App\Services\Primes\PeriodePrimes; use App\Services\Primes\SituationDesPrimes; use App\Support\SortieDocument; $n = fn ($m) => SituationDesPrimes::nombre((float) $m); $veille = $s['du']->copy()->subDay(); $p = fn (int $nb, string $un, string $plusieurs) => $nb.' '.($nb > 1 ? $plusieurs : $un); $dernierVersement = $s['versements']->last(); $chip = fn (array $l) => match (true) { $l['avance'] && $l['etat'] === 'Versée d\'avance' => ['Versée d\'avance', 'v'], str_starts_with($l['etat'], 'Versée') => [$l['etat'], 'g'], default => ['À recevoir', 'o'], }; $detail = function (array $l) { $morceaux = []; if ($l['encaisse_le']) { $morceaux[] = 'payé le '.$l['encaisse_le']->format('d/m'); } if ($l['avance'] && $l['versee_le']) { $morceaux[] = 'versée d\'avance le '.$l['versee_le']->format('d/m'); } elseif ($l['facture']) { $morceaux[] = 'facture '.$l['facture']; } if ($l['enregistree_le']) { $morceaux[] = 'prime enregistrée le '.$l['enregistree_le']->format('d/m'); } return implode(' · ', $morceaux); }; @endphp

Mes primes

Les commissions du cabinet et les primes de ses collaborateurs · {{ $s['regle'] }}

@if ($periode === 'dates')
@endif

du {{ $s['du']->format('d/m/Y') }} au {{ $s['au']->format('d/m/Y') }}

Dû au {{ $veille->format('d/m') }}
{{ $n($s['du_debut']) }} DH
{{ $p($s['nb_du_debut'], 'prime', 'primes') }}
Acquises
{{ $n($s['acquises']) }} DH
{{ $p($s['nb_clients_acquis'], 'nouveau client', 'nouveaux clients') }}
Versées
{{ $n($s['versees']) }} DH
@if ($dernierVersement)le {{ $dernierVersement['date']?->format('d/m') }}, @endif{{ $p($s['nb_versements'], 'versement', 'versements') }}
À recevoir au {{ $s['au']->format('d/m') }}
{{ $s['du_fin'] < 0 ? 'Avance : '.$n(-$s['du_fin']) : $n($s['du_fin']) }} DH
{{ $p($s['reste']['lignes']->pluck('client_id')->unique()->count(), 'client', 'clients') }}

Primes de la période @if ($s['nb_acquises']){{ $s['nb_acquises'] }}@endif

@forelse ($s['par_beneficiaire'] as $groupe) @if ($s['par_beneficiaire']->count() > 1 || ! str_contains($groupe['libelle'], '(commission du cabinet)'))
Bénéficiaire : {{ $groupe['libelle'] }}
@endif @foreach ($groupe['lignes'] as $l) @php [$etat, $ton] = $chip($l); @endphp
{{ $l['client'] }}
{{ $detail($l) }}
{{ $n($l['montant']) }} DH {{ $etat }} @if ($l['versee_le'] && $l['versee_le']->lte($s['au'])) @endif
@endforeach @empty
Aucune prime acquise sur la période.
@endforelse
@if ($s['reste_debut']['lignes']->isNotEmpty())

Restait à recevoir au {{ $veille->format('d/m') }}

@foreach ($s['reste_debut']['lignes'] as $l) @php $toujours = $s['reste']['lignes']->contains('id', $l['id']); @endphp
{{ $l['client'] }}
{{ $detail($l) }}
{{ $n($l['montant']) }} DH{{ $toujours ? 'À recevoir' : 'Versée depuis' }}
@endforeach
@endif @if ($s['reste']['avances']->isNotEmpty())

Versée d'avance, à déduire : {{ $s['reste']['avances']->map(fn ($l) => $l['client'].' − '.$n($l['montant']).' DH')->implode(' ; ') }}.

@endif @if ($s['a_revoir']->isNotEmpty())

En vérification chez MOBDIE (hors totaux) : {{ $s['a_revoir']->pluck('client')->implode(', ') }}.

@endif

Pas encore acquises @if ($pasEncore->isNotEmpty()){{ $pasEncore->count() }}@endif

@forelse ($pasEncore as $client)
{{ $client->raison_sociale }}
dossier en cours · pas encore payé
@if ((float) $cabinetModele->commission_nouveau_client > 0){{ $n($cabinetModele->commission_nouveau_client) }} DH@endifÀ venir
@empty
Tous vos clients ont payé.
@endforelse

{{ $s['regle'] }}