@extends('partes.a4.layout') @push('a4-css') @endpush @section('a4-content') @php $fmtH = function ($v) { if ($v === null || $v === '') { return ''; } if ($v instanceof \DateTimeInterface) { return $v->format('H:i'); } return substr((string) $v, 0, 5); }; $catOA = function ($u) { $c = mb_strtolower((string) ($u->contrato_categoria ?? '')); if (str_contains($c, 'ayud')) { return 'A'; } return 'O'; }; $lugar = $parte->lugar; $filasMat = collect(); foreach ($parte->registrosTrabajo as $reg) { foreach ($reg->materialesUtilizados as $mu) { $filasMat->push([ 'cod' => $mu->material->codigo_sku ?? '', 'nom' => $mu->material->nombre ?? '', 'ud' => $mu->cantidad_utilizada, ]); } } foreach ($parte->materialesAdicionales as $ad) { $filasMat->push([ 'cod' => $ad->material->codigo_sku ?? '', 'nom' => $ad->material->nombre ?? '', 'ud' => $ad->cantidad, ]); } $filasMatMostrar = $filasMat ->filter(function ($f) { $cod = trim((string) ($f['cod'] ?? '')); $nom = trim((string) ($f['nom'] ?? '')); $ud = $f['ud'] ?? null; return $cod !== '' || $nom !== '' || ($ud !== '' && $ud !== null); }) ->take(20) ->values(); $trabajoTexto = $parte->registrosTrabajo ->map(fn ($r) => trim((string) $r->descripcion_trabajo)) ->filter() ->unique() ->implode("\n"); $numParteFmt = str_pad((string) $parte->id, 4, '0', STR_PAD_LEFT); $a4HuecosOperariosExtra = 2; $cab = config('empresa.cabecera_medesa_sitelec', []); $med = $cab['medesa'] ?? []; $sit = $cab['sitelec_ib'] ?? []; @endphp
@if(!empty($med['logo_url'])) @endif

{{ $med['titulo'] ?? 'MEDESA' }}

@if(!empty($med['cif']))

C.I.F. {{ $med['cif'] }}

@endif @foreach($med['lineas'] ?? [] as $linea)

{{ $linea }}

@endforeach
@if(!empty($sit['logo_url'])) @endif

{{ $sit['titulo'] ?? 'SITELEC.IB' }}

@if(!empty($sit['subtitulo']))

{{ $sit['subtitulo'] }}

@endif @if(!empty($sit['cif']))

C.I.F. {{ $sit['cif'] }}

@endif @foreach($sit['lineas'] ?? [] as $linea)

{{ $linea }}

@endforeach
Cliente {{ $lugar->nombre ?? '—' }}
Dirección {{ $parte->direccion ?: ($lugar->direccion ?? '') }}
Localidad {{ $parte->poblacion ?: ($lugar->poblacion ?? '') }}

Parte de trabajo

Nº {{ $numParteFmt }}

Fecha {{ $parte->fecha?->format('d/m/Y') ?? '—' }}

Trabajo realizado

{{ $trabajoTexto }}

Observaciones

{{ $parte->observaciones }}

Materiales

@forelse($filasMatMostrar as $fila) @empty @endforelse
Cod. Cant. Descripción
{{ $fila['cod'] }} {{ $fila['ud'] !== '' && $fila['ud'] !== null ? $fila['ud'] : '' }} {{ $fila['nom'] }}
Sin materiales registrados.

Horas de trabajo

@forelse($parte->registrosTrabajo as $registro) @empty @endforelse @for($i = $parte->registrosTrabajo->count(); $i < $parte->registrosTrabajo->count() + $a4HuecosOperariosExtra; $i++) @for($j = 0; $j < 7; $j++) @endfor @endfor
Operario Cat.
(O)/(A)
Mañana Tarde Total
horas
Empieza Termina Empieza Termina
{{ $registro->user?->nombreCompleto() ?? '—' }} {{ $catOA($registro->user) }} {{ $fmtH($registro->entrada_manana) }} {{ $fmtH($registro->salida_manana) }} {{ $fmtH($registro->entrada_tarde) }} {{ $fmtH($registro->salida_tarde) }} {{ number_format((float) $registro->horas_laborales, 2, ',', '') }}
Sin registros de trabajo.
 

Firmas

@endsection