@extends('layouts.app') @section('title', 'Relatório de pedidos pendentes') @section('content') @php $statusLabels = [ 'prepared_not_sent' => 'Preparado — sem envio', 'prepared' => 'Preparado', 'sent' => 'Enviado', 'opened' => 'Aberto', 'otp_pending' => 'OTP pendente', 'verified' => 'Verificado', 'processing' => 'A processar', 'signed' => 'Assinado', 'declined' => 'Recusado', 'cancelled' => 'Cancelado', 'expired' => 'Expirado', 'failed' => 'Falhou', ]; @endphp
Considerados pendentes
{{ $summary['pending'] }}
de {{ $summary['total'] }} registos no filtro
Preparados sem envio
{{ $summary['prepared_not_sent'] }}
PDFs com regiões de assinatura sem pedido criado
Assinados e recebidos
{{ $summary['signed_received'] }}
PDF assinado arquivado e verificado
Necessitam atenção
{{ $summary['overdue'] + $summary['failed'] + $summary['receipt_anomalies'] }}
{{ $summary['overdue'] }} fora de prazo · {{ $summary['failed'] }} falhas · {{ $summary['receipt_anomalies'] }} anomalias

Antiguidade dos pendentes

0–2 dias{{ $summary['ageing']['0_2'] }}
3–7 dias{{ $summary['ageing']['3_7'] }}
8–14 dias{{ $summary['ageing']['8_14'] }}
15 ou mais dias{{ $summary['ageing']['15_plus'] }}
@if($summary['oldest_pending_at'])

Pendente mais antigo: {{ \Carbon\CarbonImmutable::parse($summary['oldest_pending_at'])->format('d/m/Y H:i') }}

@endif

Distribuição por estado

@forelse($summary['state_counts'] as $code => $count) @empty @endforelse
{{ $statusLabels[$code] ?? \Illuminate\Support\Str::headline($code) }}{{ $count }}
Sem registos.
Limpar
@forelse($rows as $row) @empty @endforelse
Dossiê e documentoDestinatárioEstado principalEnvio e prazosPreparaçãoReceção do assinadoAção
{{ $row['dossier_name'] }}@if($row['dossier_reference']) · {{ $row['dossier_reference'] }}@endif
{{ $row['document_name'] }}
{{ $row['template_name'] }} · {{ $row['field_count'] }} região(ões)
@if($row['recipient_name'] || $row['recipient_email']) {{ $row['recipient_name'] ?: 'Destinatário' }}
{{ $row['recipient_email'] }} @else Ainda não definido @endif
{{ $row['status_label'] }}
Pendente: {{ $row['pending_label'] }} @if($row['is_overdue'])
Fora de prazo@endif
{{ $row['delivery_label'] }}
Preparado: {{ $row['prepared_at']?->format('d/m/Y H:i') ?: '—' }}
Enviado: {{ $row['sent_at']?->format('d/m/Y H:i') ?: '—' }}
Validade: {{ $row['expires_at']?->format('d/m/Y H:i') ?: '—' }}
{{ $row['preparation_origin_label'] }} por {{ $row['prepared_by_name'] }}
{{ $row['preparation_reason'] }}
{{ $row['receipt_label'] }} @if($row['signed_document_name'])
{{ $row['signed_document_name'] }}@endif @if($row['signed_document_received_at'])
{{ $row['signed_document_received_at']->format('d/m/Y H:i') }}@endif
{{ $row['action_label'] }} @if($row['failure_message'])
Erro: {{ $row['failure_message'] }}@endif
Abrir
Não existem registos para os filtros selecionados.
@endsection