@extends('layouts.digitar') @section('Breadcrumbs') {!! Breadcrumbs::render('documents.list') !!} @endsection @section('content') @php $selectedDocumentTypes = (array) request('document_type_id', []); $selectedDocumentTypeIds = is_array($selectedDocumentTypes) ? $selectedDocumentTypes : [$selectedDocumentTypes]; @endphp

Documentos descarte

{!! Form::label('start_date', 'De:') !!} {!! Form::date('start_date', request('start_date'), ['class' => 'form-control']) !!}
{!! Form::label('end_date', 'Até:') !!} {!! Form::date('end_date', request('end_date'), ['class' => 'form-control']) !!}
{!! Form::label('document_type_id', 'Tipo de documentos') !!} {!! Form::select('document_type_id[]', $documentTypes->toArray(), $selectedDocumentTypeIds, [ 'class' => 'form-control document-type-select2', 'id' => 'document-type-select2', 'multiple', 'style' => 'width:100%;', 'data-placeholder' => 'Selecione ...', ]) !!}
{!! Form::label('box_id', 'Caixa') !!} {!! Form::select('box_id', $boxes->prepend('Selecione ...', ''), request('box_id'), [ 'class' => 'form-control docs-elim-select2', 'style' => 'width:100%;', 'data-placeholder' => 'Selecione ...', ]) !!}
{!! Form::label('shelf_id', 'Prateleira') !!} {!! Form::select('shelf_id', $shelfs->prepend('Selecione ...', ''), request('shelf_id'), [ 'class' => 'form-control docs-elim-select2', 'style' => 'width:100%;', 'data-placeholder' => 'Selecione ...', ]) !!}
{!! Form::label('local_id', 'Local') !!} {!! Form::select('local_id', $locals->prepend('Selecione ...', ''), request('local_id'), [ 'class' => 'form-control docs-elim-select2', 'style' => 'width:100%;', 'data-placeholder' => 'Selecione ...', ]) !!}
{!! Form::label('final_disposal', 'Destinação final do PDF') !!} {!! Form::select( 'final_disposal', [ '' => 'Selecione ...', 'Corrente' => 'Corrente', 'Intermediário' => 'Intermediário', 'Permanente' => 'Permanente', 'Eliminar' => 'Eliminar', ], request('final_disposal', 'Eliminar'), [ 'class' => 'form-control', 'style' => 'width:100%;', 'data-placeholder' => 'Selecione ...', ], ) !!}
@if ($showResults)

Documentos elegíveis para eliminação

@csrf @foreach ($selectedDocumentTypeIds as $documentTypeId) @endforeach
@forelse ($eligibleDocuments as $document) @php $rawDate = !empty($document->date) ? \Carbon\Carbon::parse($document->date) : null; $formattedDate = $rawDate ? $rawDate->format('d/m/Y') : 'Sem data'; $year = $rawDate ? $rawDate->format('Y') : null; $originNumber = !is_null($document->number) && $document->number !== '' ? $document->number : 'S/N' . ($year ? '/' . $year : ''); $limitDate = !empty($document->data_limite_descarte) ? \Carbon\Carbon::parse($document->data_limite_descarte)->format('d/m/Y') : 'Sem prazo'; $resume = strip_tags((string) $document->resume); $resume = preg_replace('/\s+/', ' ', trim($resume)); $resumePreview = \Illuminate\Support\Str::limit($resume, 120); $documentPayload = [ 'id' => $document->document_id, 'number' => $originNumber, 'type' => $document->tipo_documento, 'date' => $formattedDate, 'resume' => $document->resume, 'boxes' => $document->caixas, 'locals' => $document->locais, 'retention_period' => $document->ano, 'final_disposal' => $document->destinacao_final, 'observacao' => $document->observacao, 'limit_date' => $limitDate, 'sector' => $document->nome_do_setor, ]; @endphp @empty @endforelse
Número Tipo Caixa / Local Prazo Resumo Olho
{{ $formattedDate }}
{{ $originNumber }}
{{ $document->tipo_documento }}
{{ $document->nome_do_setor }}
@if (!empty($document->caixas)) @foreach (explode(', ', $document->caixas) as $boxLabel) {{ $boxLabel }} @endforeach @else Sem caixa @endif
{{ $document->locais ?: 'Sem local' }}
Limite {{ $limitDate }}
Retenção: {{ $document->ano ?? 'N/A' }} ano(s)
{{ $resumePreview }}

Nenhum documento elegível encontrado

Altere os filtros acima para localizar documentos prontos para eliminação.

{{ $eligibleDocuments->links() }}
@else

Buscar documentos para descarte

Preencha os filtros acima e clique em Buscar documentos para descarte para montar a lista de documentos elegíveis. A eliminação em lote só aparece depois da pesquisa.

@endif

Lotes eliminados

@forelse ($batches as $batch) @php $batchItemsPayload = $batch->items->map(function ($item) { $snapshot = $item->snapshot ?? []; $rawDocument = $snapshot['document'] ?? []; $rawNumber = $rawDocument['number'] ?? null; $rawType = $rawDocument['document_type_name'] ?? null; $rawDate = $rawDocument['date'] ?? null; $label = $rawNumber ?: ('Documento #' . $item->document_id); if (!$rawNumber && $item->document && method_exists($item->document, 'getName')) { $fallbackName = trim((string) optional($item->document)->getName()); if ($fallbackName !== '') { $label = $fallbackName; } } return [ 'id' => $item->id, 'document_id' => $item->document_id, 'label' => $label, 'type' => $rawType ?? optional(optional($item->document)->document_type)->name, 'date' => !empty($rawDate) ? \Carbon\Carbon::parse($rawDate)->format('d/m/Y') : null, 'limit_date' => $snapshot['temporality']['data_limite_descarte'] ?? null, 'boxes' => $snapshot['boxes'] ?? [], 'storages' => $snapshot['storages'] ?? [], 'files' => $snapshot['files'] ?? [], 'resume' => $rawDocument['resume'] ?? optional($item->document)->resume, ]; })->values()->all(); @endphp @empty @endforelse
Lote Qtd. Eliminado por Estado Itens Ações
{{ $batch->batch_code }}
{{ optional($batch->created_at)->format('d/m/Y H:i') }}
{{ $batch->document_count }} {{ optional($batch->deletedByUser)->name ?? 'Sistema' }}
{{ $batch->reason ?: 'Sem observação' }}
@if ($batch->status === 'restaurado') Restaurado @else Eliminado @endif @if ($batch->restored_at)
Restaurado em {{ $batch->restored_at->format('d/m/Y H:i') }}
@endif
@if ($batch->status !== 'restaurado')
@csrf
@else Já restaurado @endif

Nenhum lote registrado

Depois da primeira eliminação em lote, os registros aparecerão aqui para consulta e reversão.

{{ $batches->appends(request()->query())->links() }}
@push('scripts') @endpush @endsection