@php $title = 'Rastreabilidade por Ordem de Produção'; @endphp

Rastreabilidade por Ordem de Produção

Lotes consumidos na fabricação
Dados da Ordem de Produção

{{ $ordem->numero_ordem }}

{{ $ordem->data_emissao->format('d/m/Y') }}

{{ $ordem->data_prevista_conclusao ? $ordem->data_prevista_conclusao->format('d/m/Y') : '-' }}

@if($ordem->status == 'ABERTA') Aberta @elseif($ordem->status == 'EM_PRODUCAO') Em Produção @elseif($ordem->status == 'CONCLUIDA') Concluída @elseif($ordem->status == 'CANCELADA') Cancelada @else {{ $ordem->status }} @endif

Prioridade:

@if($ordem->prioridade == 'ALTA') Alta @elseif($ordem->prioridade == 'MEDIA') Média @else Normal @endif


@if($ordem->orcamento)
Cliente:

{{ $ordem->orcamento->cliente->razao_social ?? 'Cliente não informado' }}

@if($ordem->orcamento->cliente->cnpj) CNPJ: {{ $ordem->orcamento->cliente->cnpj }} @endif
Pedido Cliente:

{{ $ordem->orcamento->numero_pedido_cliente ?? '-' }}

@else
Ordem de produção interna (sem orçamento vinculado)
@endif
Produtos Fabricados nesta OP
@forelse($ordem->itens as $item) @empty @endforelse
Código Produto Qtd. Planejada Qtd. Produzida Unidade Status
{{ $item->produto->codigo }} {{ $item->produto->nome }} {{ number_format($item->quantidade, 2, ',', '.') }} {{ number_format($item->quantidade_produzida ?? 0, 2, ',', '.') }} {{ $item->produto->unidade ?? 'UN' }} @php $percentual = $item->quantidade > 0 ? ($item->quantidade_produzida / $item->quantidade) * 100 : 0; @endphp @if($percentual >= 100) Concluído @elseif($percentual > 0) {{ number_format($percentual, 0) }}% @else Pendente @endif
Nenhum produto definido
Lotes Consumidos na Produção (Matéria-Prima)
@if($ordem->lotesConsumidos->count() > 0)
@foreach($ordem->lotesConsumidos as $opLote) @endforeach
Código Lote Produto/Material Fornecedor Qtd. Consumida Data Fabricação Data Validade Certificado Ações
{{ $opLote->lote->codigo_lote }} {{ $opLote->lote->produto->codigo }}
{{ Str::limit($opLote->lote->produto->nome, 35) }}
@if($opLote->lote->fornecedor) {{ Str::limit($opLote->lote->fornecedor->razao_social, 20) }} @else Produção Própria @endif {{ number_format($opLote->quantidade_consumida, 2, ',', '.') }}
{{ $opLote->lote->produto->unidade ?? 'UN' }}
@if($opLote->lote->data_fabricacao) {{ $opLote->lote->data_fabricacao->format('d/m/Y') }} @else - @endif @if($opLote->lote->data_validade) {{ $opLote->lote->data_validade->format('d/m/Y') }} @if($opLote->lote->isVencido())
VENCIDO @endif @else - @endif
@if($opLote->lote->numero_certificado) {{ $opLote->lote->numero_certificado }} @if($opLote->lote->arquivo_certificado)
@endif @else - @endif
TOTAL DE LOTES CONSUMIDOS: {{ $ordem->lotesConsumidos->count() }} lotes
@if(isset($rastreabilidades) && count($rastreabilidades) > 0)
Rastreabilidade Detalhada dos Lotes
@foreach($rastreabilidades as $loteId => $rastreabilidade) @php $loteAtual = $ordem->lotesConsumidos->firstWhere('lote_id', $loteId)->lote; @endphp

Origem (Montante)

Fornecedor: {{ $rastreabilidade['montante']['fornecedor']->razao_social ?? 'Produção Própria' }}

Compra: @if($rastreabilidade['montante']['compra']) NF {{ $rastreabilidade['montante']['compra']->numero_nota_fiscal ?? 'S/N' }} @else Entrada manual @endif

Data Entrada: {{ \Carbon\Carbon::parse($rastreabilidade['montante']['data_entrada'])->format('d/m/Y') }}

Uso (Jusante)

Qtd. Consumida nesta OP: {{ number_format($ordem->lotesConsumidos->firstWhere('lote_id', $loteId)->quantidade_consumida, 2, ',', '.') }}

Total OPs usando este lote: {{ $rastreabilidade['jusante']['ordens_producao']->count() }}

Qtd. Total Consumida (todas OPs): {{ number_format($rastreabilidade['jusante']['quantidade_consumida'], 2, ',', '.') }}

@endforeach
@endif @else
Nenhum lote foi consumido nesta ordem de produção ainda.
Os lotes são vinculados quando há movimentações de estoque para esta OP.
@endif
@if(isset($ordem->material) && $ordem->material->itens->count() > 0)
Lista de Materiais (BOM) Planejada
@foreach($ordem->material->itens as $item) @endforeach
Produto/Material Qtd. Planejada Unidade Tipo
{{ $item->produto->codigo }} - {{ $item->produto->nome }} {{ number_format($item->quantidade, 2, ',', '.') }} {{ $item->produto->unidade ?? 'UN' }} @if($item->tipo == 'MATERIA_PRIMA') Matéria-Prima @elseif($item->tipo == 'COMPONENTE') Componente @else {{ $item->tipo }} @endif
@endif @if($ordem->observacoes)
Observações

{{ $ordem->observacoes }}

@endif