package com.titanic.ventapasajes.modelo; import javax.persistence.*; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * Created by josediaz on 12/27/15. */ @Entity @Table(name = "pvm_boleto") public class Boleto implements Serializable { /** * */ private static final long serialVersionUID = 1L; private Long ideBoleto; private String numeroBoleto; private boolean asiento; //para ver si es asiento o no es asiento private boolean primerPiso; //para ver si es de primer piso o segundo piso private EstadoAsiento estadoBoleto; private FilaBoleto filaBoleto; private TipoAsiento calidad; private BigDecimal precio; private Cliente cliente; private Terminal terminal; private Usuario usuario; private Boolean presentoCartaNotarial; //campos para facilidad en la generacion del reporte private String numeroDocumento; private String nombresCliente; private Date fechaVenta; private String horaSalida; private String origen; private String destino; @Id @GeneratedValue @Column(name="ide_boleto", nullable = false, length= 10) public Long getIdeBoleto() { return ideBoleto; } public void setIdeBoleto(Long ideBoleto) { this.ideBoleto = ideBoleto; } @Size(max = 10) @Column(name="numero_boleto", nullable=false, length=10) public String getNumeroBoleto() { return numeroBoleto; } public void setNumeroBoleto(String numeroBoleto) { this.numeroBoleto = numeroBoleto; } @NotNull @Enumerated(EnumType.STRING) @Column(name="estado_boleto", nullable=false, length = 50) public EstadoAsiento getEstadoBoleto() { return estadoBoleto; } public void setEstadoBoleto(EstadoAsiento estadoBoleto) { this.estadoBoleto = estadoBoleto; } @ManyToOne @JoinColumn(name = "ide_fila", nullable = false) public FilaBoleto getFilaBoleto() { return filaBoleto; } public void setFilaBoleto(FilaBoleto filaBoleto) { this.filaBoleto = filaBoleto; } @Enumerated(EnumType.STRING) @Column(name="tipo_asiento", nullable=true, length = 50) public TipoAsiento getCalidad() { return calidad; } public void setCalidad(TipoAsiento calidad) { this.calidad = calidad; } @NotNull @Column(name = "precio", nullable = false, precision = 10, scale = 2) public BigDecimal getPrecio() { return precio; } public void setPrecio(BigDecimal precio) { this.precio = precio; } @ManyToOne @JoinColumn(name = "ide_cliente", nullable = true) public Cliente getCliente() { return cliente; } public void setCliente(Cliente cliente) { this.cliente = cliente; } @ManyToOne @JoinColumn(name = "ide_terminal", nullable = true) public Terminal getTerminal() { return terminal; } public void setTerminal(Terminal terminal) { this.terminal = terminal; } @ManyToOne @JoinColumn(name = "vendedor", nullable = true) public Usuario getUsuario() { return usuario; } public void setUsuario(Usuario usuario) { this.usuario = usuario; } @Column(name="presento_carta_notarial", nullable = true) public Boolean getPresentoCartaNotarial() { return presentoCartaNotarial; } public void setPresentoCartaNotarial(Boolean presentoCartaNotarial) { this.presentoCartaNotarial = presentoCartaNotarial; } @Column(name="numero_documento", nullable=true, length=10) public String getNumeroDocumento() { return numeroDocumento; } public void setNumeroDocumento(String numeroDocumento) { this.numeroDocumento = numeroDocumento; } @Column(name="nombre_cliente", nullable=true, length = 255) public String getNombresCliente() { return nombresCliente; } public void setNombresCliente(String nombresCliente) { this.nombresCliente = nombresCliente; } @Temporal(TemporalType.DATE) @Column(name = "fecha_venta", nullable = true) public Date getFechaVenta() { return fechaVenta; } public void setFechaVenta(Date fechaVenta) { this.fechaVenta = fechaVenta; } @Column(name="hora_salida", nullable=true, length = 10) public String getHoraSalida() { return horaSalida; } public void setHoraSalida(String horaSalida) { this.horaSalida = horaSalida; } @Column(name="origen", nullable=true, length = 50) public String getOrigen() { return origen; } public void setOrigen(String origen) { this.origen = origen; } @Column(name="destino", nullable=true, length = 50) public String getDestino() { return destino; } public void setDestino(String destino) { this.destino = destino; } @Column(name="es_asiento") public boolean isAsiento() { return asiento; } public void setAsiento(boolean asiento) { this.asiento = asiento; } @Column(name="es_primer_piso") public boolean isPrimerPiso() { return primerPiso; } public void setPrimerPiso(boolean primerPiso) { this.primerPiso = primerPiso; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((ideBoleto == null) ? 0 : ideBoleto.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Boleto other = (Boleto) obj; if (ideBoleto == null) { if (other.ideBoleto != null) return false; } else if (!ideBoleto.equals(other.ideBoleto)) return false; return true; } @Override public String toString() { return "Boleto{" + "ideBoleto=" + ideBoleto + ", numeroBoleto='" + numeroBoleto + '\'' + ", asiento=" + asiento + ", primerPiso=" + primerPiso + ", estadoBoleto=" + estadoBoleto + ", filaBoleto=" + filaBoleto + ", calidad=" + calidad + ", precio=" + precio + ", cliente=" + cliente + ", terminal=" + terminal + ", usuario=" + usuario + ", presentoCartaNotarial=" + presentoCartaNotarial + ", numeroDocumento='" + numeroDocumento + '\'' + ", nombresCliente='" + nombresCliente + '\'' + ", fechaVenta=" + fechaVenta + ", horaSalida='" + horaSalida + '\'' + ", origen='" + origen + '\'' + ", destino='" + destino + '\'' + '}'; } }