@php // Quantites centrees, montants a droite, texte a gauche : meme regle qu'a l'ecran. $centres = ['nombre', 'decimal', 'pourcentage']; $periode = $filtres->periode->resume(); // Mise en forme d'une valeur selon le type de sa colonne, reprise a // l'identique par les lignes de detail et par les lignes de cumul. $cellule = static function ($valeur, $type) { if ($valeur === null || $valeur === '') { return '—'; } return match ($type) { 'monnaie', 'decimal' => number_format((float) $valeur, 2, ',', ' '), 'nombre' => number_format((float) $valeur, 0, ',', ' '), 'pourcentage' => rtrim(rtrim(number_format((float) $valeur, 2, ',', ' '), '0'), ',') . ' %', 'date' => \Illuminate\Support\Carbon::parse($valeur)->format('d/m/Y'), 'dateheure' => \Illuminate\Support\Carbon::parse($valeur)->format('d/m/Y H:i'), default => $valeur, }; }; // Intitule d'une ligne de cumul : dans la premiere colonne non totalisee, // faute de quoi il masquerait un chiffre. $indexLibelle = null; foreach ($colonnes as $index => $colonne) { if (! $colonne->totalisable) { $indexLibelle = $index; break; } } @endphp
@if ($agence !== '') @endif
{{ $titre }} Agence laboratoire {{ $agence }}
Période du {{ \Illuminate\Support\Carbon::parse($periode['debut'])->format('d/m/Y') }} au {{ \Illuminate\Support\Carbon::parse($periode['fin'])->format('d/m/Y') }} @if ($filtres->recherche !== '') · Recherche : « {{ $filtres->recherche }} » @endif @php $axe = \Illuminate\Support\Str::lower($libelleAxe ?: 'groupe'); @endphp @if ($synthese) · Synthèse · {{ count($lignes) }} {{ $axe }}(s) @else · {{ count($lignes) }} ligne(s) @if ($ruptures !== null) · {{ count($ruptures->blocs) }} {{ $axe }}(s) @endif @endif
@foreach ($colonnes as $colonne) @endforeach {{-- Rapport ventile : un bloc par groupe, comme a l'ecran. --}} @if ($ruptures !== null) @foreach ($ruptures->blocs as $bloc) @foreach ($bloc['lignes'] as $ligne) @foreach ($colonnes as $colonne) @endforeach @endforeach @foreach ($colonnes as $index => $colonne) @endforeach @endforeach @else @foreach ($lignes as $ligne) @foreach ($colonnes as $colonne) @endforeach @endforeach @endif @if (! empty($total)) @foreach ($colonnes as $index => $colonne) @endforeach @endif
in_array($colonne->type, $centres, true), 'montant' => $colonne->type === 'monnaie', ])> {{ $colonne->libelleCourt ?? $colonne->libelle }}
{{ \App\Services\Extranet\Rapports\Ruptures::identiteEnLigne($bloc['identite']) ?: '—' }}
in_array($colonne->type, $centres, true), 'montant' => $colonne->type === 'monnaie', ])>{{ $cellule($ligne[$colonne->cle] ?? null, $colonne->type) }}
in_array($colonne->type, $centres, true), 'montant' => $colonne->type === 'monnaie', ])>@if ($index === $indexLibelle)Total @elseif (array_key_exists($colonne->cle, $bloc['sousTotaux'])){{ $cellule($bloc['sousTotaux'][$colonne->cle], $colonne->type) }}@endif
in_array($colonne->type, $centres, true), 'montant' => $colonne->type === 'monnaie', ])>{{ $cellule($ligne[$colonne->cle] ?? null, $colonne->type) }}
in_array($colonne->type, $centres, true), 'montant' => $colonne->type === 'monnaie', ])>@if ($index === $indexLibelle)Total général @elseif (array_key_exists($colonne->cle, $total)){{ $cellule($total[$colonne->cle], $colonne->type) }}@endif
Extranet Gpharma · édité le {{ $genereLe }}