SGEProduto · Domínio · Desenvolvimento
Repositório

enum-reference · implemented

Enum — InternshipStatus

Ciclo de formalização e execução de um estágio já criado no SGE.

Contrato

CaseValor persistidoRótulo
PendingFormalizationpending_formalizationEm formalização
AwaitingSignaturesawaiting_signaturesAguardando assinaturas
PendingCorrectionpending_correctionCom pendência documental
ReleasedreleasedLiberado
InProgressin_progressEm andamento
PausedpausedPausado
CompletedcompletedConcluído
CancelledcancelledCancelado

Um estágio nasce quando a solicitação é aceita, inicialmente em PendingFormalization. Nesse estado, o Setor escolhe o template, gera o documento e o encaminha para assinatura. Só então o estágio passa a AwaitingSignatures. Rascunho, envio, análise, pendência e recusa pertencem exclusivamente a InternshipRequestStatus. O status de cada assinatura pertence a GeneratedDocumentStatus, não a este enum.

Transições iniciais

Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom

100%Abrir inteiro ↗

Renderizando diagrama declarativo…

Legenda
  • Estado
  • Transição
  • Terminal
Leitura semântica

O estágio aguarda formalização, assinaturas e liberação; depois entra em andamento, pode ser pausado ou cancelado, e só termina como Completed após a confirmação dos requisitos.

Fonte declarativa: diagrams/sources/enum-internship-status.mmd

Checklist de implementação

  • Implementar o enum string e rótulos no código.
  • Implementar options() e values().
  • Adicionar cast em Internship.
  • Usar o valor inicial do enum na migration de internships.
  • Implementar guardas para transições permitidas.
  • Usar a mesma guarda na Action manual e em Schedules, sem update direto de status.
  • Testar cases, valores, rótulos e opções.
  • Testar formalização, reemissão após pendência, liberação, pausa, retomada, conclusão e cancelamento no fluxo de domínio.
  • Atualizar Fluxos principais se as transições forem alteradas.

Referência funcional