testes/docs/PRAFROT_MANUTENCAO_BACKEND.md

2.4 KiB
Raw Permalink Blame History

Prafrot Manutenção: regras de backend

Regras que o backend deve implementar para alinhar com o frontend da tela de Manutenção (Prafrot).


1. Garantir que, ao atualizar um registro, as datas não fiquem vazias

  • Rota: PUT /manutencao_frota/:id
  • Regra: ao receber um payload de atualização, não sobrescrever com valor vazio campos de data que já existem no registro.
  • Campos de data: data_solicitacao, data_agendamento, data_parada_veiculo, previcao_entrega, data_finalizacao, data_retirada.
  • Comportamento esperado: se o cliente envia data_finalizacao: "" ou omite o campo, o backend mantém o valor atual em banco. Apenas valores não vazios (ex.: "2025-01-15") devem alterar o registro.

O frontend já preserva datas existentes ao montar o payload de edição; o backend deve seguir a mesma lógica para evitar limpar datas acidentalmente.


2. Validar que todas as datas estejam preenchidas antes de permitir fechar uma manutenção

  • Rota: PUT /manutencao_frota/fechar_manutencao/:id
  • Regra: recusar o fechamento (ex.: 400) se alguma das datas abaixo estiver vazia:
    • data_solicitacao
    • data_agendamento
    • data_parada_veiculo
    • previcao_entrega
    • data_finalizacao
    • data_retirada
  • Resposta sugerida: mensagem clara indicando quais datas estão faltando (ex.: "Não é possível fechar: preencha Data Solicitação, Data Finalização.").

O frontend já valida essas mesmas datas antes de chamar o fechamento; a validação no backend é obrigatória para segurança e consistência.


3. Formatar campos de orçamento como moeda (backend)

  • Campos: orcamento_inicial, orcamento_final, dif_orcamento.
  • Regra: armazenar e expor valores numéricos (ex.: 1234.56). O frontend formata em pt-BR (R$ 1.234,56) na exibição.
  • APIs: aceitar número em POST /manutencao_frota e PUT /manutencao_frota/:id; retornar número nos JSONs de listagem e detalhe.

4. Auto-preenchimento de datas no formulário (frontend)

O frontend já trata:

  • Normalização de datas ao carregar para edição (ISO, YYYY-MM-DD, DD/MM/YYYYYYYY-MM-DD).
  • Uso de type="date" com valores normalizados para evitar campos vazios por formato incorreto.

O backend deve retornar datas em formato ISO ou YYYY-MM-DD quando possível, para facilitar o preenchimento correto no formulário.