@once @endonce
@if(! $entrega)
Romaneio nao localizado.
@else @php $notasTotal = $notas->count(); $coletasTotal = $coletas->count(); $movimentosTotal = $notasTotal + $coletasTotal; $notasEntregues = $notas->where('status_entrega', 'entregue')->count(); $coletasConcluidas = $coletas->where('status', 'coletada')->count(); $movimentosConcluidos = $notasEntregues + $coletasConcluidas; $percentual = $movimentosTotal > 0 ? round(($movimentosConcluidos / $movimentosTotal) * 100) : 0; $placa = $entrega->veiculo_placa ?: 'SEM PLACA'; $controleUrl = \App\Filament\Pages\ControleOperacoes::getUrl([ 'data' => $entrega->data_romaneio?->toDateString() ?: now()->toDateString(), 'filial_id' => $entrega->filial_id, ]); $movimentos = collect($notas) ->map(fn ($nota) => ['tipo' => 'nota', 'registro' => $nota, 'ordem' => $nota->sequencia_entrega ?: $nota->id]) ->merge(collect($coletas)->map(fn ($coleta) => ['tipo' => 'coleta', 'registro' => $coleta, 'ordem' => 900000 + $coleta->id])) ->sortBy('ordem') ->values(); @endphp
BRASIL BR {{ $placa }}
{{ $entrega->motorista_nome ?: 'Motorista nao definido' }}
CPF: {{ $entrega->motorista_documento ?: '-' }}
{{ $entrega->regiao ?: 'Regiao nao informada' }}
Romaneio
{{ $romaneiosLabel ?: ($entrega->numero_romaneio ?: '-') }}
{{ $entrega->data_romaneio?->format('d/m/Y') ?: '-' }}
Progresso {{ $movimentosConcluidos }}/{{ $movimentosTotal }}
{{ $percentual }}%
Voltar
Documentos
{{ $movimentosTotal }}
Concluidos
{{ $movimentosConcluidos }}
Peso
{{ number_format((float) $notas->sum('peso_total') + (float) $coletas->sum('peso_estimado'), 3, ',', '.') }}
Valor
R$ {{ number_format((float) $notas->sum('valor_total') + (float) $coletas->sum('valor_nota_fiscal'), 2, ',', '.') }}
SQ / Filial
Documentos
Mercadoria
Cliente / Destinatario
Horarios
Situacao
Acoes
@forelse($movimentos as $movimento) @php $isColeta = $movimento['tipo'] === 'coleta'; $registro = $movimento['registro']; $status = $isColeta ? ($registro->status ?: 'solicitada') : ($registro->status_entrega ?: 'pendente'); $statusColor = match ($status) { 'entregue', 'coletada' => ['#dcfce7', '#166534'], 'ocorrencia' => ['#fef3c7', '#92400e'], 'cancelada' => ['#fee2e2', '#991b1b'], 'chegada' => ['rgba(6, 182, 212, .14)', '#0891b2'], 'em_rota', 'roteirizada', 'programada', 'alocada' => ['#dbeafe', '#1d4ed8'], default => ['#f1f5f9', '#334155'], }; $sacUrl = $isColeta ? \App\Filament\Pages\SacAtendimento::getUrl(['tipo' => 'coleta', 'busca' => $registro->numero_coleta ?: $registro->id]) : \App\Filament\Pages\SacAtendimento::getUrl(['tipo' => 'nota_fiscal', 'busca' => $registro->numero_nf ?: $registro->chave_nfe]); $editUrl = $isColeta ? \App\Filament\Resources\Coletas\ColetaResource::getUrl('edit', ['record' => $registro]) : \App\Filament\Resources\NotasFiscais\NotaFiscalResource::getUrl('edit', ['record' => $registro]); @endphp
{{ $isColeta ? 'C' : ($registro->sequencia_entrega ?: $loop->iteration) }}
{{ $isColeta ? ($registro->filial?->sigla ?: '-') : ($registro->filial ?: '-') }} -> {{ $isColeta ? ($registro->destino_uf ?: '-') : ($registro->filial_documento ?: $registro->destino_uf ?: '-') }}
{{ $registro->id }}
@if($isColeta)
Coleta: {{ $registro->numero_coleta ?: $registro->id }}
Solicitada: {{ $registro->solicitada_at?->format('d/m/Y H:i') ?: '-' }}
Previsao: {{ $registro->previsao_coleta_at?->format('d/m/Y H:i') ?: '-' }}
@else
Nota Fiscal: {{ $registro->numero_nf ?: '-' }}
Min. / CTe: {{ $registro->numero_cte ?: '-' }}
Rom. {{ $registro->numero_romaneio ?: '-' }}
Pedido: {{ $registro->pedido ?? '-' }}
@endif
{{ $isColeta ? 'COLETA' : strtoupper($registro->tipo_movimento ?: 'ENTREGA') }}
Caixas: {{ $isColeta ? ($registro->quantidade_volumes ?: '-') : ($registro->quantidade_volumes ?: $registro->volume_total ?: '-') }}
Peso: {{ number_format((float) ($isColeta ? $registro->peso_estimado : $registro->peso_total), 3, ',', '.') }}
Valor: R$ {{ number_format((float) ($isColeta ? $registro->valor_nota_fiscal : $registro->valor_total), 2, ',', '.') }}
Remetente: {{ $isColeta ? ($registro->remetente_nome ?: $registro->solicitante_nome ?: '-') : ($registro->remetente_nome ?: $registro->cliente_nome ?: '-') }}
Destinatario: {{ $registro->destinatario_nome ?: '-' }}
End: {{ $isColeta ? ($registro->origem_endereco ?: '-') : ($registro->destino_endereco ?: '-') }}
Bairro: {{ $isColeta ? ($registro->origem_bairro ?: '-') : ($registro->destino_bairro ?: '-') }}
Destino: {{ $isColeta ? trim(($registro->destino_cidade ?: $registro->origem_cidade ?: '-').' - '.($registro->destino_uf ?: $registro->origem_uf ?: '-')) : trim(($registro->destino_cidade ?: '-').' - '.($registro->destino_uf ?: '-')) }}
Integracao: {{ $isColeta ? ($registro->created_at?->format('d/m/Y H:i') ?: '-') : ($registro->importada_at?->format('d/m/Y H:i') ?: '-') }}
Previsao: {{ $isColeta ? ($registro->previsao_coleta_at?->format('d/m/Y H:i') ?: '-') : ($registro->previsao_entrega_at?->format('d/m/Y H:i') ?: '-') }}
Baixa: {{ $isColeta ? ($registro->coletada_at?->format('d/m/Y H:i') ?: '-') : ($registro->entregue_at?->format('d/m/Y H:i') ?: '-') }}
{{ strtoupper(str_replace('_', ' ', $status)) }}
SAC Editar
@empty
Nenhum movimento vinculado a este romaneio.
@endforelse
@endif