@extends('layouts.app') @section('titulo','Fichaje como '.$usuario->nombre) @section('contenido')
@switch($estadoActual['estado']) @case('sin_fichar') Estado: Sin fichar @break @case('entrada') Estado: En el trabajo @break @case('salida') Estado: Fuera del trabajo @break @default Estado: {{ ucfirst($estadoActual['estado']) }} @endswitch

{{ $estadoActual['mensaje'] }}

@if($estadoActual['estado'] !== 'sin_fichar') Último: {{ $estadoActual['hora_ultimo'] }} @endif {{ $horasTrabajadas }}h hoy
Horario de trabajo ({{ $horarioInfo['contrato_horas'] }}h)
@if($horarioInfo['horario_hoy'])

Horario de hoy: {{ $horarioInfo['horario_hoy']['inicio'] }} - {{ $horarioInfo['horario_hoy']['fin'] }}

Horas del día: {{ $horarioInfo['horario_hoy']['horas'] }}h

@else

No es día laboral

@endif
@if($horarioInfo['valido']) En horario @else {{ $horarioInfo['motivo'] }} @endif
@if($fichajesHoy->isNotEmpty())
Fichajes de hoy
@foreach($fichajesHoy as $fichaje) @endforeach
Hora Tipo Movimiento Estado
{{ $fichaje->fecha_hora->format('H:i:s') }} @switch($fichaje->tipoFichaje->tipo_fichaje) @case(1) Código @break @case(2) Ubicación @break @case(3) QR @break @case(4) NFC @break @case(5) Aplicación @break @endswitch @if($fichaje->tipo_movimiento === 'entrada') Entrada @else Salida @endif @if($fichaje->status === 'correcto') Correcto @else Incorrecto @endif
@endif @if ($tiposFichaje->isNotEmpty())
Métodos de fichaje disponibles:
Ver Reportes
@php $tiposLector = $tiposFichaje->filter(function ($f) { return in_array(normalizarTipoFichajeAId($f->tipo_fichaje), [1, 3, 4], true); })->values(); $tiposApp = $tiposFichaje->filter(function ($f) { return in_array(normalizarTipoFichajeAId($f->tipo_fichaje), [2, 5], true); })->values(); @endphp @if ($tiposLector->isNotEmpty())
Fichar en Lector de Fichajes
@foreach ($tiposLector as $index => $fichaje) @php $tipoFichNum = normalizarTipoFichajeAId($fichaje->tipo_fichaje); $tipoLabels = array_flip(getTiposFichaje()); $tipoEtiqueta = $tipoLabels[$tipoFichNum] ?? 'Fichaje'; @endphp

@switch($tipoFichNum) @case(1)

Ingresa el siguiente código en el lector de fichaje:

{{$fichaje->codigo}}

@break @case(3)

Muestra el siguiente código QR en el lector de fichaje donde vayas a trabajar.

base64_encode($usuario->nombre)])}}" class="qr-image p-3" width="250">
@csrf
@break @case(4)

Utiliza tu tarjeta NFC o tu dispositivo móvil y acércalo al lector de fichaje.

@csrf
@break @endswitch
@endforeach
@endif @if ($tiposApp->isNotEmpty())
Fichar desde Aplicación
@foreach ($tiposApp as $index => $fichaje) @php $tipoFichNum = normalizarTipoFichajeAId($fichaje->tipo_fichaje); $tipoLabels = array_flip(getTiposFichaje()); $tipoEtiqueta = $tipoLabels[$tipoFichNum] ?? 'Fichaje'; @endphp

@switch($tipoFichNum) @case(2)

Activa el GPS y permite la ubicación. Detectamos automáticamente el lugar de trabajo más cercano a ti (radio {{ $fichajeRadioLugarKm }} km).

Obteniendo ubicación…
@csrf
@break @case(5)

Pulsa el siguiente botón para fichar mediante tu aplicación.

@csrf
@break @endswitch
@endforeach
@endif @else

No tienes asignado ningún tipo de fichaje.

@endif
@endsection @push('scripts') @endpush