{{ $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
| Vereador | Situação | Justificativa |
@foreach($presenca['linhas'] as $linha)
| {{ $linha['vereador']->name }} |
{{ $linha['presente'] ? 'Presente' : 'Ausente' }} |
{{ $linha['falta_justificada'] ? ($linha['motivo_falta'] ?: 'Justificada') : '—' }} |
@endforeach
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
| Matéria | Tentativa | Motivo | Horário | Operador | Votos registrados |
@foreach($votacoesCanceladas as $c)
| {{ $c['materia'] }} |
{{ $c['tentativa'] ?? '—' }} |
{{ $c['motivo'] ?? '—' }} |
{{ $c['horario'] }} |
{{ $c['operador'] }} |
{{ $c['votos_registrados'] }} |
@endforeach
@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
| Horário | Vereador | Matéria | Questão | Status | Decisão |
@foreach($questoesOrdem['pendentes']->concat($questoesOrdem['decididas'])->concat($questoesOrdem['retiradas'])->sortBy('suscitada_em') as $qo)
| {{ $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 ?? '—' }} |
@endforeach
@endif
@if($requerimentos->isNotEmpty())
Requerimentos / Incidentes
| Tipo | Matéria | Solicitante | Decisão | Votação | Status |
@foreach($requerimentos as $r)
| {{ $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']).')' : '' }} |
@endforeach
@endif
@if($subscricoes->isNotEmpty())
Subscrições de Matéria
| Vereador | Matéria | Decisão | Autoridade |
@foreach($subscricoes as $s)
|
{{ $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 ?? '—' }} |
@endforeach
@endif
@if($encaminhamentos->isNotEmpty())
Encaminhamento
| Matéria | Aberto | Encerrado | Oradores |
@foreach($encaminhamentos as $e)
| {{ $e['materia'] }} |
{{ $e['aberto_em'] ?? '—' }} |
{{ $e['encerrado_em'] ?? 'em andamento' }} |
@if(! empty($e['oradores']))
{{ collect($e['oradores'])->pluck('nome')->implode(', ') }}
@else
—
@endif
|
@endforeach
@endif
@if($verificacoesQuorum->isNotEmpty())
Verificações de Quórum
| Horário | Finalidade | Fase | Matéria | Presentes |
@foreach($verificacoesQuorum as $v)
| {{ $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 }} |
@endforeach
@endif
@if($discussoes->isNotEmpty())
Discussões
| Matéria | Aberta | Encerrada |
@foreach($discussoes as $d)
| {{ $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') ?? '—' }} |
@endforeach
@endif
@if($usoDaPalavra->isNotEmpty())
Uso da Palavra
| Vereador | Falas | Duração |
@foreach($usoDaPalavra as $u)
| {{ $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
|
@endforeach
@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.