@php // Les données sont calculées par MonAmortissementDetaileCalculator // Valeurs par défaut si non calculées $flux_annuels = $flux_annuels ?? null; $date_livraison_formatee = $date_livraison_formatee ?? '--'; // Calculer la date de livraison formatée si non fournie if($date_livraison_formatee === '--' && isset($program) && $program) { $dateLivraison = $program->dates->where('type', 'date_livraison')->first(); if($dateLivraison && $dateLivraison->value) { try { $date = new \DateTime($dateLivraison->value); $date_livraison_formatee = $date->format('m/Y'); } catch (\Exception $e) { $date_livraison_formatee = '--'; } } } // Calculer les totaux $total_montant_echeances = 0; $total_montant_capital_rembourse = 0; $total_montant_interets_emprunt = 0; $total_montant_assurance_emprunt = 0; if(isset($flux_annuels->annees)) { foreach($flux_annuels->annees as $annee => $simulation_flux_annuels) { $total_montant_echeances += $simulation_flux_annuels->annuite_totale ?? 0; $total_montant_capital_rembourse += $simulation_flux_annuels->amortissement ?? 0; $total_montant_interets_emprunt += $simulation_flux_annuels->interets_rembourses ?? 0; $total_montant_assurance_emprunt += $simulation_flux_annuels->assurance ?? 0; } } // IMPORTANT: Le total du capital remboursé doit être égal au reste à financer // (montant du crédit initial avec frais de garantie) // Utiliser total_amortissement_final qui correspond exactement au reste_a_financer // calculé de la même manière que dans Mon plan de financement if(isset($total_amortissement_final) && $total_amortissement_final > 0) { $total_montant_capital_rembourse = $total_amortissement_final; } @endphp
@include('simulator.templates.shared._titre_page', ['titreContent' => 'Mon amortissement détaillé'])
@include('simulator.templates.shared._pictoLignesHori', ['width' => 200])
@yield('date_livraison_notice') @if(isset($flux_annuels->annees)) @php // Calculer l'année de départ si non fournie $annee_depart = $annee_depart ?? null; if (!$annee_depart && isset($date_livraison_formatee) && $date_livraison_formatee !== '--') { try { $parts = explode('/', $date_livraison_formatee); if (count($parts) === 2) { $annee_depart = (int) $parts[1]; } } catch (\Exception $e) { // Ignorer } } if (!$annee_depart) { $annee_depart = (int) date('Y'); } // Détecter si les clés sont déjà des années réelles ou des indices // Si la première clé est >= 2000, ce sont probablement des années réelles $keys = array_keys((array)$flux_annuels->annees); $premiere_cle = !empty($keys) ? (int) $keys[0] : null; $cles_sont_annees_reelles = ($premiere_cle !== null && $premiere_cle >= 2000); // Trier les années pour garantir un ordre incrémental if ($cles_sont_annees_reelles) { // Les clés sont déjà des années réelles, les trier ksort($flux_annuels->annees); } else { // Les clés sont des indices (1, 2, 3, ...), les trier aussi ksort($flux_annuels->annees); } @endphp @foreach($flux_annuels->annees as $annee => $simulation_flux_annuels) @php // Calculer l'année réelle à afficher if ($cles_sont_annees_reelles) { // Les clés sont déjà des années réelles, les utiliser directement $annee_reelle = (int) $annee; } else { // Les clés sont des indices (1, 2, 3, ...), calculer l'année réelle $annee_reelle = $annee_depart + ($annee - 1); } $class = ($annee_reelle % 2 == 1) ? "tr_tableau_ammo tr_impair" : "tr_tableau_ammo tr_pair"; @endphp @endforeach @endif
Année Annuités Capital remboursé Intérêts remboursés Assurance Capital restant dû
{{ $annee_reelle }} {{ isset($simulation_flux_annuels->annuite_totale) ? number_format($simulation_flux_annuels->annuite_totale, 0, ',', ' ') . ' €' : '-' }} {{ isset($simulation_flux_annuels->amortissement) ? number_format($simulation_flux_annuels->amortissement, 0, ',', ' ') . ' €' : '-' }} {{ isset($simulation_flux_annuels->interets_rembourses) ? number_format($simulation_flux_annuels->interets_rembourses, 0, ',', ' ') . ' €' : '-' }} {{ isset($simulation_flux_annuels->assurance) ? number_format($simulation_flux_annuels->assurance, 0, ',', ' ') . ' €' : '-' }} {{ isset($simulation_flux_annuels->capital_restant_du) ? number_format($simulation_flux_annuels->capital_restant_du, 0, ',', ' ') . ' €' : '-' }}
TOTAL {{ number_format($total_montant_echeances, 0, ',', ' ') }} € {{ number_format($total_montant_capital_rembourse, 0, ',', ' ') }} € {{ number_format($total_montant_interets_emprunt, 0, ',', ' ') }} € {{ number_format($total_montant_assurance_emprunt, 0, ',', ' ') }} €