Resultados del Plan: {{ $plan->nombre_plan_estrategico }}

@if ($plan->indicador === 'finalizado')
⛔ Este plan está finalizado.

El progreso y el estado de tiempo no se actualizarán hasta que se reactive.

📅 Fecha de inicio

{{ \Carbon\Carbon::parse($plan->fecha_inicio)->format('d/m/Y') }}

✅ Fecha de finalización

{{ \Carbon\Carbon::parse($plan->updated_at)->format('d/m/Y') }}

@php $inicio = \Carbon\Carbon::parse($plan->fecha_inicio); $finReal = \Carbon\Carbon::parse($plan->updated_at); $finEstimada = \Carbon\Carbon::parse($plan->fecha_fin); // Fecha esperada $diferenciaHoras = $inicio->diffInHours($finReal); $duracionDiasAprox = round($diferenciaHoras / 24); $mensajeTiempo = $finReal->lte($finEstimada) ? '✅ El plan se completó en el tiempo estipulado.' : '⚠️ El plan se completó después del tiempo previsto.'; @endphp

🕓 Duración total

{{ $duracionDiasAprox }} días

{{ $mensajeTiempo }}
Avance global al finalizar el plan: {{ $porcentajeTotal }}%
📌 Estado final
Este fue el porcentaje alcanzado al momento de finalizar el plan.
@endif @if (isset($porcentajeTotal)) @if ($plan->indicador !== 'finalizado') @php $hoy = \Carbon\Carbon::today(); $inicio = \Carbon\Carbon::parse($plan->fecha_inicio); $fin = \Carbon\Carbon::parse($plan->fecha_fin); $totalDias = $inicio->diffInDays($fin); $diasTranscurridos = $inicio->diffInDays($hoy); $diasRestantes = $hoy->lessThanOrEqualTo($fin) ? $hoy->diffInDays($fin) : 0; $diasRetrasados = $hoy->greaterThan($fin) ? $fin->diffInDays($hoy) : 0; $estadoTiempo = match ($plan->indicador) { 'verde' => '✅ El plan va bien según el tiempo estimado.', 'amarillo' => '🟡 Atención: el plan ha pasado la mitad del tiempo.', 'rojo' => '🔴 El plan está atrasado según la fecha final.', 'blanco' => '🕒 El plan está en su etapa inicial.', default => '⏳ Sin estado definido.', }; $detalleTiempo = 'Inicio: ' . $inicio->format('d M Y') . ' | Fin: ' . $fin->format('d M Y') . ' | '; if ($diasRetrasados > 0) { $detalleTiempo .= "⏰ $diasRetrasados días de retraso."; } else { $detalleTiempo .= "$diasTranscurridos días transcurridos, $diasRestantes días restantes."; } $colorFondo = match ($plan->indicador) { 'verde' => 'green-100', 'amarillo' => 'yellow-100', 'rojo' => 'red-100', default => 'gray-100', }; $colorTexto = match ($plan->indicador) { 'verde' => 'green-800', 'amarillo' => 'yellow-800', 'rojo' => 'red-800', default => 'gray-800', }; @endphp
Avance global del plan estratégico: {{ $porcentajeTotal }}%
{{ $estadoTiempo }}
{{ $detalleTiempo }}
@endif @endif

Avance por Meta

@if (empty($data))

Este plan no tiene metas con actividades registradas aún.

@else @foreach ($data as $item) @endforeach
Meta Descripción Porcentaje Indicador Comentario
{{ $item['meta'] }} {{ $item['descripcion'] }} {{ $item['porcentaje'] }}% {{ ucfirst($item['indicador']) }} {{ $item['comentario'] }}
@endif @auth @if (in_array(auth()->user()->tipo_usuario, ['administrador', 'responsable_plan', 'encargado_institucion'])) @php switch (auth()->user()->tipo_usuario) { case 'responsable_plan': $rutaInicio = route('plan.responsable', $plan->id); break; case 'administrador': $rutaInicio = route('institucion.planes', $plan->departamento->institucion->id); break; case 'encargado_institucion': $rutaInicio = route('institucion.planes', $plan->departamento->institucion->id); break; default: $rutaInicio = '#'; } @endphp @if ($rutaInicio !== '#') @endif @endif @endauth