Estatísticas Legislativas

Indicadores institucionais da atividade legislativa — calculados a partir de dados públicos, sem estimativas.

{{-- ============ Filtros — formulário GET simples, cada combinação gera uma URL própria (e uma chave de cache própria). ============ --}}
Limpar
O ano/exercício considera o ano de protocolo das matérias; o período considera a data da sessão. Só entram nas estatísticas matérias já liberadas para consulta pública.
{{-- ============ Indicadores principais — 100% renderizados no servidor, nunca dependem de JavaScript pra aparecer. ============ --}}
Sessões realizadas
{{ $sessoesRealizadas }}
Matérias apreciadas
{{ $materias['total'] }}
{{ $materias['aprovadas'] }} aprovadas · {{ $materias['rejeitadas'] }} rejeitadas
Taxa de aprovação
{{ $materias['taxa_aprovacao'] !== null ? $materias['taxa_aprovacao'] . '%' : '—' }}
@if($materias['taxa_aprovacao'] === null)
Sem matéria com resultado no período
@endif
@if($exibirFrequenciaPublica)
Frequência média
{{ $frequenciaMedia !== null ? $frequenciaMedia . '%' : '—' }}
@if($frequenciaMedia === null)
Sem sessão no período
@endif
@endif
Produção legislativa
{{ $producao['total'] }}
matérias protocoladas
{{-- ============ Atividade legislativa ao longo do tempo — gráficos são só reforço visual dos mesmos números já mostrados acima/nas tabelas; se o Chart.js não carregar, cada card mostra uma mensagem em vez de ficar em branco. ============ --}}

Atividade legislativa ao longo do tempo

Sessões realizadas por mês @if(count($evolucaoSessoes))
@else
Nenhuma sessão no período selecionado.
@endif
Matérias apreciadas por mês @if(count($evolucaoMaterias))
@else
Nenhuma matéria apreciada e publicável no período selecionado.
@endif
@if($exibirFrequenciaPublica)
Frequência média por mês @if(count($evolucaoFrequencia))
@else
Sem dados de presença no período selecionado.
@endif
@endif
{{-- ============ Distribuição das matérias ============ --}}

Distribuição das matérias

Matérias apreciadas por tipo @if(count($distribuicaoPorTipo))
@else
Nenhuma matéria apreciada e publicável no período selecionado.
@endif
{{-- ============ Presença parlamentar ============ Só exibida quando Configuracao::exibir_frequencia_publica=true — controle SÓ de exibição pública (ver EstatisticasController::index()). Quando desligada, nem a tabela nem o cabeçalho aparecem: nenhum elemento que revele frequência individual fica na página. --}} @if($exibirFrequenciaPublica)

Presença parlamentar

@forelse($frequenciaPorVereador as $l) @empty @endforelse
VereadorPartidoSessões no períodoPresençasFrequência
@if($l['vereador_id']) {{ $l['nome'] }} @else {{ $l['nome'] }} @endif {{ $l['partido'] }} {{ $l['total'] }} {{ $l['presencas'] }} @if($l['total'] > 0) {{ $l['percentual'] }}% @else — sem sessão no período @endif
Nenhum vereador cadastrado.
@endif {{-- ============ Produção legislativa ============ --}}

Produção legislativa por vereador

@forelse($producao['linhas'] as $l) @empty @endforelse
AutorTotalAprovadasRejeitadasPendentes
@if($l['vereador_id']) {{ $l['nome'] }} @else {{ $l['nome'] }} @endif {{ $l['total'] }} {{ $l['aprovadas'] }} {{ $l['rejeitadas'] }} {{ $l['pendentes'] }}
Nenhuma matéria publicável no filtro atual.
{{-- Os cards de navegação geral (Sessões/Matérias e Votações/Vereadores) saíram daqui — não são conteúdo estatístico, são navegação do Portal, e por isso passaram a viver na Home (/publico), junto com os demais acessos do Portal Legislativo. Esta página termina como página de estatísticas. --}} {{-- Chart.js via CDN — mesma versão fixa já usada no Dashboard Executivo da Presidência. Carregado só nesta página. JavaScript puro (SEM Alpine/Livewire — portal-layout não carrega nenhum dos dois): os cards e tabelas acima já têm os números reais renderizados pelo servidor; os gráficos abaixo são só reforço visual, e se o CDN falhar, cada card já mostra a mensagem de "sem dado" em vez de ficar quebrado. --}}