Ajuste
Este módulo define as classes AdequacaoPage e suas subclasses (RNAdjustPageRegua, RNAdjustPagePCD), que implementam a lógica para a visualização e interação com dados de adequação, incluindo a capacidade de ajustar valores e revisar mudanças de Referência de Nível (RN).
Índice
Visão Geral
O módulo adequacao_page define classes para a criação de interfaces de usuário (UI) para a visualização e manipulação de dados de adequação, com foco na técnica de ajuste de Referência de Nível (RN).
- Abstração de Páginas de Adequação: A classe base
AdequacaoPagedefine a estrutura comum para páginas que permitem a adequação de dados. - Implementações Específicas de RN: As classes
RNAdjustPageReguaeRNAdjustPagePCDimplementam a lógica específica para o ajuste de RN em estações do tipo Régua e PCD, respectivamente. - Componentes Bokeh: Utiliza componentes da biblioteca Bokeh para criar gráficos interativos, tabelas editáveis e seletores de data.
- Integração com Algoritmos: Incorpora a classe
AdjustRNpara realizar os cálculos de ajuste de RN. - Manipulação de Dados: Oferece métodos para filtrar, formatar e atualizar os dados exibidos na interface.
Adequação Page
Classe abstrata que define a estrutura básica para páginas que envolvem alguma técnica de adequação.
Init
Inicializa uma nova instância de AdequacaoPage.
Parâmetros:
doc (Document): O documento Bokeh ao qual a página será adicionada.
token_manager (TokenManager): O gerenciador de tokens para autenticação.
data_provider (DataProvider): O provedor de dados.
date (date): A data de referência.
date_picker (DatePicker): O widget de seleção de data.
Create widgets
Método abstrato para criar os widgets da página. Deve ser implementado pelas subclasses.
Append changes
Adiciona os dados de cotas adequadas a uma lista interna para posterior persistência.
Parâmetros:
row (pd.Series): A linha do DataFrame que contém a cota ajustada.
Set dates
Ajusta a data inicial de acordo com o estado de self.date e os dados disponíveis.
Save changes
Exibe um diálogo de confirmação antes de salvar as mudanças realizadas pelo usuário.
Discard changes
Exibe um diálogo para confirmar o descarte de todas as mudanças realizadas.
Discard
Reverte as mudanças realizadas, restaurando os valores originais das cotas e limpando a lista de mudanças.
Enviar adequações
Envia as adequações para serem persistidas no banco de dados. Deve ser implementado pelas subclasses.
Parâmetros:
changes_df (pd.DataFrame): DataFrame contendo as mudanças a serem persistidas.
Create hour select
Cria um widget Select para a seleção de horário (07h ou 17h).
Returns:
Select: O widget de seleção de hora.
On hour select change
Método vazio para ser sobrescrito por subclasses, que será chamado quando a seleção de hora mudar.
Create adequação widgets
Cria os widgets comuns para uma página de adequação, incluindo alertas e inputs de delta de dias.
Toggle legend
Ativa ou desativa a exibição da legenda no gráfico.
Parâmetros:
plot (figure): O objeto do gráfico Bokeh.
Create widgets 07h
Cria os widgets e glyphs específicos para os dados das 07h no gráfico.
Parâmetros:
estimate_label (str): O rótulo da cota adequada. Padrão é cota_sipam.
Create widgets 17h
Cria os widgets e glyphs específicos para os dados das 17h no gráfico.
Parâmetros:
estimate_label (str): O rótulo da cota adequada. Padrão é 'cota_sipam'.
Get plot
Cria um gráfico de adequações pendentes, similar ao gráfico da supervisão.
RN adjust page
Classe base para páginas de adequação que utilizam a técnica de ajuste de Referência de Nível (RN).
Herança (RN Adjust Page)
AdequacaoPage (class): Classe abstrata que contém abstrações para as páginas que envolvem alguma técnica de adequação.
Init (RN Adjust Page)
Inicializa uma nova instância de RNAdjustPage.
Parâmetros:
doc: O documento Bokeh.
token_manager: O gerenciador de tokens para autenticação.
data_provider: O provedor de dados.
date_picker: O widget de seleção de data.
Atributos:
adequador (AdjustRN): Uma instância do algoritmo AdjustRN.
used_technique: A técnica usada.
change: Armazena as mudanças de RN.
_df: Uma cópia do DataFrame de cota horária para manipulação.
Setup data
Configura os dados necessários para a página de ajuste de RN.
Create widgets (RN Adjust Page)
Cria os widgets específicos para a página de ajuste de RN.
Create table columns
Cria as colunas da tabela de dados. Deve ser implementado pelas subclasses.
Returns:
list[TableColumn]: Uma lista das colunas da tabela.
Create table
Cria a tabela para exibir os dados de adequação.
Get plot (RN Adjust Page)
Cria e exibe um gráfico de mudanças de RN pendentes em um diálogo.
Update data
Atualiza os dados exibidos na tabela e no gráfico com base na data selecionada.
Parâmetros:
date (date): A data de referência. Defaults to None.
_Update data
Atualiza os dados específicos da técnica de ajuste. Deve ser implementado pelas subclasses.
Atualizar adequação
Atualiza os dados de adequação no gráfico. Deve ser implementado pelas subclasses.
Parâmetros:
df_adequado (pd.DataFrame): O DataFrame contendo os dados de adequação.
Adequar gráfico
Realiza o ajuste de RN no gráfico com base nos parâmetros inseridos pelo analista.
Save changes (RN Adjust Page)
Inicia o processo de salvamento das mudanças de RN.
Discard (RN Adjust Page)
Descarta as mudanças de RN aplicadas, revertendo o DataFrame interno e limpando o registro da mudança.
Enviar adequações (RN Adjust Page)
Envia os dados da mudança de RN para a API para persistência.
Create layout (RN Adjust Page)
Cria o layout da página, organizando os widgets e o gráfico.
Returns:
UIElement: O layout completo da página, combinando inputs, botões, tabela e gráfico.
RN Adjust Page Régua
Classe para a criação de gráfico para a técnica de adequação de mudança de RN da régua.
Create widgets (RN Adjust Page Régua)
Cria os widgets específicos para a página de ajuste de RN da Régua.
Update data (RN Adjust Page Régua)
Atualiza os dados exibidos no gráfico, separando os dados de 07h e 17h para estações tipo régua.
Atualizar adequação (RN Adjust Page Régua)
Atualiza os dados de adequação no gráfico, com base no DataFrame df_adequado, para estações tipo régua.
Parâmetros:
df_adequado (pd.DataFrame): O DataFrame contendo os dados de adequação ajustados.
Create table columns (RN Adjust Page Régua)
Cria as colunas da tabela para estações do tipo régua, incluindo campos para cotas de 07h e 17h.
Returns:
list[TableColumn]: Uma lista das colunas da tabela.
RN adjust page PCD
Classe para a criação de gráfico para a técnica de adequação de mudança de RN da PCD.
Create widgets (RN Adjust Page PCD)
Cria os widgets específicos para a página de ajuste de RN da PCD.
Update data (RN Adjust Page PCD)
Atualiza os dados exibidos no gráfico, considerando apenas os dados de 07h e a média da régua para PCD.
Atualizar adequação (RN Adjust Page PCD)
Atualiza os dados de adequação no gráfico para estações tipo PCD, focando apenas nos dads de 07h.
Parâmetros:
df_adequado (pd.DataFrame): O DataFrame contendo os dados de adequação ajustados.
Create table columns (RN Adjust Page PCD)
Cria as colunas da tabela para estações do tipo PCD, focando apenas nos campos de 07h.
Returns:
list[TableColumn]: Uma lista das colunas da tabela.