@if(!empty($logoSrc)) Logo @endif @if(isset($header)) {!! $header !!} @endif

Report Piano Alimentare Personalizzato

@if(isset($piano->cliente->Nome) && !empty($piano->cliente->Nome)) Nome: {{ $piano->cliente->Nome }} @else Report Piano Alimentare @endif

Elaborato il {{ now()->format('d/m/Y H:i') }}

{{-- Informazioni Personali --}}

Informazioni Personali

Nome Cliente:
{{ $piano->cliente->Nome ?? 'N/A' }}
Sesso:
{{ $piano->Sesso ?? 'N/A' }}
Data di Nascita:
@if($piano->DataNascita && !empty($piano->DataNascita)) {{ \Carbon\Carbon::parse($piano->DataNascita)->format('d/m/Y') }} @else N/A @endif
Età:
@if($piano->DataNascita && !empty($piano->DataNascita)) {{ \Carbon\Carbon::parse($piano->DataNascita)->age }} anni @else N/A @endif
Peso:
{{ $piano->Peso ?? 'N/A' }} kg
Altezza:
{{ $piano->Altezza ?? 'N/A' }} cm
Obiettivo:
{{ $piano->Obiettivo ?? 'N/A' }}
Tipo Dieta:
{{ $piano->TipoDieta ?? 'N/A' }}
Condizioni di salute:
@php $patologie = $piano->Patologie; if (is_string($patologie)) { $patologieDecodificate = json_decode($patologie, true); if (json_last_error() === JSON_ERROR_NONE && is_array($patologieDecodificate)) { $patologie = $patologieDecodificate; } } @endphp @if(is_array($patologie) && !empty($patologie)) {{ implode(', ', $patologie) }} @elseif(is_string($patologie) && trim($patologie) !== '') {{ $patologie }} @else Non specificato @endif
@if(trim((string) ($piano->Avvertenze ?? '')) !== '')
Note per il paziente
{!! nl2br(e((string) $piano->Avvertenze)) !!}
@endif {{-- Composizione Nutrizionale Compatta --}} @if(isset($pianoDietetico) && is_array($pianoDietetico) && !($nascondiMacroKcal ?? false)) @php // Raccogli tutti i dati di composizione nutrizionale dai giorni $composizioneNutrizionale = []; foreach($pianoDietetico as $giorno => $dettagli) { if(isset($dettagli['Composizione dieta']) && is_array($dettagli['Composizione dieta'])) { foreach($dettagli['Composizione dieta'] as $nutriente => $valore) { if(!isset($composizioneNutrizionale[$nutriente])) { $composizioneNutrizionale[$nutriente] = []; } if($valore !== null && $valore !== '') { $composizioneNutrizionale[$nutriente][] = $valore; } } } } // Calcola la media per ogni nutriente $composizioneMedia = []; foreach($composizioneNutrizionale as $nutriente => $valori) { $valoriNumerici = array_filter($valori, function($v) { return is_numeric($v); }); if(!empty($valoriNumerici)) { $composizioneMedia[$nutriente] = round(array_sum($valoriNumerici) / count($valoriNumerici), 1); } } @endphp @if(!empty($composizioneMedia))

Composizione Nutrizionale Media

{{-- MACRONUTRIENTI COMPATTI --}}

Macronutrienti

@php $macros = [ ['kcal', 'Calorie', 'kcal'], ['proteine', 'Proteine', 'g'], ['carboidrati', 'Carboidrati', 'g'], ['grassi', 'Grassi', 'g'], ['fibre', 'Fibre', 'g'], ['acqua', 'Acqua', 'ml'], ]; $macroChunks = array_chunk($macros, 3); @endphp @foreach($macroChunks as $chunk)
@foreach($chunk as $macro) @php $key = $macro[0]; $label = $macro[1]; $unit = $macro[2]; $value = $composizioneMedia[$key] ?? null; @endphp @if($value !== null)
{{ $value }} {{ $unit }}
{{ $label }}
@endif @endforeach
@endforeach
{{-- ACIDI GRASSI COMPATTI --}} @php $acidiGrassi = [ ['acidiGrassiSaturi', 'Saturi', 'g'], ['acidiGrassiPolinsaturi', 'Polinsaturi', 'g'], ['acidiGrassiMonoinsaturi', 'Monoinsaturi', 'g'], ['omega3', 'Omega 3', 'g'], ['omega6', 'Omega 6', 'g'], ['colesterolo', 'Colesterolo', 'mg'], ]; $hasAcidiGrassi = false; foreach($acidiGrassi as $fat) { if(isset($composizioneMedia[$fat[0]])) { $hasAcidiGrassi = true; break; } } @endphp @if($hasAcidiGrassi)

Acidi Grassi

@php $fatChunks = array_chunk($acidiGrassi, 3); @endphp @foreach($fatChunks as $chunk)
@foreach($chunk as $fat) @php $key = $fat[0]; $label = $fat[1]; $unit = $fat[2]; $value = $composizioneMedia[$key] ?? null; @endphp @if($value !== null)
{{ $value }} {{ $unit }}
{{ $label }}
@endif @endforeach
@endforeach
@endif {{-- VITAMINE B COMPATTE --}} @php $vitamineB = [ ['vitamineB1', 'B1', 'mg'], ['vitamineB2', 'B2', 'mg'], ['vitamineB3', 'B3', 'mg'], ['vitamineB6', 'B6', 'mg'], ['vitamineB9', 'B9', 'mg'], ['vitamineB12', 'B12', 'mg'], ]; $hasVitamineB = false; foreach($vitamineB as $vit) { if(isset($composizioneMedia[$vit[0]])) { $hasVitamineB = true; break; } } @endphp @if($hasVitamineB)

Vitamine B

@php $vitChunks = array_chunk($vitamineB, 3); @endphp @foreach($vitChunks as $chunk)
@foreach($chunk as $vit) @php $key = $vit[0]; $label = $vit[1]; $unit = $vit[2]; $value = $composizioneMedia[$key] ?? null; @endphp @if($value !== null)
{{ $value }} {{ $unit }}
{{ $label }}
@endif @endforeach
@endforeach
@endif
@endif @endif {{-- Composizione Corporea --}} {{-- Valutazione Nutrizionale --}} {{-- Piano Alimentare (solo piano automatico / non manuale) --}} @php $nomiAlimenti = $nomiAlimenti ?? []; $giorniSettimana = [ 'Lunedi', 'Martedi', 'Mercoledi', 'Giovedi', 'Venerdi', 'Sabato', 'Domenica' ]; $pastiAggregati = []; $etichettePasti = [ 'colazione' => 'Colazione', 'spuntino_mattutino' => 'Spuntino mattutino', 'pranzo' => 'Pranzo', 'spuntino_pomeridiano' => 'Spuntino pomeridiano', 'cena' => 'Cena', ]; if (is_array($pianoDietetico)) { foreach($giorniSettimana as $giorno) { if(isset($pianoDietetico[$giorno]) && is_array($pianoDietetico[$giorno])) { $dettagli = $pianoDietetico[$giorno]; foreach($dettagli as $tipoPasto => $datiPasto) { if (!is_string($tipoPasto) || in_array($tipoPasto, ['totali_giorno', 'Composizione dieta'], true) || !is_array($datiPasto)) { continue; } if (!isset($pastiAggregati[$tipoPasto])) { $pastiAggregati[$tipoPasto] = ['principali' => [], 'alternative' => []]; } if (!isset($etichettePasti[$tipoPasto])) { $etichettePasti[$tipoPasto] = trim((string) ($datiPasto['_nome_pasto'] ?? '')) !== '' ? trim((string) $datiPasto['_nome_pasto']) : ucfirst(str_replace('_', ' ', $tipoPasto)); } if(isset($datiPasto['principale'])) { if(is_array($datiPasto['principale'])) { $pastiAggregati[$tipoPasto]['principali'][] = implode(', ', $datiPasto['principale']); } else { $pastiAggregati[$tipoPasto]['principali'][] = $datiPasto['principale']; } } } } } } foreach($pastiAggregati as $tipo => $dati) { $pastiAggregati[$tipo]['principali'] = array_unique($dati['principali']); } @endphp

Piano Alimentare - Opzioni per Tipo di Pasto

@foreach(array_keys($pastiAggregati) as $tipoPasto) @php $dati = $pastiAggregati[$tipoPasto]; $nomePasto = $etichettePasti[$tipoPasto] ?? ucfirst(str_replace('_', ' ', $tipoPasto)); @endphp @endforeach
Pasto Opzioni Principali
{{ $nomePasto }} @if(!empty($dati['principali']))
    @foreach($dati['principali'] as $pasto)
  1. {{ $pasto }}
  2. @endforeach
@else Nessuna opzione principale @endif
{{-- Footer --}}