Questionário de Auto-declaração Passo 3 de 3 — Revisão e Submissão · ITSE 6ª Edição
@php $company = auth()->user()->company; $phase = $company?->project_phase; $service = app(\App\Actions\Questionnaires\CompanyQuestionnaireService::class); $submission = $phase ? $service->getActiveSubmission(auth()->user()) : null; $responses = $submission ? $submission->responses->keyBy('indicator_id') : collect(); $total = \App\Models\Indicator::count(); $applicable = $phase ? \App\Models\Indicator::whereIn('applicability_' . strtolower($phase->value), ['U','C'])->count() : 0; $filled = $responses->whereNotNull('discloses')->count(); $coverage = $total > 0 ? round($applicable / $total * 100) : 0; $completion = $applicable > 0 ? round($filled / $applicable * 100) : 0; $dimensionLabels = ['fiscal'=>'Fiscal','governacao'=>'Governação','social'=>'Social','ambiental'=>'Ambiental']; $dimensionColors = ['fiscal'=>'blue','governacao'=>'purple','social'=>'amber','ambiental'=>'green']; @endphp @if($submission?->status === \App\Enums\SubmissionStatus::Fechado) Questionário fechado O seu questionário foi encerrado definitivamente em {{ $submission->closed_at?->format('d/m/Y') }}. Não é possível efectuar mais alterações. @elseif($submission?->status === \App\Enums\SubmissionStatus::EmRevisao) Revisão enviada ao CIP A sua revisão foi recebida em {{ $submission->company_edited_at?->format('d/m/Y H:i') }}. O avaliador do CIP irá proceder à validação final. @if($submission->edit_deadline && now()->lt($submission->edit_deadline)) Pode ainda reeditar as respostas até {{ $submission->edit_deadline->format('d/m/Y') }} ({{ $submission->editDaysRemaining() }} dias).
Reeditar respostas
@endif
@elseif($submission?->status === \App\Enums\SubmissionStatus::Publicado)
Pontuação preliminar disponível O CIP publicou a pontuação preliminar da sua auto-declaração. Pode rever e actualizar as suas respostas antes da validação final.
Prazo para revisão: {{ $submission->edit_deadline?->format('d/m/Y') }} ({{ $submission->editDaysRemaining() }} dias restantes)
Após actualizar as respostas, a revisão será enviada automaticamente ao avaliador do CIP para validação final. Se não efectuar revisão dentro do prazo, o questionário será fechado com a pontuação actual. Rever e actualizar respostas
@elseif($submission?->status?->value === 'submetido' || $submission?->status === \App\Enums\SubmissionStatus::EmAvaliacao || $submission?->status === \App\Enums\SubmissionStatus::Preliminar) Questionário submetido! O seu questionário foi recebido com sucesso em {{ $submission->submitted_at?->format('d/m/Y H:i') }}. O avaliador do CIP irá verificar as suas respostas e enviar uma pontuação preliminar dentro do prazo estabelecido.
Ver os meus resultados
@else {{-- Resumo --}}
{{ $applicable }}
Indicadores aplicáveis
{{ $filled }}
Respostas preenchidas
{{ $completion }}%
Preenchimento
{{-- Índice de cobertura --}}
Índice de Cobertura {{ $applicable }}/45 = {{ $coverage }}%
Proporção de indicadores aplicáveis à fase {{ $phase?->value }} sobre o total de 45.
{{-- Resumo por dimensão --}} Resumo por dimensão @php $grouped = $phase ? $service->indicatorsByDimension($phase) : collect(); @endphp
@foreach($grouped as $dim => $indicators) @php $dimFilled = $indicators->filter(fn($i) => $responses->has($i->id) && $responses->get($i->id)->discloses !== null)->count(); $dimTotal = $indicators->count(); $dimPct = $dimTotal > 0 ? round($dimFilled / $dimTotal * 100) : 0; $color = $dimensionColors[$dim] ?? 'zinc'; @endphp
{{ $dimensionLabels[$dim] ?? $dim }}
{{ $dimFilled }}/{{ $dimTotal }}
@endforeach
@if(session('error'))
{{ session('error') }}
@endif {{-- Avisos --}} @php $canSubmit = $applicable > 0 && ($filled / $applicable) >= 0.5; @endphp @if($completion === 100) Questionário completo Todos os indicadores aplicáveis têm resposta. Pode proceder à submissão. @elseif($canSubmit) Preenchimento incompleto ({{ $completion }}%) Existem {{ $applicable - $filled }} indicadores sem resposta. Pode submeter — o CIP avaliará os indicadores em falta através de pesquisa independente. @else

Preenchimento insuficiente — {{ $completion }}% (mínimo 50%)

Respondeu a {{ $filled }} de {{ $applicable }} indicadores aplicáveis. É necessário responder a pelo menos {{ (int) ceil($applicable * 0.5) }} antes de poder submeter.

{{ $filled }}/{{ (int) ceil($applicable * 0.5) }} necessários

@endif @if($canSubmit) Ao submeter, confirma que as informações prestadas são verdadeiras. Após submissão não poderá editar as respostas. @endif
@csrf
Voltar aos indicadores @if($canSubmit) Submeter questionário @else Submeter questionário @endif
@endif