Casos
A feature Casos é responsável por representar e gerenciar os estudos de processamento dentro do ecossistema PLDPro. Um Caso concentra todas as informações, configurações e arquivos necessários para a execução de um estudo, funcionando como a unidade central de trabalho da aplicação.
No SDK, essa funcionalidade é exposta por meio da classe Caso.
Visão geral
Um Caso pode ser entendido como um container lógico de processamento, que reúne:
- Metadados do estudo (identificação, nome, datas e status)
- Associação opcional a um ambiente remoto (Node/AuthNode)
- Arquivos de entrada, previsões, cenários, decks e regras
- Configurações iniciais necessárias para execução
- Resultados e artefatos gerados ao longo do processamento
A feature Casos viabiliza, de forma integrada, o gerenciamento de casos, abrangendo criação, atualização, execução e monitoramento dos estudos de processamento, além do controle completo de seus arquivos e configurações associadas.
Responsabilidades da classe Caso
A classe Caso encapsula as operações relacionadas a casos, abstraindo detalhes da API e padronizando o tratamento de erros, conversões de tipos e fluxos comuns. Suas principais responsabilidades incluem:
Gerenciamento de Casos
- Criação de casos vazios ou já associados a um ambiente remoto
- Clonagem de casos existentes
- Listagem e filtragem de casos com paginação
- Consulta detalhada de um caso específico
- Remoção de casos
Status e monitoramento
- Consulta do status atual do caso, permitindo acompanhar o progresso do processamento e identificar estados como preparação, execução ou finalização
Associação com ambiente remoto
- Vínculo de um caso a um Node/AuthNode, definindo o caminho remoto onde os arquivos e execuções serão realizados
Gestão e navegação de arquivos
- Listagem da árvore de arquivos associados a um caso
- Remoção seletiva de arquivos
- Download completo do caso ou de subconjuntos específicos (inputs ou arquivos individuais)
Configuração inicial
- Definição das informações iniciais do caso, necessárias para que o backend consiga preparar corretamente o ambiente de execução
Troca de arquivos
- Registro e gerenciamento de operações de troca de arquivos associadas ao caso
- Organização dos arquivos vinculados ao fluxo de troca, preservando a rastreabilidade entre origem, destino e artefatos gerados
Troca de versões
- Registro das trocas de versão dos modelos NEWAVE, DECOMP e GEVAZP ao longo do horizonte do prospectivo
Número de processadores por modelo
- Registro do número de processadores dos modelos NEWAVE e DECOMP por caso
- Validação das regras de negócio no envio, exigindo valor inteiro, não nulo, não negativo e dentro dos limites do formato do
entrada.txt - Abstração completa dos cards pelo SDK, permitindo ao consumidor informar apenas a quantidade de processadores por modelo
- Leitura aderente ao padrão do
entrada.txt, usandoNUMPROCSNWcomo fonte do NEWAVE eNUMPROCSDCcomo fonte do DECOMP - Escrita automática e sincronizada dos registros locais e remotos do formato do
entrada.txt:NEWAVE→NUMPROCSNWeNWNUMPROCSREDECOMP→NUMPROCSDCeDCNUMPROCSRE
Configuração de geração e seleção de registros do DADGER
- Configuração da geração do DADGER por caso, incluindo ativação, tipo de geração e interrupção do fluxo após geração
- Definição das datas de início para geração completa e seleção de registros
- Seleção dos registros do DADGER que deverão ser modificados, usando enums do SDK para evitar exposição dos índices e cards do
entrada.txt. - Escrita dos cards
GERADADGER,SODADGER,DADGERCOMP,DADGERSELECe dos registros de modificação, comoDPMOD,PQMOD,RIMOD,IAMOD,VEMOD,CTMOD,MPMOD,FDMOD,TIMOD,RQMOD,HEMODeMTMOD - Quando a geração do DADGER é desativada, as demais informações são ignoradas na escrita e o comportamento de comentário do
entrada.txté preservado
Configuração de execução com partida
- Configuração da execução com partida do estudo por caso
- Definição direta do uso de partida, da partida mensal e do modelo de partida, sem exigir conhecimento dos cards do
entrada.txt - Escrita dos cards
EXECUTAPARTIDA,PARTMESe, quando aplicável,MODELOPPQ - Validação dos modelos de partida suportados pelo
entrada.txt:GV,NWeDC - Quando a execução com partida é desabilitada, o modelo de partida deixa de ser obrigatório e o comportamento legado é preservado
Configuração de execução dos modelos
- Configuração da execução dos modelos NEWAVE, GEVAZP, DECOMP e DESSEM
- Configuração das versões dos modelos NEWAVE, GEVAZP e DECOMP
- Definição da revisão de parada da execução semanal
- Configuração da viabilização do DECOMP, incluindo flag de habilitação e número máximo de tentativas
- Escrita dos cards
EXECNW,EXECGVP,EXECDCP,EXECDSS,VSNEWV,VSGVZP,VSDECO,REVPARADAeFLAGVIABDC - Suporte a envio conjunto ou incremental, permitindo configurar apenas parte das informações desde que o estado final do caso permaneça consistente
Operações auxiliares
- Atualização de caminhos específicos dentro dos arquivos de entrada, como o caminho dos cortes utilizados no processamento
Papel no fluxo de execução
No fluxo típico da aplicação, a feature Casos atua como o ponto de orquestração do estudo, conectando infraestrutura (Nodes), autenticação (AuthNodes) e dados de entrada. A partir dela, o usuário consegue preparar completamente um caso, acompanhar seu estado e recuperar seus artefatos, mantendo a rastreabilidade e a reprodutibilidade dos estudos executados no PLDPro.
Em resumo, a classe Caso fornece uma camada de abstração robusta e coesa para o gerenciamento de estudos, permitindo que a SDK ofereça uma experiência consistente e segura para criação, configuração, execução e monitoramento de casos de processamento.