Essa é uma revisão anterior do documento!


RF-011 — Pautas e Sessões de Julgamento

Descrição: Disponibiliza ao público um calendário mensal de sessões de julgamento do TCE-GO com distinção visual por tipo de plataforma, e o detalhamento da pauta de cada sessão com filtros, paginação, gravações e navegação entre sessões.

Menu / Local de Acesso: Calendário de Sessões — rotas ``/pautas`` (calendário) e ``/pautas/[DATA]`` (detalhe da sessão)

Nível Perfil Autenticação Abrangência
Público Advogado, Jurisdicionado (orgão fiscalizado) Não requerida Acesso irrestrito ao calendário e detalhe das sessões

Elemento Tipo Descrição
Cabeçalho Banner Título “Pautas e Sessões de Julgamento” — fundo azul institucional (``–primary``)
Navegação de mês Botões ``< Mês Anterior`` e ``Próximo Mês >`` — disparam nova consulta à API
Grade do calendário Grade Semanas × Dias do mês corrente
Indicador de dia com sessão Badge(s) Um badge colorido por sessão do dia; múltiplos badges empilhados quando há mais de uma sessão
Legenda Componente fixo Exibida permanentemente abaixo (ou ao lado) do calendário; três cores: Azul (Presencial), Verde (Videoconferência), Laranja (Votação Simultânea)
Estado loading Skeleton Exibido durante chamada à API
Estado empty Mensagem Exibido quando nenhuma sessão existe no mês consultado
Estado error Mensagem Exibido em falha inesperada de API

Cores dos badges:

Cor Token Tipo de Sessão Código Legado
Azul ``–primary`` Sessão Presencial ``INDR_TIPO_A = 'O'`` ou ``'X'`` — plataforma presencial
Verde ``–success`` (~#16A34A) Videoconferência Plataforma videoconferência
Laranja ``–complementary`` (~#F17300) Votação Simultânea (Plenário Virtual) ``INDR_TIPO_A = 'E'`` (Extraordinária Administrativa)

Combinações possíveis de sessões em um mesmo dia:

Sessão Colegiado Tipo
Primeira Câmara — Ordinária ``PRIMEIRA_CAMARA`` ``ORDINARIA``
Segunda Câmara — Ordinária ``SEGUNDA_CAMARA`` ``ORDINARIA``
Tribunal Pleno — Ordinária ``TRIBUNAL_PLENO`` ``ORDINARIA``
Tribunal Pleno — Extraord. Administrativa ``TRIBUNAL_PLENO`` ``EXTRAORDINARIA_ADMINISTRATIVA``

Cabeçalho da Sessão:

Campo UI Campo Oracle / Legado Formato
Colegiado ``INDR_COLEGIADO_A`` “Primeira Câmara” / “Segunda Câmara” / “Tribunal Pleno”
Tipo ``INDR_TIPO_A`` “Ordinária” / “Extraordinária Adm.” / “Extraordinária”
Plataforma derivado de ``INDR_TIPO_A`` + campo plataforma “Presencial”, “Videoconferência” ou “Virtual (Votação Simultânea — Plenário Virtual)”
Situação ``INDR_STATUS_A`` “Ativa” / “Encerrada” / “Cancelada” / “Inativa”
Número da Sessão ``NUMR_SESSAO_N`` Numérico
Data da Sessão ``DATA_SESSAO_D`` ``dd/MM/yyyy HH:mm``
Data de Abertura ``DATA_ABERTURA_D`` ``dd/MM/yyyy HH:mm``
Data de Fechamento ``DATA_FECHAMENTO_D`` ``dd/MM/yyyy HH:mm``
Data de Divulgação ``DATA_DIVULGACAO_D`` ``dd/MM/yyyy HH:mm``
Total de Processos Calculado no front Contagem de itens em ``Processos``
Membros ``VPLD_MEMBROS_CAD_SESSAO`` Link “ver membros” — abre modal/painel lateral
Fundamentação Legal Texto fixo “PAUTA (art. 150, Incisos I a VI, RI-TCE)”

Modal/Painel de Membros:

Função Exibida Código Legado (``INDR_FUNCAO_A``)
Presidente ``P``
Relator / Relatora ``C``, ``A``, ``AS``, ``CS``
Procurador ``R``, ``PS``
Secretário / Secretária ``S``

Barra de Filtros:

Filtro Tipo Opções Campo Filtrado
Relator ``<select>`` Lista de relatores únicos da sessão ``relator``
Procurador ``<select>`` Lista de procuradores únicos ``procurador``
Colegiado / Plenário ``<select>`` Primeira Câmara / Segunda Câmara / Tribunal Pleno ``colegiado``
Texto livre ``<input>`` Busca parcial, case-insensitive ``numeroProcesso`` + ``assunto`` + ``ementa``

Card de Processo:

Campo Campo Legado Obrigatório Fallback
N° Processo (link externo) ``CODG_PROCESSO_N`` Sim “Não informado”
Assunto ``DESC_ASSUNTO_A`` Sim “Não informado”
Ementa ``TextoEmenta`` (via ``DtoPauta``) Sim “Não informado”
Relator ``RELATOR`` (via ``VPLD_MEMBROS_CAD_SESSAO``) Sim “Não informado”
Procurador membro com ``INDR_FUNCAO_A = 'R'`` ou ``'PS'`` Sim “Não informado”
Indicador “Julgado” ``INDR_ESTADO_A = 'J'`` Condicional Badge omitido se não julgado
Botão “Assistir gravação” ``gravacao`` por processo Condicional Botão omitido se ``gravacao === null``

Ata de Julgamento:

Situação Condição Cor do Banner Ação Disponível
``AGUARDANDO_SESSAO`` Data da sessão não chegou Azul claro (``blue-50``) Nenhuma
``EM_ELABORACAO`` Sessão encerrada, ata em preparo Amarelo (``amber-50``) Nenhuma
``ELABORADA`` Ata finalizada com URL Verde (``green-50``) Botão “Baixar Ata” (link para PDF)

PassoAçãoRegraTela
01Usuário acessa ``/pautas`` Tela 01
02Sistema exibe skeleton animado (estado ``loading``) Tela 01
03Sistema executa ``GET /api/pautas/calendario?mes={mm}&ano={yyyy}`` com mês/ano correntes Tela 01
03.1API retorna sucesso → sistema renderiza grade do calendário com badges coloridos por tipo de sessãoRN03, RN07Tela 01
03.2API retorna sucesso e nenhuma sessão no mês → sistema exibe estado ``empty`` com mensagem informativa Tela 01
03.3API retorna erro → sistema exibe estado ``error`` com mensagem genérica de falha Tela 01
04Sistema exibe legenda persistente de cores abaixo (ou ao lado) do calendárioRN07Tela 01

PassoAçãoRegraTela
01Usuário clica em ``< Mês Anterior`` ou ``Próximo Mês >`` Tela 01
02Sistema executa nova chamada ``GET /api/pautas/calendario?mes={mm}&ano={yyyy}`` sem reload de página Tela 01
03Sistema atualiza a grade do calendário com os dados do novo mêsRN03, RN07Tela 01

PassoAçãoRegraTela
01Usuário clica em um dia com badge(s) de sessão no calendário Tela 01
02Sistema navega para ``/pautas/[DATA]`` (todos os badges do mesmo dia utilizam a mesma URL) Tela 02
03Sistema exibe skeleton animado (estado ``loading``) Tela 02
04Sistema executa ``GET /api/pautas/[DATA]`` Tela 02
04.1API retorna sucesso → sistema exibe cabeçalho da sessão + Ata de Julgamento + filtros + cards de processos paginadosRN05, RN14, RN17Tela 02
04.2API retorna ``not found`` → sistema executa ``notFound()`` (HTTP 404) Tela 02
04.3Sessão com ``INDR_STATUS_A = 'C'`` (Cancelada) → sistema exibe banner/alerta “Sessão Cancelada” no cabeçalhoRN09Tela 02
05Sistema exibe chips clicáveis “Outras Sessões do Dia” para cada sessão presente na dataRN19Tela 02
06Sistema exibe navegação “Sessão anterior” / “Próxima sessão” no topo e na base da páginaRN08, RN18Tela 02

PassoAçãoRegraTela
01Usuário seleciona valor em ``<select>`` de Relator, Procurador ou Colegiado, ou digita texto no campo de busca livreRN12, RN13Tela 02
02Sistema aplica filtros client-side (``useMemo``) sem nova chamada à APIRN12Tela 02
03Sistema exibe contador “Exibindo X de Y processos” abaixo da barra de filtrosRN12Tela 02
04Sistema exibe botão “Limpar filtros” (visível apenas quando há filtro ativo) Tela 02
05Sistema reseta a paginação para página 1RN11Tela 02
05.1Filtros sem resultado → sistema exibe mensagem: “Nenhum processo encontrado para os filtros aplicados” Tela 02
06Usuário clica em “Limpar filtros” → sistema remove todos os filtros ativos e restaura a lista completa paginada Tela 02

PassoAçãoRegraTela
01Usuário clica em chip “Outras Sessões do Dia” (ex.: “Primeira Câmara — Ordinária”)RN19Tela 02
02Sistema executa ``GET /api/pautas/[DATA]?sessaoId={id}`` sem alterar a URL do navegadorRN19Tela 02
03Sistema atualiza o estado local: cabeçalho da sessão, Ata de Julgamento, filtros e cards de processosRN05, RN17Tela 02

PassoAçãoRegraTela
01Usuário clica no número do processo no cardRN01Tela 02
02Sistema abre ``/processos/[autuacaoId]`` em nova aba (integração com RF-002)RN01Tela 02

PassoAçãoRegraTela
01Sistema verifica o campo ``gravacao`` de cada processo na resposta da APIRN10Tela 02
01.1``gravacao === null`` → sistema omite botão “Assistir gravação” no card do processoRN10Tela 02
01.2``gravacao !== null`` → sistema exibe botão “Assistir gravação” com ícone ``Play`` (Lucide) no cardRN10Tela 02
02Usuário clica em “Assistir gravação” Tela 02
02.1``gravacao.tipo === “YOUTUBE”`` → sistema abre modal com ``<iframe>`` embed do YouTube Tela 02
02.2``gravacao.tipo === “ARQUIVO”`` → sistema abre modal com ``<video>`` ou link direto para o arquivo ``.mp4`` Tela 02

PassoAçãoRegraTela
01Sistema exibe botões “← Sessão anterior” e “Próxima sessão →” no topo e na base da páginaRN08Tela 02
01.1Não há sessão anterior → botão “← Sessão anterior” exibido como ``disabled`` (sem link)RN08Tela 02
01.2Não há próxima sessão → botão “Próxima sessão →” exibido como ``disabled`` (sem link)RN08Tela 02
02Usuário clica em “← Sessão anterior” ou “Próxima sessão →” Tela 02
02.1Sessão destino é única no dia → sistema navega para ``/pautas/[DATA]``RN18Tela 02
02.2Sessão destino possui múltiplas sessões no dia → sistema navega para ``/pautas/[DATA]?sessaoId={id}``RN18Tela 02

PassoAçãoRegraTela
01Sistema verifica o campo ``situacao`` da ``AtaJulgamento`` retornado pela APIRN17Tela 02
01.1``situacao === “AGUARDANDO_SESSAO”`` → sistema exibe banner azul claro (``blue-50``) sem ação disponívelRN17Tela 02
01.2``situacao === “EM_ELABORACAO”`` → sistema exibe banner amarelo (``amber-50``) sem ação disponívelRN17Tela 02
01.3``situacao === “ELABORADA”`` → sistema exibe banner verde (``green-50``) com botão “Baixar Ata” (link para PDF)RN17Tela 02
02Usuário clica em “Baixar Ata” → sistema abre URL do PDF da ata (campo ``url`` da ``AtaJulgamento``)RN17Tela 02

PassoAçãoRegraTela
01Usuário clica em “ver membros” no cabeçalho da sessão Tela 02
02Sistema abre modal/painel lateral com lista de membros da sessãoRN15Tela 02
03Sistema exibe nome e função de cada membro; forma (Relator/Relatora, Secretário/Secretária) segue ``INDR_SEXO_A`` (``M``/``F``)RN15Tela 02
04Sistema omite funções internas não mapeadas (exibe somente: Presidente, Relator/a, Procurador, Secretário/a)RN15Tela 02

Regra Descrição
RN01 N° Processo é link para RF-002 — O número do processo no card deve ser um link ``<a href=“/processos/[autuacaoId]” target=“_blank”>`` que abre o detalhamento do processo em nova aba (integração com RF-002)
RN02 Paginação obrigatória — Lista de processos paginada por padrão em 20 itens/página; seletor de itens por página: 10 / 20 / 50; total reflete o conjunto após aplicação dos filtros ativos, não o total bruto
RN03 Sessões CANCELADAS e INATIVAS excluídas do calendário — Apenas sessões com ``INDR_STATUS_A IN ('A', 'E')`` (Ativa e Encerrada) são exibidas no calendário
RN04 Itens de pauta Transferidos, Excluídos e Extraordinários ocultos — Processos com ``INDR_ESTADO_A IN ('T', 'E', 'X')`` são filtrados na query e não aparecem nos cards
RN05 Campo ausente exibe “Não informado” — Aplica-se a: Relator, Procurador, N° Processo, Assunto e Ementa
RN06 Indicador “Julgado” exibido somente em processos julgados — Badge visível apenas quando ``INDR_ESTADO_A = 'J'`` ou campo equivalente de status julgado; omitido nos demais casos
RN07 Distinção visual obrigatória por tipo de plataforma — Cor de fundo do badge do dia no calendário e legenda persistente na tela devem sempre diferenciar: Presencial (azul ``–primary``), Videoconferência (verde ``–success``), Votação Simultânea (laranja ``–complementary``)
RN08 Navegação entre sessões desabilitada quando inexistente — Botão “← Sessão anterior” ou “Próxima sessão →” exibido como ``disabled`` sem link quando não há sessão anterior/seguinte disponível
RN09 Sessão Cancelada exibe banner de aviso no detalhe — Quando ``INDR_STATUS_A = 'C'``, sistema exibe badge/alerta “Sessão Cancelada” no cabeçalho da Tela 02
RN10 Gravação exibida apenas quando disponível, por processo — Botão “Assistir gravação” é omitido no card quando ``gravacao === null``; exibido individualmente por processo quando preenchido
RN11 Paginação sempre ativa no detalhe — Cards paginados mesmo quando a lista possui ≤ 20 itens; qualquer alteração nos filtros reseta a paginação para a página 1
RN12 Filtros são cumulativos e client-side — Todos os filtros ativos são combinados por operador AND; não disparam nova chamada à API; contador “Exibindo X de Y processos” reflete o conjunto filtrado
RN13 Filtro de texto busca em N° Processo, Assunto e Ementa — Busca parcial, case-insensitive, nos campos ``numeroProcesso``, ``assunto`` e ``ementa`` simultaneamente
RN14 Fundamentação legal exibida no cabeçalho da sessão — Texto fixo: “PAUTA (art. 150, Incisos I a VI, RI-TCE)”
RN15 Membros exibem somente nome e função — Funções permitidas: Presidente (``P``), Relator/a (``C``, ``A``, ``AS``, ``CS``), Procurador (``R``, ``PS``), Secretário/a (``S``); forma de gênero segue ``INDR_SEXO_A``; demais funções internas são omitidas
RN16 Processos listados como cards, não como tabela — Layout de card com ementa expandível; não utilizar grade tabular para a listagem de processos
RN17 Ata de Julgamento exibe estado atual da sessão — Três situações possíveis: ``AGUARDANDO_SESSAO`` (banner azul, sem ação), ``EM_ELABORACAO`` (banner amarelo, sem ação), ``ELABORADA`` (banner verde, botão “Baixar Ata” com link para PDF)
RN18 Navegação entre sessões usa datas, não IDs — URLs seguem o padrão ``/pautas/[DATA]`` (sessão única no dia) ou ``/pautas/[DATA]?sessaoId={id}`` (múltiplas sessões no dia)
RN19 Troca de sessão no mesmo dia é client-side — Chips “Outras Sessões do Dia” não alteram a URL do navegador; atualizam apenas o estado local via nova chamada ``GET /api/pautas/[DATA]?sessaoId={id}``
RN20 Sessão de Videoconferência exibe link de transmissão — Quando ``plataforma === “VIDEOCONFERENCIA”`` e campo ``linkTransmissao`` estiver preenchido, sistema exibe link “Assistir transmissão” no cabeçalho da sessão
  • pres/gerti/gestao_de_ativos/portal/er_011.1775735158.txt.gz
  • Última modificação: 09/04/2026 11:45
  • por pramorim