@php $title = 'Rastreabilidade de Lote (RECALL)'; @endphp

Rastreabilidade de Lote (RECALL)

Cadeia completa montante e jusante do lote
Resumo do Lote
{{ $rastreabilidade['resumo']['codigo_lote'] }}
{{ $rastreabilidade['resumo']['produto'] }}
@if($rastreabilidade['resumo']['status'] == 'DISPONIVEL') Disponível @elseif($rastreabilidade['resumo']['status'] == 'BLOQUEADO') Bloqueado @elseif($rastreabilidade['resumo']['status'] == 'QUARENTENA') Quarentena @elseif($rastreabilidade['resumo']['status'] == 'ESGOTADO') Esgotado @else {{ $rastreabilidade['resumo']['status'] }} @endif
@if($rastreabilidade['resumo']['data_validade']) {{ \Carbon\Carbon::parse($rastreabilidade['resumo']['data_validade'])->format('d/m/Y') }} @if($rastreabilidade['resumo']['vencido'])
VENCIDO @elseif($rastreabilidade['resumo']['dias_para_vencer'] <= 30)
{{ $rastreabilidade['resumo']['dias_para_vencer'] }} dias @endif @else Indeterminado @endif
{{ number_format($rastreabilidade['resumo']['quantidade_inicial'], 0, ',', '.') }}
{{ number_format($rastreabilidade['resumo']['quantidade_atual'], 0, ',', '.') }}
{{ \Carbon\Carbon::parse($rastreabilidade['montante']['data_entrada'])->format('d/m/Y') }}
@if($lote->created_at)
Criado em: {{ $lote->created_at->format('d/m/Y H:i') }} @if($lote->usuarioInclusao) por {{ $lote->usuarioInclusao->name }} @endif @if($lote->updated_at != $lote->created_at) Atualizado: {{ $lote->updated_at->format('d/m/Y H:i') }} @if($lote->usuarioAlteracao) por {{ $lote->usuarioAlteracao->name }} @endif @endif
@endif
Rastreabilidade Completa
MONTANTE: {{ $rastreabilidade['montante']['fornecedor'] ? $rastreabilidade['montante']['fornecedor']->razao_social : 'Produção própria' }}
JUSANTE: {{ $rastreabilidade['jusante']['ordens_producao']->count() }} OP(s) consumiram este lote
Quantidade Consumida: {{ number_format($rastreabilidade['jusante']['quantidade_consumida'], 0, ',', '.') }}
Rastreabilidade MONTANTE (Origem)
@if($rastreabilidade['montante']['fornecedor'])

{{ $rastreabilidade['montante']['fornecedor']->razao_social }}

CNPJ: {{ $rastreabilidade['montante']['fornecedor']->cnpj_formatado }}

@else

Produção própria ou entrada manual

@endif
@if($rastreabilidade['montante']['compra'])

{{ $rastreabilidade['montante']['compra']->numero_pedido ?? '-' }}

NF: {{ $rastreabilidade['montante']['compra']->numero_nota_fiscal ?? '-' }}

@else

Entrada manual sem compra vinculada

@endif

@if($rastreabilidade['montante']['data_fabricacao']) {{ \Carbon\Carbon::parse($rastreabilidade['montante']['data_fabricacao'])->format('d/m/Y') }} @else Não informada @endif

@if($rastreabilidade['montante']['numero_certificado']) {{ $rastreabilidade['montante']['numero_certificado'] }} @if($rastreabilidade['montante']['arquivo_certificado']) Baixar PDF @endif @else Não informado @endif

Rastreabilidade JUSANTE (Destino/Uso)
@if($rastreabilidade['jusante']['ordens_producao']->count() > 0)
Ordens de Produção que Consumiram este Lote
@foreach($rastreabilidade['jusante']['ordens_producao'] as $opLote) @endforeach
Número OP Produto Fabricado Cliente/Orçamento Qtd. Consumida Data Consumo Ações
OP #{{ $opLote->ordemProducao->numero_ordem }} @if($opLote->ordemProducao->itens->first()) {{ $opLote->ordemProducao->itens->first()->produto->nome }} @else - @endif @if($opLote->ordemProducao->orcamento) {{ $opLote->ordemProducao->orcamento->cliente->razao_social ?? 'Cliente não informado' }}
Orçamento #{{ $opLote->ordemProducao->orcamento->id }} @else Produção interna @endif
{{ number_format($opLote->quantidade_consumida, 2, ',', '.') }} {{ $opLote->created_at->format('d/m/Y H:i') }}
TOTAL CONSUMIDO: {{ number_format($rastreabilidade['jusante']['quantidade_consumida'], 2, ',', '.') }}
@else
Este lote ainda não foi consumido em nenhuma ordem de produção.
@endif @if($rastreabilidade['jusante']['movimentacoes']->count() > 0)
Histórico de Movimentações
@foreach($rastreabilidade['jusante']['movimentacoes'] as $mov) @endforeach
Data/Hora Tipo Movimentação Quantidade Localização Referência Observação
{{ $mov->data_movimentacao->format('d/m/Y H:i') }} @if($mov->tipo == 'ENTRADA') Entrada @elseif($mov->tipo == 'SAIDA') Saída @elseif($mov->tipo == 'TRANSFERENCIA') Transferência @elseif($mov->tipo == 'AJUSTE') Ajuste @else {{ $mov->tipo }} @endif {{ $mov->tipo == 'ENTRADA' ? '+' : '-' }}{{ number_format($mov->quantidade, 2, ',', '.') }} {{ $mov->localizacao->descricao ?? 'Não especificada' }} @if($mov->ordemProducao) OP #{{ $mov->ordemProducao->numero_ordem }} @else - @endif {{ $mov->observacao ?? '-' }}
@endif
@if($lote->status == 'BLOQUEADO')
LOTE BLOQUEADO

Motivo: {{ $lote->motivo_bloqueio ?? 'Não especificado' }}

@if($lote->usuario_bloqueio)

Bloqueado por: {{ $lote->usuarioBloqueio->name ?? 'Sistema' }} em {{ $lote->data_bloqueio->format('d/m/Y H:i') }}

@endif
@endif