@php if (!function_exists('formatCnpj')) { function formatCnpj($value) { if (empty($value)) return $value; $value = preg_replace('/[^0-9]/', '', (string)$value); if (strlen($value) === 14) { return preg_replace('/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/', '$1.$2.$3/$4-$5', $value); } if (strlen($value) === 11) { return preg_replace('/(\d{3})(\d{3})(\d{3})(\d{2})/', '$1.$2.$3-$4', $value); } return $value; } } if (!function_exists('formatTelefone')) { function formatTelefone($value) { if (empty($value)) return $value; $value = preg_replace('/[^0-9]/', '', (string)$value); if (strlen($value) === 11) { return preg_replace('/(\d{2})(\d{5})(\d{4})/', '($1) $2-$3', $value); } elseif (strlen($value) === 10) { return preg_replace('/(\d{2})(\d{4})(\d{4})/', '($1) $2-$3', $value); } return $value; } } if (!function_exists('formatCep')) { function formatCep($value) { if (empty($value)) return $value; $value = preg_replace('/[^0-9]/', '', (string)$value); if (strlen($value) === 8) { return preg_replace('/(\d{5})(\d{3})/', '$1-$2', $value); } return $value; } } @endphp CIV - Controle Interno de Movimentação de Vasilhames
Logo
{{ $destroca->nome ?? 'CENTRO DE DESTROCA' }}

CNPJ: {{ formatCnpj($destroca->cnpj ?? '') ?: '---' }}

{{ $destroca->endereco ?? '' }}, {{ $destroca->numero ?? '' }} {{ !empty($destroca->complemento) ? ' - ' . $destroca->complemento : '' }} - {{ $destroca->bairro ?? '' }}, {{ $destroca->ncidade ?? '' }} - CEP: {{ formatCep($destroca->cep ?? '') ?: '' }}

Contato: {{ formatTelefone($destroca->telefone ?? '') ?: '' }} {{ !empty($destroca->telefone2) ? ' / ' . formatTelefone($destroca->telefone2) . '' : '' }} | Email: {{ $destroca->email ?? '' }}

Nº CIV
{{ $pedido->id }}
{{ $pedido->data }}
CONTROLE INTERNO DE MOVIMENTAÇÃO DE VASILHAMES - CIV
DADOS DO CIV
COMPANHIA {{ $pedido->companhia->fantasia ?? '---' }}
CNPJ: {{ formatCnpj($pedido->companhia->cnpj ?? '') ?: '' }}
FILIAL {{ $pedido->filial->ncidade ?? '---' }} HORA ENTRADA {{ $pedido->hora_entrada_cd ?? '---' }} TIPO DE CIV {{ $pedido->tipomov->descricao ?? '---' }}
TRANSPORTADORA {{ $pedido->transportadora->fantasia ?? '---' }}
CNPJ: {{ formatCnpj($pedido->transportadora->cnpj ?? '') ?: '' }}
MOTORISTA {{ $pedido->motorista->nome ?? '---' }} PLACA {{ $pedido->veiculo->placa ?? '---' }}
REVENDA
@php // Group Lotes by Revenda + NF + Serie $groupedLotes = collect(); if(isset($pedido->lotes) && is_iterable($pedido->lotes)){ $groupedLotes = $pedido->lotes->groupBy(function($item) { $revendaName = $item->revenda->nome ?? '---'; $nf = $item->nota_fiscal ?? '---'; $serie = $item->serie ?? '---'; return $revendaName . '|' . $nf . '|' . $serie; }); } @endphp @php // Initialize Grand Totals $totalP05 = 0; $totalP08 = 0; $totalP13 = 0; $totalP20 = 0; $totalP45 = 0; @endphp @if($groupedLotes->isNotEmpty()) @foreach($groupedLotes as $key => $items) @php list($revenda, $nf, $serie) = explode('|', $key); // Calculate totals for this group $p05 = 0; $p08 = 0; $p13 = 0; $p20 = 0; $p45 = 0; foreach($items as $item) { if(isset($item->produto) && isset($item->produto->descricao)){ $desc = strtoupper($item->produto->descricao); $qtd = $item->qtd ?? 0; if(stripos($desc, 'P05') !== false) $p05 += $qtd; if(stripos($desc, 'P08') !== false) $p08 += $qtd; if(stripos($desc, 'P13') !== false) $p13 += $qtd; if(stripos($desc, 'P20') !== false) $p20 += $qtd; if(stripos($desc, 'P45') !== false) $p45 += $qtd; } } // Add to Grand Totals $totalP05 += $p05; $totalP08 += $p08; $totalP13 += $p13; $totalP20 += $p20; $totalP45 += $p45; @endphp @endforeach @else @endif
COMPANHIA / REVENDA NF SÉRIE P05 P08 P13 P20 P45
{{ $revenda }} {{ $nf }} {{ $serie }} {{ $p05 > 0 ? $p05 : '' }} {{ $p08 > 0 ? $p08 : '' }} {{ $p13 > 0 ? $p13 : '' }} {{ $p20 > 0 ? $p20 : '' }} {{ $p45 > 0 ? $p45 : '' }}
TOTAL {{ $totalP05 > 0 ? $totalP05 : '' }} {{ $totalP08 > 0 ? $totalP08 : '' }} {{ $totalP13 > 0 ? $totalP13 : '' }} {{ $totalP20 > 0 ? $totalP20 : '' }} {{ $totalP45 > 0 ? $totalP45 : '' }}
Nenhuma revenda vinculada a este CIV.
MOVIMENTAÇÃO DE CARGA
@php $colunas = ['P05', 'P08', 'P13', 'P20', 'P45']; $totaisEntrada = array_fill_keys($colunas, 0); $totaisSaida = array_fill_keys($colunas, 0); $hasEntrada = false; $hasSaida = false; // Calc Entrada (Lotes) if(isset($pedido->lotes) && is_iterable($pedido->lotes)){ foreach($pedido->lotes as $item) { if(isset($item->produto) && isset($item->produto->descricao)){ $desc = strtoupper($item->produto->descricao); foreach($colunas as $coluna) { if(stripos($desc, $coluna) !== false) { $qtd = $item->qtd_mov ?? 0; $totaisEntrada[$coluna] += $qtd; if($qtd > 0) $hasEntrada = true; } } } } } // Calc Saída (AMV Itens) if(isset($pedido->amv) && isset($pedido->amv->itens) && is_iterable($pedido->amv->itens)){ foreach($pedido->amv->itens as $item) { if(isset($item->produto) && isset($item->produto->descricao)){ $desc = strtoupper($item->produto->descricao); foreach($colunas as $coluna) { if(stripos($desc, $coluna) !== false) { $qtd = $item->qtd ?? 0; $totaisSaida[$coluna] += $qtd; if($qtd > 0) $hasSaida = true; } } } } } @endphp @foreach($colunas as $col) @endforeach @foreach($colunas as $col) @endforeach @if($hasSaida) @foreach($colunas as $col) @endforeach @foreach($colunas as $col) @endforeach @endif @if($hasEntrada || (!$hasEntrada && !$hasSaida)) {{-- Show entry row if default or has entry --}} @foreach($colunas as $col) @endforeach @foreach($colunas as $col) @endforeach @endif @foreach($colunas as $col) @endforeach @foreach($colunas as $col) @endforeach
MARCA ENTRADA SAÍDA
{{ $col }}{{ $col }}
{{ $pedido->companhia->fantasia ?? '---' }} ---{{ ($totaisSaida[$col] > 0) ? $totaisSaida[$col] : '---' }}
OUTRAS / SEM MARCA {{ ($totaisEntrada[$col] > 0) ? $totaisEntrada[$col] : '---' }}---
TOTAL {{ ($totaisEntrada[$col] > 0) ? $totaisEntrada[$col] : '' }}{{ ($totaisSaida[$col] > 0) ? $totaisSaida[$col] : '' }}
OBSERVAÇÕES
{{ $pedido->obs ?? 'Sem observações.' }}
Esta CIV é seu documento de tráfego dentro do Centro de Destroca.
Sua perda ou extravio implicará na sua retenção dentro do C.D. até a liberação da Gerência.