Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
pres:gerti:gestao_de_ativos:portal:er_011 [24/08/2026 21:32] – pramorimpres:gerti:gestao_de_ativos:portal:er_011 [28/08/2026 19:41] (atual) – pramorim
Linha 56: Linha 56:
 |Ata — Aguardando Sessão|`AGUARDANDO_SESSAO`|Data da sessão ainda não chegou|Azul claro (`blue-50`)|Nenhuma.| |Ata — Aguardando Sessão|`AGUARDANDO_SESSAO`|Data da sessão ainda não chegou|Azul claro (`blue-50`)|Nenhuma.|
 |Ata — Em Elaboração|`EM_ELABORACAO`|Sessão encerrada, ata em preparo|Amarelo (`amber-50`)|Nenhuma.| |Ata — Em Elaboração|`EM_ELABORACAO`|Sessão encerrada, ata em preparo|Amarelo (`amber-50`)|Nenhuma.|
-|Ata — Elaborada|`ELABORADA`|Ata finalizada com URL disponível|Verde (`green-50`)|Botão "Baixar Ata" (link para PDF) (RN13).|+|Ata — Elaborada|`ELABORADA`|Ata finalizada, com arquivo e data de elaboração retornados na consulta|Verde (`green-50`)|Botão "Baixar Ata" — download direto do arquivo. O banner exibe também a data de elaboração (RN13).|
  
 **Barra de Filtros (client-side):** **Barra de Filtros (client-side):**
Linha 62: Linha 62:
 ^Filtro^Tipo^Campo Filtrado^Observação| ^Filtro^Tipo^Campo Filtrado^Observação|
 |Relator|Seleção (`<select>`)|`relator`|Lista de relatores únicos da sessão corrente.| |Relator|Seleção (`<select>`)|`relator`|Lista de relatores únicos da sessão corrente.|
-|Procurador|Seleção (`<select>`)|`procurador`|Lista de procuradores únicos da sessão corrente.| 
 |Colegiado / Plenário|Campo fixo, não alterável|–|Exibe o colegiado da sessão exibida (ex.: "Tribunal Pleno — Ordinária"). Bloqueado: uma sessão pertence a um único colegiado (RN10).| |Colegiado / Plenário|Campo fixo, não alterável|–|Exibe o colegiado da sessão exibida (ex.: "Tribunal Pleno — Ordinária"). Bloqueado: uma sessão pertence a um único colegiado (RN10).|
 |Texto livre|Campo Texto (`<input>`)|`numeroProcesso` + `assunto` + `ementa`|Busca parcial, case-insensitive (RN10).| |Texto livre|Campo Texto (`<input>`)|`numeroProcesso` + `assunto` + `ementa`|Busca parcial, case-insensitive (RN10).|
Linha 75: Linha 74:
 |Ementa|Catálogo (`/api/pauta/sessao`)|`Processo.ementa`|Sim|"Não informado" (RN04). Em processo sigiloso, omitida (RN16).| |Ementa|Catálogo (`/api/pauta/sessao`)|`Processo.ementa`|Sim|"Não informado" (RN04). Em processo sigiloso, omitida (RN16).|
 |Relator|Catálogo (`/api/pauta/sessao`)|`Membro.nomeMembro` com função Relator|Sim|"Não informado" (RN04).| |Relator|Catálogo (`/api/pauta/sessao`)|`Membro.nomeMembro` com função Relator|Sim|"Não informado" (RN04).|
-|Procurador|Catálogo (`/api/pauta/sessao`)|`Membro.nomeMembro` com função Procurador|Sim|"Não informado" (RN04).| 
 |Badge "Julgado"|Catálogo (`/api/pauta/sessao`)|`Processo.julgado` (boolean)|Condicional|Badge omitido quando `julgado = false` (RN05).| |Badge "Julgado"|Catálogo (`/api/pauta/sessao`)|`Processo.julgado` (boolean)|Condicional|Badge omitido quando `julgado = false` (RN05).|
 |Botão "Assistir gravação"|Catálogo (`/api/pauta/videos`)|Vínculo por `Processo.id`; a API retorna o link da gravação|Condicional|Botão omitido quando processo não constar na resposta de vídeos (RN09).| |Botão "Assistir gravação"|Catálogo (`/api/pauta/videos`)|Vínculo por `Processo.id`; a API retorna o link da gravação|Condicional|Botão omitido quando processo não constar na resposta de vídeos (RN09).|
Linha 145: Linha 143:
 ^Passo^Ação^Regra^Tela| ^Passo^Ação^Regra^Tela|
 |01|O sistema recupera a lista completa de processos da sessão retornada pela API.| |Tela 02| |01|O sistema recupera a lista completa de processos da sessão retornada pela API.| |Tela 02|
-|02|O sistema aplica os filtros ativos (relator, procurador, colegiado, texto livre) de forma cumulativa.|RN10|Tela 02|+|02|O sistema aplica os filtros ativos (relator da pauta, texto livre) de forma cumulativa.|RN10|Tela 02|
 |03|O sistema exibe o contador "Exibindo X de Y processos" quando ao menos um filtro estiver ativo.|RN10|Tela 02| |03|O sistema exibe o contador "Exibindo X de Y processos" quando ao menos um filtro estiver ativo.|RN10|Tela 02|
 |03.1|Caso o filtro não retorne resultados, o sistema exibe a mensagem: "Nenhum processo encontrado. Ajuste os filtros ou clique em ''Limpar filtros'' para ver todos os processos.".|RN10|Tela 02| |03.1|Caso o filtro não retorne resultados, o sistema exibe a mensagem: "Nenhum processo encontrado. Ajuste os filtros ou clique em ''Limpar filtros'' para ver todos os processos.".|RN10|Tela 02|
 |04|O sistema renderiza os cards paginados do conjunto filtrado.|RN02|Tela 02| |04|O sistema renderiza os cards paginados do conjunto filtrado.|RN02|Tela 02|
-|05|Para cada card, o sistema exibe: N° Processo (link), Relator, Procurador, Assunto, Ementa, badge "Julgado" (quando aplicável), badge "Sigiloso" (quando aplicável) e botão "Assistir gravação" (quando disponível).|RN01, RN04, RN05, RN09, RN16|Tela 02|+|05|Para cada card, o sistema exibe: ordem na pauta, N° Processo (link), Relator, Assunto, Interessados, Ementa, badge "Julgado" (quando aplicável), badge "Sigiloso" (quando aplicável) e botão "Assistir gravação" (quando disponível).|RN01, RN04, RN05, RN09, RN16, RN17, RN18|Tela 02|
 |05.2|Em processo sigiloso, o N° Processo é exibido sem link e a ementa e os interessados são omitidos.|RN16|Tela 02| |05.2|Em processo sigiloso, o N° Processo é exibido sem link e a ementa e os interessados são omitidos.|RN16|Tela 02|
 |05.1|Campos ausentes são exibidos como "Não informado".|RN04|Tela 02| |05.1|Campos ausentes são exibidos como "Não informado".|RN04|Tela 02|
Linha 156: Linha 154:
  
 ^Passo^Ação^Regra^Tela| ^Passo^Ação^Regra^Tela|
-|01|O usuário seleciona um valor em qualquer campo da barra de filtros (Relator, Procurador, Colegiado ou Texto livre).| |Tela 02|+|01|O usuário seleciona um valor em qualquer campo da barra de filtros (Relator da Pauta ou Texto livre).| |Tela 02|
 |02|O sistema aplica os filtros cumulativamente (AND), sem nova chamada à API.|RN10|Tela 02| |02|O sistema aplica os filtros cumulativamente (AND), sem nova chamada à API.|RN10|Tela 02|
 |03|O sistema reseta a paginação para a página 1.|RN02|Tela 02| |03|O sistema reseta a paginação para a página 1.|RN02|Tela 02|
Linha 215: Linha 213:
 ^Passo^Ação^Regra^Tela| ^Passo^Ação^Regra^Tela|
 |01|O usuário aciona o botão "Baixar Ata" exibido no banner de ata quando a situação for `ELABORADA`.|RN13|Tela 02| |01|O usuário aciona o botão "Baixar Ata" exibido no banner de ata quando a situação for `ELABORADA`.|RN13|Tela 02|
-|02|O sistema abre o link do PDF da ata em nova aba ou realiza download do arquivo.|RN13|–|+|02|O sistema realiza o download do arquivo da ata.|RN13|–|
  
 ===== RN – Regras de Negócio ===== ===== RN – Regras de Negócio =====
Linha 223: Linha 221:
 |RN02|**Paginação dos Processos** – A lista de cards é sempre paginada. Padrão: 20 itens por página; seletor com opções: 10, 20 ou 50. O total reflete o conjunto filtrado, não o total bruto. A paginação reseta para a página 1 ao aplicar ou alterar qualquer filtro.| |RN02|**Paginação dos Processos** – A lista de cards é sempre paginada. Padrão: 20 itens por página; seletor com opções: 10, 20 ou 50. O total reflete o conjunto filtrado, não o total bruto. A paginação reseta para a página 1 ao aplicar ou alterar qualquer filtro.|
 |RN03|**Sessões Canceladas e Inativas são Ocultas** – Sessões com status Cancelada (`C`) ou Inativa (`I`) não são exibidas no calendário nem acessíveis via detalhe. Somente sessões com status Ativa (`A`) ou Encerrada (`E`) são exibidas.| |RN03|**Sessões Canceladas e Inativas são Ocultas** – Sessões com status Cancelada (`C`) ou Inativa (`I`) não são exibidas no calendário nem acessíveis via detalhe. Somente sessões com status Ativa (`A`) ou Encerrada (`E`) são exibidas.|
-|RN04|**Valor Padrão para Campos Ausentes** – Quando um campo obrigatório do card (Relator, Procurador, N° Processo, Assunto, Ementa) não estiver disponível, o sistema exibe o texto "Não informado". A mesma regra vale para as datas opcionais do cabeçalho da sessão (Data de Abertura, Data de Fechamento e Data de Divulgação). O campo nunca é exibido vazio ou como `null`. \\ **Exceção:** em processo sigiloso, ementa e interessados vêm vazios por restrição legal e **não** recebem o texto "Não informado" — são omitidos (RN16).|+|RN04|**Valor Padrão para Campos Ausentes** – Quando um campo obrigatório do card (Relator, N° Processo, Assunto, Ementa, Interessados) não estiver disponível, o sistema exibe o texto "Não informado". A mesma regra vale para as datas opcionais do cabeçalho da sessão (Data de Abertura, Data de Fechamento e Data de Divulgação). O campo nunca é exibido vazio ou como `null`. \\ **Exceção:** em processo sigiloso, ementa e interessados vêm vazios por restrição legal e **não** recebem o texto "Não informado" — são omitidos (RN16).|
 |RN05|**Badge "Julgado" — Condicional por Processo** – O badge "Julgado" é exibido no card somente quando o campo `julgado` retornado pelo Catálogo de Serviços for `true`. Quando `false`, o badge é omitido. O badge nunca é exibido como placeholder vazio.| |RN05|**Badge "Julgado" — Condicional por Processo** – O badge "Julgado" é exibido no card somente quando o campo `julgado` retornado pelo Catálogo de Serviços for `true`. Quando `false`, o badge é omitido. O badge nunca é exibido como placeholder vazio.|
 |RN06|**Distinção Visual Obrigatória por Plataforma** – A cor do badge no calendário e a legenda são obrigatórias e permanecem visíveis na tela: \\ Azul (`–primary`) = Sessão Presencial \\ Verde (`–success`) = Videoconferência \\ Laranja (`–complementary`) = Votação Simultânea (Plenário Virtual).| |RN06|**Distinção Visual Obrigatória por Plataforma** – A cor do badge no calendário e a legenda são obrigatórias e permanecem visíveis na tela: \\ Azul (`–primary`) = Sessão Presencial \\ Verde (`–success`) = Videoconferência \\ Laranja (`–complementary`) = Votação Simultânea (Plenário Virtual).|
Linha 229: Linha 227:
 |RN08|**Data sem Sessão Disponível** – Quando a data consultada não possuir sessão disponível, o sistema exibe a mensagem "Nenhuma sessão encontrada para esta data", sem cabeçalho e sem lista de processos. A regra alcança o caso de a única sessão do dia estar Cancelada: a API retorna vazio para sessão cancelada, portanto ela não chega a ser exibida no detalhe (RN03). Data em **formato inválido** não recai nesta regra — exibe a página de erro padrão.| |RN08|**Data sem Sessão Disponível** – Quando a data consultada não possuir sessão disponível, o sistema exibe a mensagem "Nenhuma sessão encontrada para esta data", sem cabeçalho e sem lista de processos. A regra alcança o caso de a única sessão do dia estar Cancelada: a API retorna vazio para sessão cancelada, portanto ela não chega a ser exibida no detalhe (RN03). Data em **formato inválido** não recai nesta regra — exibe a página de erro padrão.|
 |RN09|**Gravação Vinculada por Processo** – O botão "Assistir gravação" é exibido no card somente quando há gravação disponível para aquele processo. Quando não há gravação, o botão é omitido completamente, sem placeholder. A API retorna **sempre o link da gravação** vinculada ao processo (ex.: ''https://videos.tce.go.gov.br/2025/11-25/12-11-2025/202200010052845.mp4''); ao acionar o botão, o sistema exibe o reprodutor com essa gravação. Não há distinção de tipo a tratar na interface.| |RN09|**Gravação Vinculada por Processo** – O botão "Assistir gravação" é exibido no card somente quando há gravação disponível para aquele processo. Quando não há gravação, o botão é omitido completamente, sem placeholder. A API retorna **sempre o link da gravação** vinculada ao processo (ex.: ''https://videos.tce.go.gov.br/2025/11-25/12-11-2025/202200010052845.mp4''); ao acionar o botão, o sistema exibe o reprodutor com essa gravação. Não há distinção de tipo a tratar na interface.|
-|RN10|**Filtros Cumulativos com Escopo de Texto** – Os filtros de Relator, Procurador e Texto livre são cumulativos (AND) e se aplicam aos processos da sessão exibida. O **Colegiado não é filtrável**: uma sessão pertence a um único colegiado, e o campo é exibido preenchido e bloqueado com o colegiado da sessão. O filtro de texto realiza busca parcial e case-insensitive nos campos N° Processo, Assunto e Ementa simultaneamente. O contador "Exibindo X de Y processos" é exibido quando ao menos um filtro estiver ativo. O botão "Limpar filtros" é visível apenas com filtro ativo.|+|RN10|**Filtros Cumulativos com Escopo de Texto** – Os filtros de Relator da Pauta e Texto livre são cumulativos (AND) e se aplicam aos processos da sessão exibida. **Não há filtro de procurador** (RN18). O **Colegiado não é filtrável**: uma sessão pertence a um único colegiado, e o campo é exibido preenchido e bloqueado com o colegiado da sessão. O filtro de texto realiza busca parcial e case-insensitive nos campos N° Processo, Interessados, Assunto e Ementa simultaneamente. O contador "Exibindo X de Y processos" é exibido quando ao menos um filtro estiver ativo. O botão "Limpar filtros" é visível apenas com filtro ativo.|
 |RN11|**Fundamentação Legal Fixa** – O cabeçalho da sessão exibe obrigatoriamente o texto fixo: **"PAUTA (art. 150, Incisos I a VI, RI-TCE)"**.| |RN11|**Fundamentação Legal Fixa** – O cabeçalho da sessão exibe obrigatoriamente o texto fixo: **"PAUTA (art. 150, Incisos I a VI, RI-TCE)"**.|
-|RN12|**Membros — Funções Exibidas** – O painel de membros exibe exclusivamente nome e função. O campo `tituloMembro` retornado pelo Catálogo de Serviços já contém a função com a forma de gênero correta ("Relator" / "Relatora", "Secretário" / "Secretária"). Funções exibidas: Presidente, Relator(a), Procurador e Secretário(a). A função Procurador Substituto (`PS`) não é exibida.| +|RN12|**Membros — Funções Exibidas** – O painel de membros exibe exclusivamente **nome e função**, e o nome é apresentado sem tratamento ou cargo ("Aldemário Araújo Castro", não "Proc. Dr. Aldemário Araújo Castro"): o cargo é o próprio rótulo de função, ao lado. \ O campo `tituloMembro` retornado pelo Catálogo de Serviços já contém a função com a forma de gênero correta ("Relator" / "Relatora", "Secretário" / "Secretária"). \ **Funções exibidas: Presidente, Relator(a), Procurador e Secretário(a)** — somente estas quatro. \ **Nenhum membro é omitido da composição**: as cadeiras substitutas integram a sessão e são apresentadas sob a função que exercem, e não sob a de substituto: \ • Conselheiro Substituto (`CS`) e Substituto de Sessão (`AS`) → **Relator(a)**, por serem registrados na `PLD_MEMBRO` como relatores da pauta do processo (RN17); \ • Procurador Substituto (`PS`) → **Procurador**. \ Ou seja, os rótulos "Conselheiro Substituto", "Substituto de Sessão" e "Procurador Substituto" **não são exibidos**; os membros que os possuem, sim.| 
-|RN13|**Ata de Julgamento — Três Situações e Download via Endpoint** – O banner de ata exibe estado e ação conforme a situação: \\ ''AGUARDANDO_SESSAO'' — banner azul claro, sem ação \\ ''EM_ELABORACAO'' — banner amarelo, sem ação \\ ''ELABORADA'' — banner verde, botão "Baixar Ata". \\ O download é realizado via ''GET /api/arquivo/downloadblob/PLD_ATA/text_ataass_b/PLDATA_ID/{token}/{PLDATA_ID}'' (Catálogo de Serviços). O botão é exibido apenas quando a situação for ''ELABORADA'' e o ''PLDATA_ID'' estiver disponível. \\ **Pendências em aberto:** \\ — O endpoint atual de sessão não retorna o ''PLDATA_ID''; a API do catálogo precisa ser atualizada para expor esse campo. \\ — O mecanismo de geração e validade do ''token'' presente na URL não está documentado; é necessário investigar como obtê-lo. \\ — A API não possui campo que indique explicitamente que a ata da sessão está pronta; esse indicador (''ELABORADA'') precisa ser incluído na resposta do endpoint.|+|RN13|**Ata de Julgamento — Três Situações e Download do Arquivo** – O banner de ata exibe estado e ação conforme a situação: \\ ''AGUARDANDO_SESSAO'' — banner azul claro, sem ação \\ ''EM_ELABORACAO'' — banner amarelo, sem ação \\ ''ELABORADA'' — banner verde, com botão "Baixar Ata" e a **data de elaboração** exibida no formato ''dd/MM/yyyy''. \\ O endpoint ''GET /api/pauta/sessoes-completas/{dia}/{mes}/{ano}'' retorna, para cada sessão do dia, a **situação** da ata, a **data de elaboração** e os dados do **arquivo** (''PLDATA_ID'' e ''token''). \\ O download é realizado via ''GET /api/arquivo/downloadblob/PLD_ATA/text_ataass_b/PLDATA_ID/{token}/{PLDATA_ID}'' (Catálogo de Serviços), montado a partir desses dados. O acionamento do botão **baixa o arquivo** — não abre nova aba. \\ O botão é exibido apenas quando a situação for ''ELABORADA'' e o arquivo estiver disponível. \\ **Resíduo:** a validade do ''token'' não está documentada. Enquanto não houver comportamento definido para token expirado, esse caso não gera cenário de teste (PD-06).|
 |RN14|**Troca de Sessão no Mesmo Dia sem Alteração de URL** – Ao clicar em um chip "Outras Sessões do Dia", o sistema carrega os dados da nova sessão sem alterar a URL do navegador. A URL só muda ao navegar para outro dia via botões "Sessão anterior" / "Próxima sessão".| |RN14|**Troca de Sessão no Mesmo Dia sem Alteração de URL** – Ao clicar em um chip "Outras Sessões do Dia", o sistema carrega os dados da nova sessão sem alterar a URL do navegador. A URL só muda ao navegar para outro dia via botões "Sessão anterior" / "Próxima sessão".|
 |RN15|**Link de Transmissão para Videoconferência** – Quando a sessão for do tipo Videoconferência e possuir link de transmissão disponível, o sistema exibe o link "Assistir transmissão" no cabeçalho da sessão.| |RN15|**Link de Transmissão para Videoconferência** – Quando a sessão for do tipo Videoconferência e possuir link de transmissão disponível, o sistema exibe o link "Assistir transmissão" no cabeçalho da sessão.|
 |RN16|**Processo Sigiloso na Pauta** – Quando `Processo.ehProcessoSigiloso` for `true`, o card exibe o badge **"Sigiloso"** e preserva os dados públicos do item de pauta: \\ **Exibidos:** N° Processo (como texto, **sem link**), Assunto (`situacaoProcesso`), ordem na pauta e badge "Julgado" quando aplicável. \\ **Não exibidos:** ementa (retornada como string vazia) e interessados (`nomesInteressados` retornado como array vazio). Estes campos são omitidos e **não** recebem o texto "Não informado" da RN04. \\ O badge existe para que a ausência desses campos seja lida como restrição legal, e não como falta de cadastro. A supressão do link evita conduzir o usuário à tela de erro do RF-002, que não exibe processo sigiloso.| |RN16|**Processo Sigiloso na Pauta** – Quando `Processo.ehProcessoSigiloso` for `true`, o card exibe o badge **"Sigiloso"** e preserva os dados públicos do item de pauta: \\ **Exibidos:** N° Processo (como texto, **sem link**), Assunto (`situacaoProcesso`), ordem na pauta e badge "Julgado" quando aplicável. \\ **Não exibidos:** ementa (retornada como string vazia) e interessados (`nomesInteressados` retornado como array vazio). Estes campos são omitidos e **não** recebem o texto "Não informado" da RN04. \\ O badge existe para que a ausência desses campos seja lida como restrição legal, e não como falta de cadastro. A supressão do link evita conduzir o usuário à tela de erro do RF-002, que não exibe processo sigiloso.|
 +|RN17|**Relator da Pauta e Relator do Processo são Campos Distintos** – O relator exibido na pauta e o conselheiro registrado no processo **não são o mesmo campo**. \ **Relator da pauta** — origem ''PLD_MEMBRO'', alcançado pelo vínculo ''VPLD_PROCESSOS_SESSAO_PAUTA.PLDMESS_ID'' → ''VPLD_MEMBROS_CAD_SESSAO.PLDMESS_ID''. É a cadeira que relata o processo **naquela sessão** e é o único relator exibido na pauta. \ **Relator do processo** — origem ''PRO_AUTUACAO.GERUSUA_ID_CONSEL'', vinculado desde a autuação. É atributo do processo e é exibido no detalhamento do processo (RF-002); **não integra o contrato da pauta**. \ A substituição de cadeira já vem **resolvida na origem**: o retorno entrega a cadeira que efetivamente relata e não informa que houve substituição. A pauta, portanto, **não exibe marcador de substituição** nem desdobra o relator em dois campos. \ Consequência para a interface: o relator oferecido no filtro, o exibido no card e o listado na composição da sessão são sempre a mesma cadeira, resolvida por ''PLDMESS_ID'' — nunca pelo nome.|
 +|RN18|**Procurador na Pauta é o da Sessão** – Na pauta, o procurador é exclusivamente o **procurador da sessão** (''PLD_MEMBRO.INDR_FUNCAO_A = R'' ou ''PS''), membro da composição, e é exibido apenas na composição da sessão. \ **Não é exibido no card do processo** e **não é filtrável**: seu valor é único dentro da sessão, de modo que filtrar por ele devolveria a pauta inteira. \ O **procurador do processo** (''VWEB_PROCDADOSGERAIS.PROCURADOR'' / ''PRO_AUTUACAO.GERUSUA_ID_PROCURADOR'') é atributo da autuação e permanece no detalhamento do processo (RF-002), não integrando o contrato da pauta. \ A barra de filtros da Tela 02 é composta por: Relator da Pauta, identificador de Colegiado bloqueado e busca livre.|
 +|RN19|**Ordem da Pauta é Agrupada por Relator** – Cada item de pauta possui uma **ordem sequencial**, exibida no card. A pauta é ordenada **por relator**: os processos de uma mesma cadeira ocupam uma **faixa contígua** de ordem — as ordens 1 a 10 pertencem ao relator X, 11 a 15 ao relator Y, e assim sucessivamente. \ **Sequência dos relatores** — segue a coluna ''ORDEM'' de ''VPLD_MEMBROS_CAD_SESSAO'' (precedência protocolar da composição da sessão), desempatada por ''DATA_ENTRADACARGO_D'' (antiguidade no cargo). \ **Exceção — Presidente por último:** quando o Presidente da sessão relata, seus processos ocupam a **última faixa** da listagem, ainda que sua ''ORDEM'' na composição seja ''01''. A exceção alcança apenas a função ''P'' na sessão: Auditor e Auditor Substituto (''A''/''AS'') permanecem na sequência normal, posicionados pela ''ORDEM''. \ **Ordem dentro de cada relator** — ''NUMR_ORDEM_ASSUNTO'' (ordem protocolar por matéria, de ''PLD_ORDEMASSUNTO''), depois ''DESC_ASSUNTO_A'' e ''CODG_PROCESSO_ORDEM''. \ **Origem do número exibido** — o número da ordem é um **contador sequencial atribuído após a ordenação** (''DtoAutuacao.OrdemLista'' → campo ''ordem'' da API). Não é o ''NUMR_ORDEM_ASSUNTO'': este é a ordem protocolar da matéria e **se repete** entre processos de mesmo assunto, não servindo como número de ordem do item. \ A ordem é exibida inclusive em **processo sigiloso**, por ser dado público do item de pauta (RN16). \ A ordem é atributo do item de pauta, não do processo: o mesmo processo pode ocupar ordens distintas em sessões distintas. \ **Escopo:** a regra vale exclusivamente para a **listagem de processos**. O painel "Membros da Sessão" (RN12) usa a ''ORDEM'' pura, com o Presidente encabeçando a composição — são duas ordenações distintas para finalidades distintas. \ **Origem no legado:** o portal atual implementa a exceção do Presidente no JavaScript, em duas passadas — primeiro os membros com ''tituloMembro != "Presidente"'', depois o Presidente; o site MVC percorre ''Model[CONSELHEIRO_RELATOR]'' e em seguida ''Model[PRESIDENTE]''. A regra não estava documentada e se perdeu na reescrita da consulta de processos, sendo restaurada em 2026-08-28. \ **Datas de regressão:** 31/01/2022 (quatro sessões, dois Presidentes relatando), 25/04/2022 (Presidente por último na Primeira Câmara) e 23/04/2025 (Presidente sem processos — ordem segue a composição). Nenhuma delas isolada é suficiente para validar a regra.|
  
 ===== Integrações ===== ===== Integrações =====
Linha 247: Linha 248:
 |''/api/pauta/sessao/{dia}/{mes}/{ano}'' |GET|''dia'' (int, path), ''mes'' (int, path), ''ano'' (int, path) — todos obrigatórios|Calendário + Detalhe|Sessões do dia com: ''nomeCamara'', ''tipoSessao'', ''dataSessao'', ''horarioSessao'', ''informacaoSessao'', ''alertaSessao'', ''definicaoPauta'', ''membros'' (nome + título), ''processos'' (incl. ''julgado: boolean'', ''assunto'', ''ementa'', ''situacaoProcesso''). Retorna 204 quando sem dados.| |''/api/pauta/sessao/{dia}/{mes}/{ano}'' |GET|''dia'' (int, path), ''mes'' (int, path), ''ano'' (int, path) — todos obrigatórios|Calendário + Detalhe|Sessões do dia com: ''nomeCamara'', ''tipoSessao'', ''dataSessao'', ''horarioSessao'', ''informacaoSessao'', ''alertaSessao'', ''definicaoPauta'', ''membros'' (nome + título), ''processos'' (incl. ''julgado: boolean'', ''assunto'', ''ementa'', ''situacaoProcesso''). Retorna 204 quando sem dados.|
 |''/api/pauta/videos/{dia}/{mes}/{ano}'' |GET|''dia'' (int, path), ''mes'' (int, path), ''ano'' (int, path) — todos obrigatórios|Detalhe|**Fonte primária de gravações por processo.** Retorna ''[[:pres:gerti:gestao_de_ativos:portal:informacoespautasessaoapi|InformacoesPautaSessaoApi]][]''com os processos que possuem vídeo. O vínculo com os processos de ''/api/pauta/sessao'' é feito pelo campo ''Processo.id''. Processos sem correspondência recebem ''gravacao = null'' e o botão "Assistir gravação" é omitido. Retorna 204 quando sem gravações.| |''/api/pauta/videos/{dia}/{mes}/{ano}'' |GET|''dia'' (int, path), ''mes'' (int, path), ''ano'' (int, path) — todos obrigatórios|Detalhe|**Fonte primária de gravações por processo.** Retorna ''[[:pres:gerti:gestao_de_ativos:portal:informacoespautasessaoapi|InformacoesPautaSessaoApi]][]''com os processos que possuem vídeo. O vínculo com os processos de ''/api/pauta/sessao'' é feito pelo campo ''Processo.id''. Processos sem correspondência recebem ''gravacao = null'' e o botão "Assistir gravação" é omitido. Retorna 204 quando sem gravações.|
 +|''/api/pauta/sessoes-completas/{dia}/{mes}/{ano}'' |GET|''dia'' (int, path), ''mes'' (int, path), ''ano'' (int, path) — todos obrigatórios|Detalhe|**Fonte da ata de julgamento.** Endpoint criado em 2026-08-25. Retorna as sessões do dia completas, incluindo os dados da ata: **situação**, **data de elaboração** e **arquivo** (''PLDATA_ID'' e ''token''), que alimentam o banner e o download da RN13. \ **A confirmar:** se substitui ''/api/pauta/sessao'' e ''/api/pauta/videos'' ou se convive com eles (PD-06).|
  
 Respostas de erro comuns a todos os endpoints: Respostas de erro comuns a todos os endpoints:
Linha 268: Linha 270:
 |''INDR_ENTRADA_A'', ''INDR_SAIDA_A'' por processo|''VPLD_PROCESSOS_SESSAO_PAUTA'' |Tipo de entrada/saída do processo na pauta.| |''INDR_ENTRADA_A'', ''INDR_SAIDA_A'' por processo|''VPLD_PROCESSOS_SESSAO_PAUTA'' |Tipo de entrada/saída do processo na pauta.|
 |IDs de navegação (sessão anterior / próxima)|Query por ''DATA_SESSAO_D'' em ''PLD_SESSAO'' |Alimenta botões de navegação (RN07).| |IDs de navegação (sessão anterior / próxima)|Query por ''DATA_SESSAO_D'' em ''PLD_SESSAO'' |Alimenta botões de navegação (RN07).|
-|Ata de julgamento (''situacao'', ''url'', ''dataElaboracao'')|Tabela/view de ata — a mapear|Alimenta banner de ata (RN13).|+|Ata de julgamento (''situacao'', ''dataElaboracao'', ''PLDATA_ID'', ''token'')|''PLD_ATA'' |Retornada por ''/api/pauta/sessoes-completas''; alimenta o banner de ata e o download do arquivo (RN13).|
  
 ===== Histórico de Revisões ===== ===== Histórico de Revisões =====
Linha 284: Linha 286:
 |2026-08-24|Fluxos 05.1.1, 09.02 e 10.02 alinhados às decisões acima|Consistência com RN01, RN08 e RN09| |2026-08-24|Fluxos 05.1.1, 09.02 e 10.02 alinhados às decisões acima|Consistência com RN01, RN08 e RN09|
 |2026-08-24|Corrigidas referências cruzadas inexistentes: RN17, RN18 e RN20, e RN07/RN09 fora de contexto na tabela Oracle|As RN citadas não existem nesta especificação| |2026-08-24|Corrigidas referências cruzadas inexistentes: RN17, RN18 e RN20, e RN07/RN09 fora de contexto na tabela Oracle|As RN citadas não existem nesta especificação|
 +|2026-08-25|RN13 — removidas as pendências em aberto; o novo endpoint `/api/pauta/sessoes-completas/{dia}/{mes}/{ano}` passou a retornar situação, data de elaboração e arquivo da ata. Fluxo 14.02 passou a **download direto**, e o banner Elaborada passou a exibir a data de elaboração|Task de desenvolvimento do `PLDATA_ID` concluída (PD-06)|
 +|2026-08-25|RN17 acrescentada — relator da pauta e relator do processo são campos distintos, resolvidos por ''PLDMESS_ID''|Decisão de Requisitos: relator no filtro = relator no card = relator na composição|
 +|2026-08-25|**RN18 acrescentada** — o procurador da pauta é o da sessão, exibido só na composição, não filtrável; procurador do processo permanece no RF-002|Valor único na sessão torna o filtro inócuo; a distinção de escopo vinha da RN17|
 +|2026-08-25|RN10 alterada — filtro de procurador revogado; busca livre passou a cobrir Interessados|Decorrência da RN18 e da inclusão dos interessados no card|
 +|2026-08-25|RN04 alterada — Procurador saiu da lista de campos obrigatórios do card; Interessados entrou|O card deixou de exibir procurador e passou a exibir interessados|
 +|2026-08-25|RN17 alterada — a pauta exibe apenas o relator da pauta, em campo único; relator do processo permanece no RF-002 e a substituição não é sinalizada|O retorno já entrega a cadeira relatora resolvida e omite a substituição|
 +|2026-08-26|**RN19 acrescentada** — ordem do item de pauta exibida no card, com a pauta agrupada por relator em faixas contíguas|A ordem já vinha no retorno e a RN16 já a citava entre os dados exibidos, mas nenhuma regra definia sua apresentação nem o critério de ordenação|
 +|2026-08-26|RN12 alterada — explicitado que nenhum membro é omitido da composição: `CS`/`AS` são exibidos como Relator(a) e `PS` como Procurador; nome do membro sem tratamento ou cargo|A redação anterior ("a função Procurador Substituto não é exibida") admitia duas leituras — rótulo omitido ou membro omitido. Decisão de Requisitos: o membro consta, o rótulo de substituto não|
  
 — //Gerado com: documentar-funcionalidade-v1.md// \\ — //Gerado com: documentar-funcionalidade-v1.md// \\
 — //Revisado por: Paulo Ricardo Amorim Silva - pramorim@tce.go.gov.br// \\ — //Revisado por: Paulo Ricardo Amorim Silva - pramorim@tce.go.gov.br// \\
-— //Atualizado em 2026-08-24 pelas respostas às pendências registradas em `testes/pendencias-e-divergencias.md` (PD-14 e PD-15)//+— //Atualizado em 2026-08-25 pelas respostas às pendências registradas em `testes/pendencias-e-divergencias.md` (PD-06, PD-14 e PD-15)// 
  • pres/gerti/gestao_de_ativos/portal/er_011.1787607172.txt.gz
  • Última modificação: 24/08/2026 21:32
  • por pramorim