@extends('layouts.app') @section('title','Importar Biométrico') @section('content')

Importar desde Biométrico

@if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
    @foreach($errors->all() as $e)
  • {{ $e }}
  • @endforeach
@endif
{{-- Formulario de importación --}}

Cargar Archivo del Biométrico

Formatos aceptados:

Formato A — Una marcación por fila (primer registro = entrada, último = salida):

DNI,Fecha,Hora
72345678,2026-05-08,08:05
72345678,2026-05-08,17:15

Formato B — Entrada y salida en la misma fila:

DNI,Fecha,HoraEntrada,HoraSalida
72345678,2026-05-08,08:05,17:15

Separadores aceptados: coma (,) punto y coma (;) o tabulador.
Fechas: YYYY-MM-DD o DD/MM/YYYY.
Solo se importan empleados con DNI registrado en el ERP.

@csrf
@error('archivo')
{{ $message }}
@enderror
@error('fecha_inicio')
{{ $message }}
@enderror
@error('fecha_fin')
{{ $message }}
@enderror
Si ya existe una asistencia manual para un trabajador en esa fecha, será sobreescrita con los datos del biométrico.
{{-- Historial de importaciones --}}

Últimas Importaciones

@forelse($importaciones as $imp) @empty @endforelse
ArchivoRangoTotalOKNo reconocidosPor
{{ Str::limit($imp->archivo_nombre, 20) }} {{ $imp->fecha_inicio->format('d/m') }}—{{ $imp->fecha_fin->format('d/m/Y') }} {{ $imp->total_registros }} {{ $imp->registros_ok }} @if($imp->registros_no_reconocidos > 0) {{ $imp->registros_no_reconocidos }} @else 0 @endif {{ $imp->importadoPor->name ?? '—' }}
Sin importaciones previas.
{{-- Plantilla descargable --}}

Plantilla de Ejemplo

Descarga la plantilla CSV y completa con los datos del biométrico:

Descargar Plantilla CSV
@endsection @push('scripts') @endpush