{{-- Programación de Arribos y notificación al transporte (impo/programacion-arribos). Layout nuevo con el kit ui-ctc: métricas del mes, búsqueda con filtros (se aplican al pulsar Consultar), lista con cabecera fija y el detalle de cada DO, gráficas laterales, y —para clientes que administran el transporte— asignación y prealerta. --}} @php $aplicados = $filtrosAplicados; $formatoFecha = fn ($f) => $f ? implode('/', array_reverse(explode('-', $f))) : '…'; $chips = []; if ($aplicados['search'] ?? '') { $chips['search'] = ['Búsqueda', $aplicados['search']]; } if ($aplicados['codigoProceso'] ?? '') { $chips['codigoProceso'] = ['Proceso', $procesos[$aplicados['codigoProceso']] ?? $aplicados['codigoProceso']]; } if ($aplicados['codigoSucursal'] ?? '') { $chips['codigoSucursal'] = ['Sucursal', $sucursales[$aplicados['codigoSucursal']] ?? $aplicados['codigoSucursal']]; } if ($aplicados['tipoDeclaracion'] ?? '') { $chips['tipoDeclaracion'] = ['Tipo declaración', $aplicados['tipoDeclaracion']]; } if ($segmento && ($aplicados['idSegmentoCliente'] ?? '')) { $chips['idSegmentoCliente'] = [$tituloSegmento, $lstSegmentosClientes[$aplicados['idSegmentoCliente']] ?? $aplicados['idSegmentoCliente']]; } if ($aplicados['fechaInicial'] ?? '') { $chips['fechas'] = ['ETA', $formatoFecha($aplicados['fechaInicial']) . ' – ' . $formatoFecha($aplicados['fechaFinal'])]; } $columnas = $adminTransporte ? 13 : 12; $vacio = '—'; // Días para el arribo: más de 5 verde, de 2 a 5 amarillo, menos de 2 rojo (la convención de siempre). $semaforoEta = fn ($dias) => !is_numeric($dias) ? 'neutro' : ($dias > 5 ? 'exito' : ($dias >= 2 ? 'aviso' : 'peligro')); @endphp
@if ($adminTransporte) Prealerta al transporte @if (count($pedidosNotificacion)) {{ count($pedidosNotificacion) }} @endif @endif Descargar Generando… @livewire('importaciones.dashboard-arribos') @foreach ($procesos as $valor => $nombre)@endforeach @foreach ($sucursales as $valor => $nombre)@endforeach @foreach ($lstTipoDeclaracion as $valor => $nombre)@endforeach @if ($segmento) @foreach ($lstSegmentosClientes as $valor => $nombre)@endforeach @endif
Los filtros se aplican al pulsar Consultar. Sin ETA final, se toma hasta el 31 de diciembre de este año. @if (count($chips)) @foreach ($chips as $campo => [$etiqueta, $valor]) @endforeach @endif

Pedidos por arribar {{ number_format($totalPedidos, 0, ',', '.') }}

ETA más de 5 días 2 a 5 menos de 2 Pedido notificado Consultando…
@if ($adminTransporte)@endif @forelse ($pedidos as $ped) @php $do = (string) $ped['NUMERO_DO']; $doJs = \Illuminate\Support\Js::from($do)->toHtml(); $docCompleta = $ped['VALIDACION_DOCUMENTAL']['bl'] && $ped['VALIDACION_DOCUMENTAL']['factura'] && $ped['VALIDACION_DOCUMENTAL']['lista_empaque']; @endphp @if ($adminTransporte) @endif @empty @endforelse
Detalle # DO Pedido Cliente Pto arribo Motonave Declaración Medio Unidades Transportador DocumentaciónAsignar transporte
{{ $do }} {{ $ped['NUMERO_PEDIDO'] }} {{ $ped['CLIENTE'] }} @if ($ped['SUCURSAL_OP']){{ $ped['SUCURSAL_OP'] }}@else{!! $vacio !!}@endif @if ($ped['ETA']) {{ $ped['ETA'] }}

@if (empty($ped['FECHA_ARRIBO'])){{ $ped['DIAS_ARRIBO'] }} días @else Arribado @endif

@else {!! $vacio !!} @endif
{{ $ped['MOTONAVE'] }} @if ($ped['TIPO_DECLARACION']){{ $ped['TIPO_DECLARACION'] }}@else{!! $vacio !!}@endif @if ($ped['MEDIO_TRANSPORTE']){{ $ped['MEDIO_TRANSPORTE'] }}@else{!! $vacio !!}@endif @if ($ped['TOTAL_UNIDADES'] > 0) {{ $ped['TIPO_CARGA'] }} · {{ $ped['TOTAL_UNIDADES'] }} {{ $ped['TOTAL_UNIDADES'] == 1 ? 'unidad' : 'unidades' }} @else {!! $vacio !!} @endif {{ $ped['RAZON_SOCIAL_TRANSPORTE'] }} @if ($docCompleta) Completa @else Pendiente @endif

No hay pedidos por arribar con estos filtros.

@if ($pedidos->hasPages())
{{ $pedidos->links('vendor.pagination.ctc-livewire') }}
@endif
@livewire('importaciones.graficos-arribos', ['series' => $seriesGraficas])
@if ($adminTransporte) {{-- Asignación de transporte al DO --}} {{-- Prealerta al transporte: pedidos sin notificar, por transportador --}} @endif