Olá, estou começando a desenvolver um sistema para verificar o status de um ordem de serviço, basicamente entra um item para realizar o serviço e ele passa por 5 etapas, onde cada etapa correpsonde a uma pessoa responsável, tem um valor pelo serviço, data de entrada e saida e esse tipo de controle.
bom eu criei uma classe para ordem de serviço que recebe a etapa1, essa etapa1 tem uma variável que recebe a etapa 2 q tem uma variável q recebe a etapa 3 e assim vai em frente.
A ideia é chamar a função getvalue() da ordem e ela retornar um hash com key dizendo o nome da etapa e o value o valor.
chamar a função getDateIn() e retornar um hash com key o nome da etapa e o value a data de entrada.
Não sei se é a melhor forma de fazer isso, na verdade fui baseado no padrão decorator, mas o meu problema é que não sou experiente em JPA e não sei como faço o mapeamento dessa classe.
Gostaria de uma luz de como mapear essa classe.
package entities;
@Entity
@Table(name = "steps")
@SequenceGenerator(name = "STEP_SEQUENCE", sequenceName = "steps_id_seq", allocationSize = 1, initialValue = 1)
public class Step {
public Step(Step nextStep) {
this.nextStep = nextStep;
}
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "STEP_SEQUENCE")
private Long id;
private String StepName;
private String status;
private Functionary functionary;
private double value;
private Step nextStep;
private Calendar dateIn;
private Calendar dateOut;
private List<Part> parts;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public HashMap<String, Functionary> getFunctionary(
HashMap<String, Functionary> functionaryList) {
functionaryList.put(this.StepName, this.functionary);
return this.nextStep.getFunctionary(functionaryList);
}
public void setFunctionary(Functionary functionary) {
this.functionary = functionary;
}
public HashMap<String, Double> getValue(HashMap<String, Double> valueList) {
valueList.put(this.StepName, this.value);
return this.nextStep.getValue(valueList);
}
public void setValue(double value) {
this.value = value;
}
public Step getNextStep() {
return nextStep;
}
public void setNextStep(Step nextStep) {
this.nextStep = nextStep;
}
public HashMap<String, Calendar> getDateIn(
HashMap<String, Calendar> dateInList) {
dateInList.put(this.StepName, this.dateIn);
return this.nextStep.getDateIn(dateInList);
}
public void setDateIn(Calendar dateIn) {
this.dateIn = dateIn;
}
public HashMap<String, Calendar> getDateOut(
HashMap<String, Calendar> dateOutList) {
dateOutList.put(this.StepName, this.dateOut);
return this.nextStep.getDateOut(dateOutList);
}
public void setDateOut(Calendar dateOut) {
this.dateOut = dateOut;
}
public HashMap<String, List<Part>> getParts(
HashMap<String, List<Part>> partsList) {
partsList.put(this.StepName, this.parts);
return this.nextStep.getParts(partsList);
}
public void setParts(List<Part> parts) {
this.parts = parts;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}