@extends('adminlte.app')
{{--
Portal de Encomendas e Descargas — lista de mapas de carga.
Layout: segue o design system TFDS (classes tfcv-*), o mesmo da
Validação de Comissões. O tfds.css já é carregado em adminlte/app.blade.php,
não é preciso incluir nada aqui.
--}}
@section('content')
@if ($message = Session::get('success'))
{!! $message !!}
@endif
@if ($message = Session::get('error'))
{{ $message }}
@endif
{{-- ====================== HEADER ====================== --}}
{{-- ====================== ALERTAS ====================== --}}
@if($resumo['por_confirmar'] > 0)
{{ $resumo['por_confirmar'] }} {{ $resumo['por_confirmar'] == 1 ? 'mapa aguarda' : 'mapas aguardam' }} confirmação do motorista —
resolver agora.
@endif
@if($resumo['divergencias'] > 0)
{{ $resumo['divergencias'] }} {{ $resumo['divergencias'] == 1 ? 'mapa tem' : 'mapas têm' }} divergência entre o registado pelo motorista e o CSV —
analisar.
@endif
@if($resumo['sem_boletim'] > 0)
{{ $resumo['sem_boletim'] }} {{ $resumo['sem_boletim'] == 1 ? 'mapa em curso sem' : 'mapas em curso sem' }} Boletim de Enchimento anexado.
@endif
{{-- ====================== FILTRO ====================== --}}
{{-- ====================== KPIs ====================== --}}
{{--
Agenda de amanhã = mapas com data de carga amanhã e ainda por concluir.
Descargas de hoje = descargas fechadas hoje no terreno pela app.
Como o CSV só entra ao fim do dia, é a app que dá o "hoje" em tempo real.
--}}
Agenda de amanhã
{{ $resumo['agenda_amanha'] }}
{{ $resumo['agenda_amanha_descargas'] }} descargas · {{ number_format($resumo['agenda_amanha_litros'], 0, ',', ' ') }} L
Descargas feitas hoje
{{ $resumo['entregas_hoje'] }}
{{ number_format($resumo['litros_hoje'], 0, ',', ' ') }} L entregues
Mapas em curso
{{ $resumo['em_curso'] }}
{{ $resumo['motoristas_em_rota'] }} {{ $resumo['motoristas_em_rota'] == 1 ? 'motorista em rota' : 'motoristas em rota' }}
Por confirmar
{{ $resumo['por_confirmar'] }}
{{ $resumo['divergencias'] }} com divergência
{{-- ====================== TABELA ====================== --}}
| Mapa |
Data carga |
Viatura |
Motorista |
Descargas |
Execução |
Litros |
Estado |
Ações |
@forelse($mapas as $mapa)
@php
$total = $mapa->descargas_count;
$feitas = $mapa->descargas_concluidas_count;
$pct = $total ? round(($feitas / $total) * 100) : 0;
$corBarra = $pct >= 100 ? 'green' : ($pct > 0 ? 'amber' : '');
@endphp
|
{{ $mapa->referencia }}
@if($mapa->tem_divergencia)
divergência
@endif
criado {{ optional($mapa->data_mapa_carga)->format('d/m/Y') ?: '—' }}
|
{{ optional($mapa->data_carga)->format('d/m/Y') ?: '—' }} |
{{ $mapa->matricula ?: '—' }}
@if($mapa->matricula && !$mapa->viatura_reconhecida)
?
@endif
|
@if($mapa->driver && $mapa->motorista_confirmado)
{{ $mapa->driver->first_name }}
@if($mapa->motorista_origem === 'externo')
externo
@endif
@elseif($mapa->cdu_nome)
{{ $mapa->cdu_nome }}
por confirmar
@else
—
@endif
|
{{ $feitas }} / {{ $total }} |
{{ $pct }}%
{{ $mapa->enchimento_id ? 'enchimento ok' : 'sem enchimento' }}
|
{{ number_format($mapa->litros_previstos, 0, ',', ' ') }} |
{{ $mapa->estado_label }}
|
|
@empty
Sem mapas de carga para os filtros escolhidos. |
@endforelse
{{-- Paginação em Bootstrap 4, para acompanhar o AdminLTE. --}}
{{ $mapas->links('pagination::bootstrap-4') }}
@endsection