package com.rjconsultores.ventaboletos.vo.configuracioneccomerciales; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import javax.persistence.Temporal; import javax.persistence.TemporalType; import com.rjconsultores.ventaboletos.anotacao.Renderizado; import com.rjconsultores.ventaboletos.entidad.ContratoCorporativo; import com.rjconsultores.ventaboletos.entidad.Transportadora; import com.rjconsultores.ventaboletos.entidad.Voucher; import com.rjconsultores.ventaboletos.enums.SituacaoVoucher; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @Getter @Setter @AllArgsConstructor @NoArgsConstructor public class VoucherVO implements Serializable { private static final long serialVersionUID = -2339597073156311073L; @Renderizado( posicao = 1) private Long voucherId; @Renderizado( posicao = 2) private ContratoCorporativo contrato; private String nomePassageiro; private String numFatura; @Renderizado( posicao = 5 ) private BigDecimal valorLicitado; @Renderizado( posicao = 6) private BigDecimal valorLegalizado; @Renderizado( posicao = 4) private Date dataValidade; @Temporal(TemporalType.TIMESTAMP) private Date dataInclusao; private Integer origenId; private Integer destinoId; private Long claseServicioId; @Renderizado( conversor = SituacaoVoucher.class, posicao = 3) private Integer status; private Long clienteCorporativoId; private Long motivoCancelacionId; private Long grupoContratoId; private Transportadora transportadora; private String descOrigem; private String descDestino; @Renderizado( posicao = 7 ) private String trecho; @Renderizado( posicao = 8 ) private String mensagem; @Temporal(TemporalType.TIMESTAMP) private Date dataFatura; @Temporal(TemporalType.TIMESTAMP) private Date dataLegaliza; @Temporal(TemporalType.TIMESTAMP) private Date dataCorte; public SituacaoVoucher getSituacaoVoucher() { return SituacaoVoucher.buscarPeloValor(status); } public String getNumContrato() { return this.contrato.getNumContrato(); } public String getSituacao() { return SituacaoVoucher.buscarPeloValor(status).getDescricao(); } public String getTrecho() { return descOrigem +" X "+descDestino; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final VoucherVO other = (VoucherVO) obj; return this.getVoucherId().equals(other.getVoucherId()); } @Override public int hashCode() { int hash = 7; hash = 59 * hash + (this.getVoucherId() != null ? this.getVoucherId().hashCode() : 0); return hash; } public VoucherVO( Voucher pai ) { this.voucherId = pai.getVoucherId(); this.claseServicioId = pai.getClaseServicioId(); this.clienteCorporativoId = pai.getClienteCorporativoId(); this.contrato = pai.getContrato(); this.dataInclusao = pai.getDataInclusao(); this.dataValidade = pai.getDataValidade(); this.descDestino = pai.getDescDestino(); this.descOrigem = pai.getDescOrigem(); this.destinoId = pai.getDestinoId(); this.origenId = pai.getOrigenId(); this.grupoContratoId = pai.getGrupoContratoId(); this.motivoCancelacionId = pai.getMotivoCancelacionId(); this.nomePassageiro = pai.getNomePassageiro(); this.numFatura = pai.getNumFatura(); this.status = pai.getStatus(); this.transportadora = pai.getTransportadora(); this.valorLegalizado = pai.getValorLegalizado(); this.valorLicitado = pai.getValorLicitado(); this.dataFatura = pai.getDataFatura(); this.dataLegaliza = pai.getDataLegaliza(); this.dataCorte = pai.getDataCorte(); } public static VoucherVO converteVoucher( Voucher pai ) { return new VoucherVO(pai); } }