enum-reference · implemented
Enum — GeneratedDocumentStatus
Ciclo de vida de cada documento gerado ou registrado no estágio.
Contrato
| Case | Valor persistido | Rótulo |
|---|---|---|
Generated | generated | Gerado |
AwaitingSignature | awaiting_signature | Aguardando assinatura |
Signed | signed | Assinado |
Cancelled | cancelled | Cancelado |
O status pertence ao documento, não ao estágio. Cancelled encerra o ciclo do documento e não cancela automaticamente o estágio. O cancelamento exige motivo e data; a autoria fica no Activity Log. O arquivo final não é armazenado pelo SGE.
A transição de um documento assinável para AwaitingSignature exige que o Setor informe o local de disponibilização para assinatura em campo textual genérico e, se optar por disparar o aviso, selecione ao menos um interessado elegível. A plataforma é somente um valor informado no registro; não é case do enum nem constante do sistema.
Quando a data de início vencer antes da assinatura, o documento continua AwaitingSignature: não há schedule para esse fato. Cancelamento, pendência documental e correção são decisões manuais do Setor, sempre com motivo e Activity Log. Uma reemissão só inicia novo ciclo documental depois de eventual correção ser aprovada, preservando o cancelado no histórico.
OrientationCertificate usa Generated e não passa por assinatura. Não existem os status Registered ou Released para documentos; Released pertence ao ciclo do estágio. Falhas técnicas de Job não viram status persistente sem decisão explícita.
Checklist de implementação
- Criar enum string e rótulos no código.
- Implementar
options()evalues(). - Cobrir cases, valores, rótulos e opções com teste unitário.
- Adicionar cast em
GeneratedDocument. - Usar o valor inicial do enum na migration de generated_documents.
- Implementar guardas para transições e documentos já assinados.
- Exigir local de disponibilização e validar os interessados selecionados na transição para
AwaitingSignature. - Testar geração, assinatura, cancelamento, reemissão e documento externo na integração documental.
- Atualizar fluxo de documentos.