{{ $config->nome_camara }}
Relatório Final da Sessão
Documento administrativo de conferência. Não substitui a Ata oficial da sessão.
@if($sessao->status !== 'encerrada')
Sessão ainda em andamento — dados parciais neste relatório.
@endif
Sessão#{{ $sessao->numero }} — {{ $sessao->tipo }} Data{{ $sessao->data_sessao->format('d/m/Y') }}
Situação{{ ucfirst($sessao->status) }} Legislatura{{ $sessao->legislatura?->label() ?? '—' }}
Horário de início{{ $cabecalho['horario_abertura']?->format('H:i') ?? '—' }} Horário de encerramento{{ $cabecalho['horario_encerramento']?->format('H:i') ?? '—' }}
Presidente{{ $cabecalho['presidente']?->name ?? '—' }} 1º Secretário{{ $cabecalho['secretario']?->name ?? '—' }}

Presença

{{ $presenca['total'] }} vereadores — {{ $presenca['presentes'] }} presentes, {{ $presenca['ausentes'] }} ausentes

@foreach($presenca['linhas'] as $linha) @endforeach
VereadorSituaçãoJustificativa
{{ $linha['vereador']->name }} {{ $linha['presente'] ? 'Presente' : 'Ausente' }} {{ $linha['falta_justificada'] ? ($linha['motivo_falta'] ?: 'Justificada') : '—' }}

Matérias da Sessão

Total: {{ $materias['total'] }} · Apreciadas: {{ $materias['apreciadas']->count() }} · Aprovadas: {{ $materias['aprovadas'] }} · Rejeitadas: {{ $materias['rejeitadas'] }} · Somente lidas: {{ $materias['somente_lidas']->count() }} · Não apreciadas: {{ $materias['nao_apreciadas']->count() }}

Resultados das Votações

@forelse($votacoes as $v)
@if($v['tipo'] === 'individual') {{ $v['materia']->tipo }}{{ $v['materia']->numero ? ' nº ' . $v['materia']->numero . '/' . $v['materia']->ano : '' }} — {{ $v['materia']->titulo }} @else Bloco ({{ $v['itens']->count() }} matérias): {{ $v['itens']->map(fn ($i) => $i->materia->titulo)->implode('; ') }} @endif {{ ucfirst($v['resultado']) }} @if($v['deliberacao'])
{{ $v['deliberacao']['regra_nome'] }}@if($v['deliberacao']['necessarios'] !== null) ({{ $v['deliberacao']['necessarios'] }} nec.)@endif @endif
Favor: {{ $v['favor'] }} · Contra: {{ $v['contra'] }} · Abst.: {{ $v['abstencao'] }} {{ $v['abertura']?->format('H:i') ?? '—' }}–{{ $v['encerramento']?->format('H:i') ?? '—' }}
{{-- Microetapa "Relatório Nominal" (Parte B) — mesma fonte que a tela HTML (SessaoMateria/VotacaoBloco:: votosNominais()), nunca mostra nomes em votação secreta (item 23/25 do pedido). --}} @if($v['nominal'])
Favor: {{ $v['nominal']['favor'] ? implode(', ', $v['nominal']['favor']) : '—' }} Contra: {{ $v['nominal']['contra'] ? implode(', ', $v['nominal']['contra']) : '—' }} Abstenção: {{ $v['nominal']['abstencao'] ? implode(', ', $v['nominal']['abstencao']) : '—' }}
@else
Votação secreta — votos individuais não divulgados.
@endif
@empty

Nenhuma votação finalizada nesta sessão.

@endforelse @if($votacoesCanceladas->isNotEmpty())

Tentativas de Votação Canceladas

@foreach($votacoesCanceladas as $c) @endforeach
MatériaTentativaMotivoHorárioOperadorVotos registrados
{{ $c['materia'] }} {{ $c['tentativa'] ?? '—' }} {{ $c['motivo'] ?? '—' }} {{ $c['horario'] }} {{ $c['operador'] }} {{ $c['votos_registrados'] }}
@endif

Suspensões

@forelse($suspensoes as $s)

Suspensa às {{ $s['suspensa_em'] }}{{ $s['motivo'] ? ' — Motivo: ' . $s['motivo'] : '' }} — {{ $s['retomada_em'] ? 'Retomada às ' . $s['retomada_em'] . ($s['duracao'] ? ' (duração: ' . $s['duracao'] . ')' : '') : 'Ainda suspensa' }} — Operador: {{ $s['operador'] }}

@empty

Nenhuma suspensão registrada.

@endforelse

Ocorrências

@forelse($ocorrencias as $o)

{{ $o['horario'] }} — {{ $o['tipo'] }}: {{ $o['descricao'] }} (registrado por {{ $o['responsavel'] }})

@empty

Nenhuma ocorrência registrada.

@endforelse @if($questoesOrdem['total'] > 0)

Questões de Ordem

@foreach($questoesOrdem['pendentes']->concat($questoesOrdem['decididas'])->concat($questoesOrdem['retiradas'])->sortBy('suscitada_em') as $qo) @endforeach
HorárioVereadorMatériaQuestãoStatusDecisão
{{ $qo->suscitada_em->format('H:i') }} {{ $qo->vereador->name }} @if($qo->sessaoMateria?->materia) {{ $qo->sessaoMateria->materia->tipo }}{{ $qo->sessaoMateria->materia->numero ? ' nº '.$qo->sessaoMateria->materia->numero.'/'.$qo->sessaoMateria->materia->ano : '' }} @else — @endif {{ $qo->questao }} @if($qo->isDecidida()) Decidida @elseif($qo->isRetirada()) Retirada @elseif($qo->isEmAnalise()) Em análise @else Aguardando análise @endif {{ $qo->decisao ?? '—' }}
@endif @if($requerimentos->isNotEmpty())

Requerimentos / Incidentes

@foreach($requerimentos as $r) @endforeach
TipoMatériaSolicitanteDecisãoVotaçãoStatus
{{ $r['tipo'] }} @if($r['materia']) {{ $r['materia']->tipo }}{{ $r['materia']->numero ? ' nº '.$r['materia']->numero.'/'.$r['materia']->ano : '' }} @else — @endif {{ $r['solicitante'] }} @if($r['registrado_por']) (registrado por {{ $r['registrado_por'] }}) @endif {{ $r['forma_decisao'] === 'plenario' ? 'Plenário' : ($r['forma_decisao'] === 'automatica' ? 'Automática' : 'Presidência') }} @if($r['autoridade']) — {{ $r['autoridade'] }} @endif @if($r['regra_deliberativa']) {{ $r['regra_deliberativa'] }} (nec.: {{ $r['votos_necessarios'] ?? '—' }}) @if($r['votos_favor'] !== null) · F:{{ $r['votos_favor'] }} C:{{ $r['votos_contra'] }} A:{{ $r['votos_abstencao'] }} @endif @else — @endif {{ ucfirst(str_replace('_', ' ', $r['status'])) }}{{ $r['efeito_aplicado'] ? ' ('.mb_strtolower(\App\Models\Requerimento::LABELS_EFEITO[$r['efeito_aplicado']] ?? $r['efeito_aplicado']).')' : '' }}
@endif @if($subscricoes->isNotEmpty())

Subscrições de Matéria

@foreach($subscricoes as $s) @endforeach
VereadorMatériaDecisãoAutoridade
{{ $s->vereador->name }} @if($s->registradoPor) (registrada por {{ $s->registradoPor->name }}) @endif {{ $s->materia->tipo }}{{ $s->materia->numero ? ' nº '.$s->materia->numero.'/'.$s->materia->ano : '' }} {{ $s->isAceita() ? 'Aceita' : 'Recusada' }} {{ $s->autoridadeDecisao?->name ?? '—' }}
@endif @if($encaminhamentos->isNotEmpty())

Encaminhamento

@foreach($encaminhamentos as $e) @endforeach
MatériaAbertoEncerradoOradores
{{ $e['materia'] }} {{ $e['aberto_em'] ?? '—' }} {{ $e['encerrado_em'] ?? 'em andamento' }} @if(! empty($e['oradores'])) {{ collect($e['oradores'])->pluck('nome')->implode(', ') }} @else — @endif
@endif @if($verificacoesQuorum->isNotEmpty())

Verificações de Quórum

@foreach($verificacoesQuorum as $v) @endforeach
HorárioFinalidadeFaseMatériaPresentes
{{ $v->criado_em->format('H:i') }} {{ $v->finalidadeLabel() }} {{ $v->faseRegimental->nome ?? '—' }} @if($v->sessaoMateria?->materia) {{ $v->sessaoMateria->materia->tipo }}{{ $v->sessaoMateria->materia->numero ? ' nº '.$v->sessaoMateria->materia->numero.'/'.$v->sessaoMateria->materia->ano : '' }} @else — @endif {{ $v->total_presentes }}
@endif @if($discussoes->isNotEmpty())

Discussões

@foreach($discussoes as $d) @endforeach
MatériaAbertaEncerrada
{{ $d->materia->tipo }}{{ $d->materia->numero ? ' nº '.$d->materia->numero.'/'.$d->materia->ano : '' }} {{ $d->discussao_iniciada_em->format('H:i') }} {{ $d->discussao_encerrada_em?->format('H:i') ?? '—' }}
@endif @if($usoDaPalavra->isNotEmpty())

Uso da Palavra

@foreach($usoDaPalavra as $u) @endforeach
VereadorFalasDuração
{{ $u['nome'] }} {{ $u['falas'] }} @if($u['duracao_total_segundos'] !== null) {{ sprintf('%02d:%02d', intdiv($u['duracao_total_segundos'], 60), $u['duracao_total_segundos'] % 60) }} @else — @endif
@endif

Resumo Operacional

Sessão encerrada{{ $conferencia['sessao_encerrada'] ? 'Sim' : 'Não' }} Presença registrada{{ $conferencia['presenca_registrada'] ? 'Sim' : 'Não' }}
Resultados consolidados{{ $conferencia['resultados_consolidados'] ? 'Sim' : 'Não' }} Ata @if(! $conferencia['ata']) Ainda não gerada @elseif(! $conferencia['ata']->publicar_site) Gerada, ainda não publicada @else Publicada @endif
Relatório gerado pelo sistema {{ $config->nome_sistema }} em {{ $geradoEm->format('d/m/Y H:i') }}
Documento administrativo de conferência. Não substitui a Ata oficial da sessão.