@extends('layouts.app') @section('title', 'Prévisions') @section('content')

Tableau des prévisions


@foreach($previsions->groupBy('activite_id') as $activiteId => $activitePrevisions) @php $activite = $activitePrevisions->first()->activite; $extrantsGrouped = $activitePrevisions->groupBy('extrant_id'); @endphp @foreach($extrantsGrouped as $extrantId => $extrantPrevisions) @php $extrant = $extrantPrevisions->first()->extrant; @endphp @foreach($extrantPrevisions as $index => $p) @php $today = now(); $dateEval = \Carbon\Carbon::parse($p->dateevaluation); $etat = ''; $style = ''; $details = ''; // Calculer la fin du trimestre courant $currentMonth = $today->month; $currentYear = $today->year; if ($currentMonth <= 3) { $endOfQuarter = \Carbon\Carbon::create($currentYear, 3, 31)->endOfDay(); } elseif ($currentMonth <= 6) { $endOfQuarter = \Carbon\Carbon::create($currentYear, 6, 30)->endOfDay(); } elseif ($currentMonth <= 9) { $endOfQuarter = \Carbon\Carbon::create($currentYear, 9, 30)->endOfDay(); } else { $endOfQuarter = \Carbon\Carbon::create($currentYear, 12, 31)->endOfDay(); } if ($dateEval->greaterThan($today) && $dateEval->lessThanOrEqualTo($endOfQuarter)) { // Prévisions dans le reste du trimestre courant $etat = 'À venir'; $style = 'bg-blue'; } elseif ($dateEval->greaterThan($endOfQuarter)) { // Prévisions au-delà du trimestre courant : aucun état $etat = ''; $style = ''; } else { // Prévisions passées if ($p->evaluations->isEmpty()) { $jours = $dateEval->diffInDays($today, false); $jours = (int) $jours; $etat = 'En retard'; $details = "($jours jrs)"; $style = 'bg-red'; } else { $evaluation = $p->evaluations->first(); if (!$evaluation->valide) { $etat = 'Évalué non validé'; $style = 'bg-orange'; } else { $etat = 'Évalué et validé'; $style = 'bg-green'; } } } @endphp {{-- Activité : seulement sur la première ligne du groupe --}} @if($loop->first && $loop->parent->first) @endif {{-- Extrant : seulement sur la première ligne de son groupe --}} @if($loop->first) @endif {{-- Prévision --}} @endforeach @endforeach @endforeach
Activité Extrant Date prévisionnelle Taux prévisionnel (%) État d'évaluation
{{ $activite->nom }} {{ $extrant->nom }} {{ $p->dateevaluation }} {{ $p->niveaucible }} {{ $etat }} {{ $details }}
@endsection