Dúvida de design de entidade de Ordem de Serviço para sistema web
13 respostas
poojava
R
Rafael_Aquila
Tenho uma entidade Ordem de Serviço e estou com dúvida na implementação de um novo atributo para ela. A ordem de serviço é referente a equipamentos elétricos e além dos atributos de tipo, marca, potencia eu preciso persistir o status da Ordem de Serviço.
O status poderia ser “Aprovada”, “Rejeitada”, “Finalizada”. Gostaria de registrar a data de saida dela (gostaria de dicas de como implementar isso também). Estou usando Spring Boot , thymeleaf e hibernate com banco mysql
Qual seria o melhor jeito de implementar a classe Status pra se relacionar com a Ordem de Serviço ?
Você pretende manter historico dos status de uma ordem de serviço?
R
Rafael_Aquila
Sim, a data de cada tipo de status
Lucas_Camara
Então uma Ordem de Serviço pode ter um ou mais status. Com isso, vc teria que manter uma relacionamento 1*n.
No mapeamento, a ordem de serviço teria uma lista de status num relacionamento oneToMany. E para facilitar, vc tb pode criar um outro relacionamento oneToOne com status indicando o status atual.
andrebmarinho
Rafael,
Uma sugestão: Eu colocaria os atributos: potencia, marca, tipoEquipamento como atributos de um objeto Equipamento, por sua vez Equipamento como atributo da ordem de serviço.
Não sei se fui claro, mas acho mais lógico.
R
Rafael_Aquila
Sim, esse desenho faz mais sentido André, valeu.
R
Rafael_Aquila
Então Lucas, onde entraria o registro de data ai ? N entendi isso
Lucas_Camara1 like
A data é do status, correto? Então vc teria algo assim:
TB_StatusOrdemServico
id_status -> PK
ds_status -> Status atribuido (Aprovada, Rejeitada, Finalizada)
id_ordemservico -> FK TB_OrdemServico
dt_status -> Data em que o status foi atribuído à ordem de serviço
guilhermebhte
Entendo que este é o cenário ideal.
andrebmarinho
A ordem de serviço pode ter varias datas. Achei interessante ter a data vinculada ao status.
Mas por exemplo uma ordem de serviço tem outras datas que em nada tem relação com o status, exemplo: data de entrada do equipamento, data da ultima atualização.
Quanto ao conceito de data vinculado ao status, fiquei curioso, como funcionaria?
guilhermebhte
Entendo que esta entidade só deverá ser populada, se mudar o status, assim precisa da data/hora.
Essa é uma ideia que pensei, supondo que uma ordem de serviço pode ter um mesmo status mais de uma vez (se não puder, crie uma constraint para controlar isso).