Skip to main content

Adequação

Módulo de integração assíncrona para gestão de adequações hidrológicas e mudanças de referência nodal (RN), com mecanismos de cache e autenticação segura.

Índice

  1. Visão Geral
  2. Configuração
  3. Fetch Adequações Pendentes
  4. Fetch Mudança RN Pendente
  5. Fetch Mudança RN
  6. Fetch cota adequada
  7. Send adequações
  8. Send mudança RN
  9. Send revisão
  10. Send Supervisao RN

Visão Geral

Sistema especializado em:

  • Operações assíncronas para gestão de dados hidrológicos
  • Cache inteligente com TTL e tamanho máximo configuráveis
  • Integração com serviços externos via API REST
  • Gerenciamento seguro de tokens de acesso
  • Validação de dados com modelos estruturados

Principais operações:

  • Consulta de adequações pendentes
  • Submissão de revisões técnicas
  • Gestão de mudanças de referência nodal
  • Supervisão de qualidade de dados

Configuração

Variáveis de ambiente e constantes críticas:

COTA_HORARIA_URL = {
"regua": "URL_API_REGUA",
"pcd": "URL_API_PCD"
} # Endpoints para cada tipo de estação
CACHE_MAXSIZE = 100 # Capacidade máxima do cache
CACHE_TTL = 3600 # Tempo de vida do cache em segundos

Fetch Adequações Pendentes

Obtém as adequações pendentes de uma estação com caching.

Parâmetros: codigo_estacao (int): O código da estação.tipo (StationType): O tipo ad estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises:HTTPClientError: Se a autenticação falhar (401).

Returns: pd.DataFrame: DataFrame com os dados das adequações pendentes.

Fetch Mudança RN Pendente

Obtém as mudanças de RN pendentes de uma estação com caching.

Parâmetros: codigo_estacao (int): O código da estação. tipo (StationType): O tipo da estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticação falhar (401).

Returns: pd.DataFrame: DataFrame com os dados das mudanças de RN pendentes

Fetch Mudança RN

Obtém a mudança de RN a partir de seu ID com caching.

Parâmetros: id_adequacao (int): O ID da adequação. tipo (StationType): O tipo da estação. token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticação falhar (401).

Returns: pd.DataFrame: DataFrame com os dados da mudança de RN.

Fetch cota adequada

Obtém as cotas adequadas a partir do ID da adequação com caching.

Parâmetros: id_adequacao (int): O ID da adequação. tipo (StationType): O tipo da estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticação falhar (401).

Returns: pd.DataFrame: DataFrame com os dados das cotas adequadas.

Send adequações

Envia um conjunto de adequações e invalida o cache relacionado.

Parâmetros: codigo_estacao (int): O código da estação. tecnica (str): A técnica utilizada. parametros (str | None): Os parâmetros da adequação. cotas_adequadas (list[dict]): As cotas adequadas. tipo (StationType): O tipo da estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticação falhar (401).

Send mudança RN

Envia mudanças de RN e invalida o cache relacionado.

Parâmetros: data (Dict[str, Any]): Os dados das mudanças de RN. tipo (StationType): O tipo da estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticação falhar (401).

Send revisão

Envia a revisão das adequações e invalida o cache relacionado.

Parâmetros: ids_adequacao (list[int]): Os IDs das adequações. revisao (str): O resultado da revisão (aceita ou recusado). tipo (StationType): O tipo da estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticação falhar (401).

Send Supervisao RN

Envia uma ou várias supervisões de RN e invalida o cache relacionado.

Parâmetros: data (list): Os dados das supervisões. tipo (StationType): O tipo da estação (regua/pcd). token_manager (TokenManager): O token manager.

Raises: HTTPClientError: Se a autenticaçãoo falhar (401).