@php use App\Support\Money; // v4.32.1 §A.3 — LE CAMEMBERT EST L'EN-TÊTE DU « COÛT COMPLET — DÉTAIL ». Il était un bloc à part // qui sommait ses propres sources (sans la gérance) et annonçait une clé de répartition figée : // deux coûts complets sur la même fiche. Il lit désormais la répartition du détail // (`CoutCompletDetailService::repartition()`) et les aides des réglages (`::aides()`). // Variables : $breakdown (répartition), $aides. $parts = [ ['label' => 'Dépenses directes', 'aide' => $aides['direct'], 'value' => $breakdown['direct'] ?? 0, 'color' => '#0A1B33'], ['label' => 'Salaires de l\'équipe', 'aide' => $aides['rh'], 'value' => $breakdown['rh'] ?? 0, 'color' => '#C9A227'], ['label' => 'Salaires des associés', 'aide' => $aides['associes'], 'value' => $breakdown['associes'] ?? 0, 'color' => '#B45309'], ['label' => 'Charges fixes', 'aide' => $aides['fixed_charges'], 'value' => $breakdown['fixed_charges'] ?? 0, 'color' => '#3B82F6'], ['label' => 'Charges de la société', 'aide' => $aides['structure'], 'value' => $breakdown['structure'] ?? 0, 'color' => '#2563EB'], ['label' => 'Amortissements', 'aide' => $aides['amortissements'], 'value' => $breakdown['amortissements'] ?? 0, 'color' => '#0D9488'], ['label' => 'Primes liées', 'aide' => $aides['bonuses'], 'value' => $breakdown['bonuses'] ?? 0, 'color' => '#8B5CF6'], ['label' => 'Frais remboursables', 'aide' => $aides['claims'], 'value' => $breakdown['claims'] ?? 0, 'color' => '#9CA3AF'], ]; $parts = array_values(array_filter($parts, fn (array $p): bool => $p['value'] > 0)); // Le total affiché est celui du détail, jamais une somme refaite ici. $total = (float) ($breakdown['total'] ?? 0); // Le camembert se dessine en CSS pur : pas de librairie à charger, et il reste net à // l'impression comme sur un téléphone. $segments = []; $curseur = 0.0; foreach ($parts as $part) { $part['pct'] = $total > 0 ? $part['value'] / $total * 100 : 0; $segments[] = "{$part['color']} {$curseur}% " . ($curseur + $part['pct']) . '%'; $curseur += $part['pct']; } $gradient = $total > 0 ? 'conic-gradient(' . implode(', ', $segments) . ')' : '#E5E7EB'; @endphp @if ($total <= 0)
Aucun coût enregistré sur ce marché pour l'instant.
@else{{ $part['aide'] }}
Les charges de la société et les amortissements ne sont pas des dépenses du marché : c'est sa quote-part, calculée à la clé. Les cautions n'y figurent jamais — elles sont immobilisées, pas dépensées.
@endif