@php use App\Filament\Admin\Resources\Transactions\TransactionResource; use App\Support\Money; $etat = $getState(); $rows = $etat['rows'] ?? []; $projectId = $etat['project_id'] ?? null; $structure = $etat['structure'] ?? []; $cle = $etat['cle'] ?? null; $totalEngage = array_sum(array_column($rows, 'montant')); $totalStructure = array_sum(array_column($structure, 'montant')); $totalGeneral = $totalEngage + $totalStructure; $parasites = array_filter($rows, fn (array $r): bool => $r['parasite'] ?? false); @endphp {{-- v3.3 §4 puis v3.5 §1 — Les dépenses du marché, catégorie par catégorie (assiette du coût direct : opérations validées, sorties, flux standard). Un clic mène aux opérations filtrées. ⚠️ DEUX BLOCS, et c'est le fond du correctif. Une dépense engagée est une écriture ; une quote-part de structure est un calcul. Les poser côte à côte sans le dire fausse la lecture de la marge. Le total général les additionne — explicitement. --}}
{{ count($parasites) === 1 ? 'Une catégorie porte' : count($parasites).' catégories portent' }}
le nom du marché : la reprise des données a créé une catégorie par marché au lieu de
classer les dépenses par nature (déplacement, impression, marketing, gazoil…). Le
reclassement se fait par la commande de reprise
reprise:reclasser-categories-marche,
après essai à blanc.
| Catégorie | Montant (HT) | Opérations | Part |
|---|---|---|---|
| @if ($row['category_id'] !== null && $projectId !== null) {{ $row['libelle'] }} @else {{ $row['libelle'] }} @endif @if ($row['parasite'] ?? false) à reclasser @endif | {{ Money::format($row['montant']) }} | {{ $row['nb'] }} | {{ number_format($row['part'], 1, ',', ' ') }} % |
| Aucune dépense validée rattachée à ce marché : s'il devrait y en avoir, c'est le rattachement des opérations au marché qui manque en base. | |||
| Sous-total — dépenses engagées | {{ Money::format($totalEngage) }} | {{ array_sum(array_column($rows, 'nb')) }} | 100 % |
| Mois | Détail | Montant |
|---|---|---|
| {{ $mois['label'] }} | @foreach ($mois['sources'] as $source) {{ $source['libelle'] }} {{ Money::format($source['montant']) }}@unless ($loop->last) · @endunless @endforeach | {{ Money::format($mois['montant']) }} |
| Aucune quote-part de structure calculée sur ce marché. Si des mois d'activité manquent, c'est la ventilation mensuelle qui n'a pas été lancée. | ||
| Sous-total — structure allouée | {{ Money::format($totalStructure) }} | |