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

498 lines
12 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
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.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
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.Where;
/**
*
* @author RJ
*/
@Entity
@SequenceGenerator(name = "CLIENTE_SEQ", sequenceName = "CLIENTE_SEQ", allocationSize = 1)
@Table(name = "CLIENTE")
public class Cliente implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "CLIENTE_SEQ")
@Column(name = "CLIENTE_ID")
private Integer clienteId;
@Column(name = "NOMBCLIENTE")
private String nombcliente;
@Column(name = "APELLIDOPATERNO")
private String apellidopaterno;
@Column(name = "APELLIDOMATERNO")
private String apellidomaterno;
@Column(name = "FECNACIMIENTO")
@Temporal(TemporalType.TIMESTAMP)
private Date fecnacimiento;
@Column(name = "NUMRFC")
private String numrfc;
@Column(name = "NUMTELEFONO")
private String numtelefono;
@Column(name = "NUMTELEFONODOS")
private String numtelefonodos;
@Column(name = "NUMFAX")
private String numfax;
@Column(name = "NUMEXTENSION")
private String numextension;
@Column(name = "NUMEXTENSIONDOS")
private String numextensiondos;
@JoinColumn(name = "TIPOOCUPACION_ID")
@OneToOne(cascade = CascadeType.ALL)
private TipoOcupacion tipoocupacionId;
@Column(name = "MEDIOINFORMATIVO_ID")
private Integer medioinformativoId;
@JoinColumn(name = "MOTIVOVIAJE_ID")
@OneToOne(cascade = CascadeType.ALL)
private MotivoViaje motivoviajeId;
@Column(name = "INDSEXO")
private String indsexo;
@Column(name = "NUMCURP")
private String numcurp;
@Column(name = "CANTHIJOS")
private Integer canthijos;
@Column(name = "DESCCORREO")
private String desccorreo;
@Column(name = "EDAD")
private Integer edad;
@Column(name = "ESTADOCIVIL_ID")
private Integer estadocivilId;
@Column(name = "GRADOESTUDIO_ID")
private Integer gradoestudioId;
@Column(name = "EQUIVALENCIA_ID")
private String equivalenciaId;
@Column(name = "ACTIVO")
private Boolean activo;
@Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP)
private Date fecmodif;
@Column(name = "USUARIO_ID")
private Integer usuarioId;
@Column(name = "DESCCONTRASENA")
private String desccontrasena;
@Column(name = "NUMLADA")
private String numlada;
@Column(name = "INDCAMBIOCONTRASENA")
private Integer indcambiocontrasena;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "clienteId")
private List<ClienteDireccion> lsClienteDireccion;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "CLIENTE_ID", referencedColumnName = "CLIENTE_ID")
@Where(clause = "activo=1")
private List<ClienteFidelidad> listClienteFidelidad;
@Column(name = "NUMIDENTIFICAUNO")
private String numIdentificaUno;
@Column(name = "NUMIDENTIFICADOS")
private String numIdentificaDos;
@Column(name = "INDBLOQUEO")
private Boolean indBloqueo;
@JoinColumn(name = "TIPOIDENTIFICAUNO_ID")
@OneToOne
private TipoIdentificacion tipoIdentificacionUno;
@JoinColumn(name = "TIPOIDENTIFICADOS_ID")
@OneToOne
private TipoIdentificacion tipoIdentificacionDos;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "CLIENTE_ID", referencedColumnName = "CLIENTE_ID")
private List<ClienteDescuento> lsClienteDescuento;
@ManyToMany
@JoinTable(name = "CLIENTE_CURSO", joinColumns = { @JoinColumn(name = "CLIENTE_ID") }, inverseJoinColumns = { @JoinColumn(name = "CURSO_ID") })
private List<Curso> cursoList;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "ESCOLA_ID", referencedColumnName = "ESCOLA_ID")
private Escola escola;
public Cliente() {
}
public Cliente(Integer clienteId) {
this.clienteId = clienteId;
}
public Integer getClienteId() {
return clienteId;
}
public void setClienteId(Integer clienteId) {
this.clienteId = clienteId;
}
public String getNombcliente() {
return nombcliente;
}
public void setNombcliente(String nombcliente) {
this.nombcliente = nombcliente;
}
public String getApellidopaterno() {
return apellidopaterno;
}
public void setApellidopaterno(String apellidopaterno) {
this.apellidopaterno = apellidopaterno;
}
public String getApellidomaterno() {
return apellidomaterno;
}
public void setApellidomaterno(String apellidomaterno) {
this.apellidomaterno = apellidomaterno;
}
public Date getFecnacimiento() {
return fecnacimiento;
}
public void setFecnacimiento(Date fecnacimiento) {
this.fecnacimiento = fecnacimiento;
}
public String getNumrfc() {
return numrfc;
}
public void setNumrfc(String numrfc) {
this.numrfc = numrfc;
}
public String getNumtelefono() {
return numtelefono;
}
public void setNumtelefono(String numtelefono) {
this.numtelefono = numtelefono;
}
public String getNumtelefonodos() {
return numtelefonodos;
}
public void setNumtelefonodos(String numtelefonodos) {
this.numtelefonodos = numtelefonodos;
}
public String getNumfax() {
return numfax;
}
public void setNumfax(String numfax) {
this.numfax = numfax;
}
public String getNumextension() {
return numextension;
}
public void setNumextension(String numextension) {
this.numextension = numextension;
}
public String getNumextensiondos() {
return numextensiondos;
}
public void setNumextensiondos(String numextensiondos) {
this.numextensiondos = numextensiondos;
}
public TipoOcupacion getTipoocupacionId() {
return tipoocupacionId;
}
public void setTipoocupacionId(TipoOcupacion tipoocupacionId) {
this.tipoocupacionId = tipoocupacionId;
}
public Integer getMedioinformativoId() {
return medioinformativoId;
}
public void setMedioinformativoId(Integer medioinformativoId) {
this.medioinformativoId = medioinformativoId;
}
public MotivoViaje getMotivoviajeId() {
return motivoviajeId;
}
public void setMotivoviajeId(MotivoViaje motivoviajeId) {
this.motivoviajeId = motivoviajeId;
}
public String getIndsexo() {
return indsexo;
}
public void setIndsexo(String indsexo) {
this.indsexo = indsexo;
}
public String getNumcurp() {
return numcurp;
}
public void setNumcurp(String numcurp) {
this.numcurp = numcurp;
}
public Integer getCanthijos() {
return canthijos;
}
public void setCanthijos(Integer canthijos) {
this.canthijos = canthijos;
}
public String getDesccorreo() {
return desccorreo;
}
public void setDesccorreo(String desccorreo) {
this.desccorreo = desccorreo;
}
public Integer getEdad() {
return edad;
}
public void setEdad(Integer edad) {
this.edad = edad;
}
public Integer getEstadocivilId() {
return estadocivilId;
}
public void setEstadocivilId(Integer estadocivilId) {
this.estadocivilId = estadocivilId;
}
public Integer getGradoestudioId() {
return gradoestudioId;
}
public void setGradoestudioId(Integer gradoestudioId) {
this.gradoestudioId = gradoestudioId;
}
public String getEquivalenciaId() {
return equivalenciaId;
}
public void setEquivalenciaId(String equivalenciaId) {
this.equivalenciaId = equivalenciaId;
}
public Boolean getActivo() {
return 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 usuarioId;
}
public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId;
}
public String getDesccontrasena() {
return desccontrasena;
}
public void setDesccontrasena(String desccontrasena) {
this.desccontrasena = desccontrasena;
}
public String getNumlada() {
return numlada;
}
public void setNumlada(String numlada) {
this.numlada = numlada;
}
public Integer getIndcambiocontrasena() {
return indcambiocontrasena;
}
public void setIndcambiocontrasena(Integer indcambiocontrasena) {
this.indcambiocontrasena = indcambiocontrasena;
}
public List<ClienteDireccion> getLsClienteDireccion() {
return lsClienteDireccion;
}
public void setLsClienteDireccion(List<ClienteDireccion> lsClienteDireccion) {
this.lsClienteDireccion = lsClienteDireccion;
}
public List<ClienteFidelidad> getListClienteFidelidad() {
return listClienteFidelidad;
}
public void setListClienteFidelidad(List<ClienteFidelidad> listClienteFidelidad) {
this.listClienteFidelidad = listClienteFidelidad;
}
public String getNumIdentificaUno() {
return numIdentificaUno;
}
public void setNumIdentificaUno(String numIdentificaUno) {
this.numIdentificaUno = numIdentificaUno;
}
public String getNumIdentificaDos() {
return numIdentificaDos;
}
public void setNumIdentificaDos(String numIdentificaDos) {
this.numIdentificaDos = numIdentificaDos;
}
public Boolean getIndBloqueo() {
return indBloqueo;
}
public void setIndBloqueo(Boolean indBloqueo) {
this.indBloqueo = indBloqueo;
}
public TipoIdentificacion getTipoIdentificacionUno() {
return tipoIdentificacionUno;
}
public void setTipoIdentificacionUno(TipoIdentificacion tipoIdentificacionUno) {
this.tipoIdentificacionUno = tipoIdentificacionUno;
}
public TipoIdentificacion getTipoIdentificacionDos() {
return tipoIdentificacionDos;
}
public void setTipoIdentificacionDos(TipoIdentificacion tipoIdentificacionDos) {
this.tipoIdentificacionDos = tipoIdentificacionDos;
}
public List<ClienteDescuento> getLsClienteDescuento() {
return lsClienteDescuento;
}
public void setLsClienteDescuento(List<ClienteDescuento> lsClienteDescuento) {
this.lsClienteDescuento = lsClienteDescuento;
}
public List<Curso> getCursoList() {
List<Curso> aux = new ArrayList<Curso>();
if (cursoList == null) {
return aux;
}
for (Curso curso : cursoList) {
if (curso.getActivo()) {
aux.add(curso);
}
}
return aux;
}
public void setCursoList(List<Curso> cursoList) {
this.cursoList = cursoList;
}
public Escola getEscola() {
return escola;
}
public void setEscola(Escola escola) {
this.escola = escola;
}
@Override
public int hashCode() {
int hash = 0;
hash += (clienteId != null ? clienteId.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
if (!(object instanceof Cliente)) {
return false;
}
Cliente other = (Cliente) object;
if ((this.clienteId == null && other.clienteId != null) || (this.clienteId != null && !this.clienteId.equals(other.clienteId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "com.rjconsultores.ventaboletos.entidad.Cliente[ clienteId=" + clienteId + " ]";
}
@Transient
public List<ClienteFidelidad> getListClienteFidelidadActivos() {
List<ClienteFidelidad> lsActivos = new ArrayList<ClienteFidelidad>();
if (getListClienteFidelidad() != null)
for (ClienteFidelidad clienteFidelidad : getListClienteFidelidad()) {
if (clienteFidelidad.getActivo() && clienteFidelidad.getTarjetaFidelidad().getActivo()) {
lsActivos.add(clienteFidelidad);
}
}
return lsActivos;
}
}