package br.com.doctors.modelo.consultas; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.CascadeType; import br.com.doctors.modelo.agendamento.Agendamento; /** * * @author Jonathan/Guilherme * */ @Entity @Table(name="consultas") public class Consulta { //private Calendar dataHora; @Id @GeneratedValue private Long id; private String queixaPrincipal; private String observacoes; @OneToOne(fetch=FetchType.EAGER, mappedBy="consulta") @JoinColumn(name="agendamento_id") private Agendamento agendamento; @OneToMany(mappedBy="consulta",fetch=FetchType.LAZY,cascade={CascadeType.PERSIST}) private List<Atestado> atestados; @OneToMany(mappedBy="consulta",fetch=FetchType.LAZY) private List<Exame> exames; @OneToMany(mappedBy="consulta",fetch=FetchType.LAZY,cascade={CascadeType.PERSIST}) private List<Receita> receitas; public void emitirReceita(){ } public List<Atestado> getAtestados() { return atestados; } public void setAtestados(List<Atestado> atestados) { this.atestados = atestados; } public List<Exame> getExames() { return exames; } public void setExames(List<Exame> exames) { this.exames = exames; } public List<Receita> getReceitas() { return receitas; } public void setReceitas(List<Receita> receitas) { this.receitas = receitas; } public void emitirSolReceita(){ } public void emitirAtestado(){ } public Long getId() { return id; } public String getQueixaPrincipal() { return queixaPrincipal; } public String getObservacoes() { return observacoes; } public void setId(Long id) { this.id = id; } public void setQueixaPrincipal(String queixaPrincipal) { this.queixaPrincipal = queixaPrincipal; } public void setObservacoes(String observacoes) { this.observacoes = observacoes; } public Agendamento getAgendamento() { return agendamento; } public void setAgendamento(Agendamento agendamento) { this.agendamento = agendamento; } @Override public String toString() { return String.format("Queixa:%s,Obs:%s,Agendamento:%s,Atestados:%s,Exames:%s,Receitas:%s", queixaPrincipal, observacoes, agendamento, atestados, exames, receitas); } public List<Documento> getDocumentos(){ List<Documento> list = new ArrayList<Documento>(); list.addAll(atestados); list.addAll(receitas); list.addAll(exames); return list; } }