enum-reference · implemented
Enum — EvaluationStatus
Ciclo persistido das respostas de avaliação enviadas pelo supervisor.
Contrato implementado
| Case | Valor persistido | Uso |
|---|---|---|
Draft | draft | Resposta editável, salva pelo supervisor e ainda não enviada. |
Submitted | submitted | Resposta enviada, congelada e aguardando análise. |
Returned | returned | Envio devolvido com motivo; o mesmo formulário volta a ser editável. |
Approved | approved | Envio aceito pelo Setor de Estágio; exige carga horária cumprida. |
Cancelled | cancelled | Registro preservado, encerrado sem aprovação e sem exclusão física. |
Transições
Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom
Renderizando diagrama declarativo…
Leitura semântica
A avaliação começa em Draft, é enviada como Submitted, pode voltar a Returned para correção e, depois da análise do Setor, termina como Approved ou Cancelled.
diagrams/sources/enum-evaluation-status.mmd- Somente o supervisor vinculado ao estágio pode preencher e salvar o
Draftou oReturned. Draftaceita preenchimento parcial. Nos demais estados, todos os campos obrigatórios para o ramo condicional escolhido devem estar válidos; ramos não selecionados e pareceres opcionais permanecem nulos.- Depois da transição para
Submitted, a resposta fica bloqueada.Returnedreabre a mesma linha, permitindo ao supervisor editar todos os campos e reenviá-la. - A análise pertence ao vínculo
AffiliationType::InternshipOffice. O vínculoCoordinatorcontinua representando o coordenador de curso e não concede essa ação automaticamente. A avaliação não guarda FK do revisor; o Activity Log já registra o vínculo ativo como causer. A autorização e a interface do fluxo de revisão ainda estão pendentes. - O Setor de Estágio aprova ou devolve, mas não altera as respostas fornecidas pelo supervisor. O supervisor pode cancelar um envio
SubmittedouReturned; o cancelamento exige motivo. - Não há exclusão física. Ações, valores anteriores/novos e transições são preservados no
activity_log, que não é exibido ao supervisor.
Avaliação vigente
O envio mais recente não substitui imediatamente uma avaliação já vigente. A avaliação considerada para a nota é a resposta Approved mais recente, ordenada por submitted_at e id. O Setor só pode aprovar quando a confirmação de carga horária estiver atendida.
- Um novo
Submittedpermanece apenas como candidato enquanto aguarda análise. - Um
Returnednunca é usado no cálculo. - A avaliação vigente deverá ser referenciada por
internships.current_supervisor_evaluation_idou mecanismo equivalente com garantia de unicidade. - A aprovação da avaliação, isoladamente, não conclui o estágio; a conclusão ocorre quando a carga horária integral é confirmada. Documentos e notas permanecem como registros próprios do processo.
Liberação e notificação
A liberação para preenchimento pertence ao estágio, não ao enum da resposta. O sistema deverá registrar evaluation_released_at, notificar o supervisor vinculado e só então permitir a criação ou edição do rascunho.
Checklist de decisão e implementação
- Confirmar que a avaliação terá rascunho, envio e devolução no mesmo registro.
- Confirmar que o supervisor responde e o Setor de Estágio aprova ou devolve.
- Confirmar que a avaliação vigente será a aprovada mais recente, com aprovação condicionada à carga horária cumprida.
- Definir pesos e valores dos conceitos no snapshot do tipo de estágio.
- Mapear critérios, escala e regras condicionais do formulário fixo de avaliação.
- Criar o enum e seus testes unitários.
- Criar migration e campos de liberação/avaliação vigente.
- Adicionar cast, transições no Model e testes de histórico; autorização e seleção transacional da vigente continuam pendentes.
- Atualizar migration de avaliação e fase de avaliação.