{{-- Folha de Serviço do Dia — PDF (dompdf) Notas de compatibilidade com o dompdf: · sem flexbox e sem grid — a estrutura é toda em
|
@if($logo)
|
Folha de Serviço do Dia
{{ optional($motorista)->nome ?: '—' }}
· {{ optional($jornada->data)->format('d/m/Y') }}
@if($jornada->estado === 'reaberta') · continuação @endif
|
Registo n.º
#{{ $jornada->id }}
|
|
|
{{ $fmt($jornada->minutos_conducao) }} Condução |
{{ $fmt($jornada->minutos_pausa) }} Pausas e almoço |
{{ $fmt($jornada->minutos_outro_trabalho) }} Outro trabalho |
{{ $fmt($jornada->minutos_trabalho_total) }} Trabalho total |
| Amplitude do dia: {{ $fmt($tempoTotal) }} · Disponibilidade/espera: {{ $fmt($jornada->minutos_disponibilidade) }} | @if($jornada->tem_alerta) {{ count($alertas) }} alerta(s) de conformidade @else Sem alertas de conformidade @endif |
| Rubrica | Atribuída | Valor |
|---|---|---|
| Ajuda de custo — almoço | {{ $jornada->refeicao_almoco ? 'Sim' : '—' }} | {{ $valoresRh['almoco'] > 0 ? number_format($valoresRh['almoco'], 2, ',', ' ') . ' €' : '—' }} |
| Ajuda de custo — jantar | {{ $jornada->refeicao_jantar ? 'Sim' : '—' }} | {{ $valoresRh['jantar'] > 0 ? number_format($valoresRh['jantar'], 2, ',', ' ') . ' €' : '—' }} |
| Ajuda de custo — dormida fora | {{ $jornada->refeicao_dormida ? 'Sim' : '—' }} | {{ $valoresRh['dormida'] > 0 ? number_format($valoresRh['dormida'], 2, ',', ' ') . ' €' : '—' }} |
| Subsídio de risco — dia com camião | {{ $jornada->subsidio_risco ? 'Sim' : '—' }} | {{ $valoresRh['risco'] > 0 ? number_format($valoresRh['risco'], 2, ',', ' ') . ' €' : '—' }} |
| Refeições marcadas pelo motorista no fecho do dia. @if($jornada->tipo_dia !== 'util') As horas deste dia não entram no cálculo das horas extra mensais. @endif | Total: {{ number_format($valoresRh['total'], 2, ',', ' ') }} € |
| Período | Início | Fim | Duração | Origem | Observações |
|---|---|---|---|---|---|
| {{ $periodo->tipo_label }} | {{ optional($periodo->inicio_em)->format('H:i') }} | {{ optional($periodo->fim_em)->format('H:i') ?: '—' }} | {{ $fmt($periodo->minutos) }} | {{ $periodo->origem }} @if($periodo->editado)editado@endif | {{ $periodo->observacoes }} |
| Sem períodos registados. | |||||
| {{ $mapa->referencia }} · carga {{ optional($mapa->data_carga)->format('d/m/Y') ?: '—' }} · {{ $mapa->matricula }} | @if($mapa->enchimento) enchimento {{ number_format($mapa->enchimento->litros_total, 0, ',', ' ') }} L @else sem enchimento @endif |
| Compartimento | Produto | Litros carregados |
|---|---|---|
| {{ $linha->compartimento ? '#' . $linha->compartimento : '—' }} | {{ $linha->descricao ?: $linha->artigo }} | {{ number_format($linha->litros, 0, ',', ' ') }} |
| # | Cliente | Produto | Prevista | Entregue | Horas | Documentos |
|---|---|---|---|---|---|---|
| {{ $descarga->sequencia }} |
{{ $descarga->cliente_nome }}
@if($descarga->requer_desconto_ga)GA@endif
@if($descarga->estado === 'falhada')
Não realizada: {{ $descarga->motivo_falha }}
@endif
|
{{ $descarga->produto_descricao ?: $descarga->artigo }} | {{ number_format($descarga->qtd_prevista, 0, ',', ' ') }} | {{ $descarga->qtd_entregue !== null ? number_format($descarga->qtd_entregue, 0, ',', ' ') : '—' }} |
@if($descarga->a_caminho_em) saída {{ $descarga->a_caminho_em->format('H:i') }} @endif @if($descarga->concluida_em) fim {{ $descarga->concluida_em->format('H:i') }} @endif |
{{ $descarga->documentos->count() }} anexo(s) |
| Sem descargas nesta jornada. | ||||||
| Hora | Mapa | Evento | Origem | Registado por |
|---|---|---|---|---|
| @if($evento->hora_estimada) {{ optional($evento->ocorrido_em)->format('d/m') }} s/ hora @else {{ optional($evento->ocorrido_em)->format('H:i') }} @endif | {{ optional($evento->mapaCarga)->referencia ?: '—' }} |
{{ $evento->descricao }}
@if($evento->latitude && $evento->longitude)
GPS {{ number_format($evento->latitude, 5, '.', '') }}, {{ number_format($evento->longitude, 5, '.', '') }}
@endif
|
{{ $evento->origem }} | {{ optional($evento->user)->name ?: (optional($evento->driver)->first_name ?: '—') }} |
| Sem eventos registados nesta jornada. | ||||
|
@if($assinatura)
{{ $jornada->assinatura_nome ?: optional($motorista)->first_name }} — motorista
@else
Assinado na app em {{ optional($jornada->assinatura_em)->format('d/m/Y H:i') }}
{{ optional($motorista)->nome }} — motorista
@endif
Sem assinatura digital — assinar à mão |
Responsável de logística
Data ____ / ____ / ________ |