2.4 KiB
2.4 KiB
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_solicitacaodata_agendamentodata_parada_veiculoprevicao_entregadata_finalizacaodata_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_frotaePUT /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/YYYY→YYYY-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.