AdmMono/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcada.java

170 lines
4.4 KiB
Java

package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.Where;
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
import br.com.rjconsultores.auditador.annotations.AuditarID;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;
@Entity
@Table(name = "OPERADOR_EMBARCADA")
@AuditarClasse(nome = "OPERADOR_EMBARCADA", tela = "auditarClasse.OperadorEmbarcada")
@SequenceGenerator(name = "OPERADOR_EMBARCADA_SEQ", sequenceName = "OPERADOR_EMBARCADA_SEQ", allocationSize = 1)
public class OperadorEmbarcada implements Serializable, Auditavel<OperadorEmbarcada> {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SEQ")
@Column(name = "OPERADOR_EMBARCADA_ID")
@AuditarID
private Long operadorEmbarcadaId;
@OneToOne
@JoinColumn(name = "USUARIO_ID")
private Usuario usuario;
@OneToMany(mappedBy = "operadorEmbarcada", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@Where(clause="activo=1")
private List<OperadorEmbarcadaLinha> linhas;
@OneToMany(mappedBy = "operadorEmbarcada", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@Where(clause="activo=1")
private List<OperadorEmbarcadaServico> servicos;
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecmodif;
@Column(name = "ACTIVO")
private Boolean activo;
@Transient
@NaoAuditar
private OperadorEmbarcada operadorClone;
public Long getOperadorEmbarcadaId() {
return operadorEmbarcadaId;
}
public void setOperadorEmbarcadaId(Long operadorEmbarcadaId) {
this.operadorEmbarcadaId = operadorEmbarcadaId;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public List<OperadorEmbarcadaLinha> getLinhas() {
List<OperadorEmbarcadaLinha> tmp = new ArrayList<OperadorEmbarcadaLinha>();
if (linhas != null) {
for (OperadorEmbarcadaLinha es : linhas) {
if (es.getActivo()) {
tmp.add(es);
}
}
}
return tmp;
}
public void setLinhas(List<OperadorEmbarcadaLinha> linhas) {
this.linhas = linhas;
}
public List<OperadorEmbarcadaServico> getServicos() {
List<OperadorEmbarcadaServico> tmp = new ArrayList<OperadorEmbarcadaServico>();
if (servicos != null) {
for (OperadorEmbarcadaServico es : servicos) {
if (es.getActivo()) {
tmp.add(es);
}
}
}
return tmp;
}
public void setServicos(List<OperadorEmbarcadaServico> servicos) {
this.servicos = servicos;
}
public Boolean getActivo() {
return activo == null ? false : activo;
}
public void setActivo(Boolean activo) {
this.activo = activo;
}
public Date getFecmodif() {
return fecmodif;
}
public void setFecmodif(Date fecmodif) {
this.fecmodif = fecmodif;
}
public Integer getUsuarioId() {
return this.usuario.getUsuarioId();
}
public String getUsername() {
return this.usuario.getClaveUsuario();
}
public String getName() {
return usuario.getName();
}
@Override
public void clonar() throws CloneNotSupportedException {
operadorClone = new OperadorEmbarcada();
operadorClone = (OperadorEmbarcada) this.clone();
}
@Override
public OperadorEmbarcada getCloneObject() throws CloneNotSupportedException {
return operadorClone;
}
@Override
public String getTextoInclusaoExclusao() {
return String.format("ID [%s]", getOperadorEmbarcadaId());
}
}