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
| Meta |
Descripción |
Porcentaje |
Indicador |
Comentario |
@foreach ($data as $item)
| {{ $item['meta'] }} |
{{ $item['descripcion'] }} |
{{ $item['porcentaje'] }}% |
{{ ucfirst($item['indicador']) }} |
{{ $item['comentario'] }} |
@endforeach
@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