/*
 * 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.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
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.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
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.apache.commons.lang.BooleanUtils;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.annotations.Where;

import com.rjconsultores.ventaboletos.enums.TipoSocio;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;

import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
import br.com.rjconsultores.auditador.annotations.AuditarEntidade;
import br.com.rjconsultores.auditador.annotations.AuditarLista;
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
import br.com.rjconsultores.auditador.interfaces.Auditavel;

/**
 * 
 * @author Rafius
 */
@Entity
@SequenceGenerator(name = "PUNTO_VENTA_SEQ", sequenceName = "PUNTO_VENTA_SEQ", allocationSize = 1)
@AuditarClasse(nome = "PuntoVenta", tela = "auditarClasse.PuntoVenta")
@Table(name = "PUNTO_VENTA")
public class PuntoVenta implements Serializable,  Auditavel<PuntoVenta>  {

	private static final long serialVersionUID = 1L;
	@Id
	@Basic(optional = false)
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "PUNTO_VENTA_SEQ")
	@Column(name = "PUNTOVENTA_ID")
	private Integer puntoventaId;
	@AuditarAtributo(nome = "NOME PONTO DE VENDA")
	@Column(name = "NOMBPUNTOVENTA")
	private String nombpuntoventa;
	@Column(name = "DIRECCIONCALLE")
	private String direccioncalle;
	@Column(name = "DIRECCIONNUMERO")
	private String direccionnumero;
	@Column(name = "STATUSAPROBACION")
	private String statusaprobacion;
	@Column(name = "COMENTARIOS")
	private String comentarios;
	@Column(name = "NUMTELEFONOUNO")
	private String numtelefonouno;
	@Column(name = "NUMTELEFONODOS")
	private String numtelefonodos;
	@Column(name = "FECMODIF")
	@Temporal(TemporalType.TIMESTAMP)
	private Date fecmodif;
	@Column(name = "USUARIO_ID")
	private Integer usuarioId;
	@Column(name = "ACTIVO")
	private Boolean activo;
	@Column(name = "DESCCORREO")
	private String descCorreo;
	@OneToOne
	@JoinColumn(name = "EMPRESA_ID")
	private Empresa empresa;
	@OneToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "COLONIA_ID")
	private Colonia colonia;
	@OneToOne
	@JoinColumn(name = "MONEDA_ID")
	private Moneda moneda;
	@OneToOne
	@JoinColumn(name = "PARADA_ID")
	private Parada parada;
	@JoinColumn(name = "TIPOPTOVTA_ID", referencedColumnName = "TIPOPTOVTA_ID")
	@ManyToOne
	private TipoPuntoVenta tipoPuntoVenta;
	@NaoAuditar
	@OneToMany(mappedBy = "puntoVenta")
	private List<ReservacionPuntoVenta> reservacionPuntoventaList;
	@OneToOne
	@JoinColumn(name = "NODO_ID")
	private Nodo nodo;
	@Column(name = "INDCONEXIONBANCARIA")
	private String conexionBancaria;
	@Column(name = "DSCUSUARIOINTERNET")
	private String dscUsuarioInternet;
	@Column(name = "DSCCONTRASENAINTERNET")
	private String dscContrasenaInternet;
	@OneToOne
	@JoinColumn(name = "USUARIOBANCARIO_ID")
	private UsuarioBancario usuarioBancario;
	
	@AuditarLista(auditarEntidades = true, nome = "FormaPagoDet")
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinColumn(name = "PUNTOVENTA_ID", referencedColumnName = "PUNTOVENTA_ID")
	private List<FormaPagoDet> lsFormaPagoDet;
	
	@AuditarLista(auditarEntidades = true, nome = "ParamRecoleccion")
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinColumn(name = "PUNTOVENTA_ID", referencedColumnName = "PUNTOVENTA_ID")
	private List<ParamRecoleccion> lsParamRecoleccion;
	
	@AuditarLista(auditarEntidades = true, nome = "PtovtaEmpresa")
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinColumn(name = "PUNTOVENTA_ID", referencedColumnName = "PUNTOVENTA_ID")
	private List<PtovtaEmpresa> lsPtovtaEmpresa;
	
	@AuditarLista(auditarEntidades = true, nome = "PtoVtaUsuarioBancario")
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinColumn(name = "PUNTOVENTA_ID", referencedColumnName = "PUNTOVENTA_ID")
	private List<PtoVtaUsuarioBancario> lsPtovtaUsuarioBancario;
	
	@Column(name = "NUMFAX")
	private String numfax;
	@Column(name = "COMPLE")
	private String compl;
	
	@AuditarLista(auditarEntidades = true, nome = "PtovtaEstoque")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
	private List<PtovtaEstoque> ptovtaEstoqueList;
	
	
	@AuditarLista(auditarEntidades = true, nome = "PtovtaHorario")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
	private List<PtovtaHorario> ptovtaHorarioList;
	
	@AuditarLista(auditarEntidades = true, nome = "PtovtaAntecipacomissao")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
	private List<PtovtaAntecipacomissao> ptovtaAntecipacomissaoList;
	
	@AuditarEntidade
	@JoinColumn(name = "PTOVTACOMISSAO_ID")
	@OneToOne(cascade = CascadeType.ALL)
	private PtovtaComissao comissaoId;
	
	@JoinColumn(name = "PTOVTADIVERSOS_ID")
	@OneToOne(cascade = CascadeType.ALL)
	private PtovtaDiversos diversosId;
	@JoinColumn(name = "PTOVTAAGENCIA_ID")
	@OneToOne(cascade = CascadeType.ALL)
	private PtovtaAgencia agenciaId;
	
	@AuditarEntidade
	@JoinColumn(name = "PTOVTATITULAR_ID")
	@OneToOne(cascade = CascadeType.ALL)
	private PtovtaTitular titularId;
	
	@AuditarAtributo(nome = "NUMERO PONTO DE VENDA")
	@Column(name = "NUMPUNTOVENTA")
	private String numPuntoVenta;
	@Column(name = "INDPERMISOTASAEMBARQUE")
	private Boolean indPermisoTasaEmbarque;
	@Column(name = "TIEMPOCANCELACION")
	private Integer tiempoCancelacion;
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "PUNTOVENTAPADRE_ID")
	private PuntoVenta puntoVentaPadre;
	@Column(name = "INDESTOQUEMOTORISTA")
	private Boolean indEstoqueMotorista;

	@JoinColumn(name = "PTOVTATIPOEST_ID")
	@ManyToOne
	private PtovtaTipoEstoque ptovtaTipoEstoque;

	@Column(name = "INDCTRLESTCENTRAL")
	private Boolean usaCrtlEstCentral;

	@Column(name = "NUMDOCPUNTOVENTA")
	private String numDoCPuntoVenta;

	@Column(name = "RAZONSOCIAL")
	private String razonSocial;

	@Column(name = "INCPROGCONCESSAOCREDITO")
	private Boolean incProgConcessaoCredito;

	@Column(name = "NUMIEPUNTOVENTA")
	private String numIEPuntoVenta;

	@Column(name = "INDINTEGRACION")
	private Integer indIntegracion;
	
	@Column(name = "INDINTEGRADOAG")
	private Boolean indIntegradoAG;
	
	@Column(name = "MOTIVONAOINTEGRADOAG")
	private String motivoNaoIntegradoAG;

	@AuditarLista(auditarEntidades = true, nome = "PtovtaEmpresaBloqueada")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<PtovtaEmpresaBloqueada> ptovtaEmpresaBloqueadaList;

	@AuditarLista(auditarEntidades = true, nome = "PtoVtaCheckin")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<PtoVtaCheckin> ptovtaCheckinList;

	@AuditarLista(auditarEntidades = true, nome = "PtoVtaSeguro")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<PtoVtaSeguro> ptovtaSeguroList;

	@AuditarLista(auditarEntidades = true, nome = "ptovtaCatIndList")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoVenta")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<PtovtaCatInd> ptovtaCatIndList;

	@Column(name = "CODPOSTAL")
	private String codpostal;

	@Column(name = "INDBLOQCANCIMPPOSTERIOR ")
	private Boolean indBloqueiaCancelamentoImpressaoPosterior;
	@Column(name = "TEMPOMINIMOIMPRESSAO")
	@Temporal(TemporalType.TIMESTAMP)
	private Date tempoMinimoParaImpressao;
	@Column(name = "VALIDATEMPOPARAIMPRESSAO")
	private Boolean validaTempoParaImpressao;
	@Column(name = "EQUIVALENCIA_ID")
	private String equivalenciaId;

	@Column(name = "FECFECHAMENTO")
	@Temporal(TemporalType.TIMESTAMP)
	private Date dateFechamento;

	@Column(name = "FECABERTURA")
	@Temporal(TemporalType.TIMESTAMP)
	private Date dateAbertura;

	@AuditarLista(auditarEntidades = true, nome = "HistoricoPuntoVenta")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoVenta")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<HistoricoPuntoVenta> historicoPuntoVentaList;
	
	@NaoAuditar
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoVenta")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<HistoricoFormaPagoPuntoVenta> historicoFormaPagoPuntoVentaList;
	
	@AuditarLista(auditarEntidades = true, nome = "CategoriaBloqueioImpPosterior")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventa")
	@LazyCollection(LazyCollectionOption.FALSE)
	private List<CategoriaBloqueioImpPosterior> categoriaBloqImpPosteriorList;
	
	@Column(name = "TAXACONVENIENCIAPORC")
	private BigDecimal taxaConvenienciaPorc;
	
	@Column(name = "MAXIMOTAXACONVENIENCIA")
	private Double maximoTaxaConveniencia;
	
	@Column(name = "INDBLOQUEACANCTROCAPASSNORMAL")
    private Boolean indBloqueaCancTrocaPassNormal;
    
    @Column(name = "INDBLOQUEACANCTROCAPTA")
    private Boolean indBloqueaCancTrocaPTA;
    
    @Column(name = "INDREPASSAUTR")
    private Boolean indRepassaUTR;
    
	@AuditarLista(auditarEntidades = true, nome = "PtovtaAntifraude")
    @OneToMany(mappedBy = "puntoventa", cascade = CascadeType.ALL)
	@LazyCollection(LazyCollectionOption.FALSE)
    @Where(clause = "activo = 1")
	private List<PtovtaAntifraude> ptovtaAntifraudes;
	
	@AuditarLista(auditarEntidades = true, nome = "PtovtaExcecaoMultaCanc")
    @OneToMany(mappedBy = "puntoventa", cascade = CascadeType.ALL)
	@LazyCollection(LazyCollectionOption.FALSE)
    @Where(clause = "activo = 1")
	private List<PtovtaExcecaoMultaCanc> ptovtaExcecaoMultaCancList;
    
    @Column(name = "INDBLOQUEIATIPOPASSAGEM")
    private Boolean indBloqueiaTipoPassagem;
    
	@AuditarLista(auditarEntidades = true, nome = "CobrancaAdcPuntoVenta")
    @OneToMany(mappedBy = "puntoVenta", cascade = CascadeType.ALL)
	@LazyCollection(LazyCollectionOption.FALSE)
    @Where(clause = "activo = 1")
	private List<CobrancaAdcPuntoVenta> cobrancaAdicionalList;
    
    @Column(name = "TIEMPOMAXBOLETOENVENTA")
    private Integer tiempoMaxBoletoEnVenta;
    
    @Column(name = "TEMPOMAXSERVICOEMVENDA")
    private Integer tempoMaxServicoEmVenda;
    
    @Column(name = "INDQRCODECATRACARODEAN13")
    private Boolean indQrcodeCatracaRodEAN13;
    
    @Column(name = "INDBLOQDEVOLVEREATIVAOUTROPTO")
    private Boolean indBloqDevolveReativaOutroPto;
    
    @Column(name = "INDRESERVAFLEXBUS")
    private Boolean indReservaFlexBus;
    
	@Column(name = "TIPO_SOCIO")
	@Enumerated(EnumType.STRING)
	private TipoSocio tipoSocio;
	
	@Column(name = "INDQRCODETAXAEMBARQUERODTTL")
	private Boolean indQrcodeTaxaEmbarqueRodTTL;

	@Transient
	@NaoAuditar
	private PuntoVenta puntoVentaClone;
    
	@Column(name = "INDBLOQCANCBILHETEIMPRESSO ")
	private Boolean indBloqueiaCancelamentoBilheteImpresso;
	
	@Column(name = "LATITUDE ")
    private Float latitude;
    
	@Column(name = "LONGITUDE ")
    private Float longitude;
	
	@Column(name = "INDBLOQUEARDESCONTOAPI")
	private Boolean indBloquearDescontoAPI;
	
	@Column(name = "INDBLOQUEARDESCONTOWEB")
	private Boolean indBloquearDescontoWEB;
	
	@Column(name = "INDTAXACONVORGAOCONCEDENTE")
	private Boolean indTaxaConvenienciaOrgaoConcedente;
	
	@Column(name = "INDPONTOVENDANAOPRESENCIAL")
    private Boolean indPontoVendaNaoPresencial;
	
	@Column(name = "MOTIVO_BLOQUEIO")
	private String motivoBloqueio;
	
	public List<CobrancaAdcPuntoVenta> getCobrancaAdicionalList() {
		return cobrancaAdicionalList;
	}
	
	public CobrancaAdcPuntoVenta addCobrancaAddPuntoVenta(CobrancaAdcPuntoVenta cobranca) {
		cobranca.setActivo(Boolean.TRUE);
		cobranca.setFecmodif(Calendar.getInstance().getTime());
		cobranca.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		this.cobrancaAdicionalList.add(cobranca);
		return cobranca;
	}

	public void removeCobrancaAddPuntoVenta(CobrancaAdcPuntoVenta cobranca) {
		if(this.cobrancaAdicionalList != null) {
			this.cobrancaAdicionalList.remove(cobranca);
		}		
	}
		

	public void setCobrancaAdicionalList(List<CobrancaAdcPuntoVenta> cobrancaAdicionalList) {
		this.cobrancaAdicionalList = cobrancaAdicionalList;
	}

	public PtovtaEmpresaBloqueada addEmpresaBloqueada(Empresa e) {
		PtovtaEmpresaBloqueada eb = new PtovtaEmpresaBloqueada();
		eb.setEmpresa(e);
		eb.setPuntoventaId(this);
		eb.setActivo(Boolean.TRUE);
		eb.setFecmodif(Calendar.getInstance().getTime());
		eb.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		this.ptovtaEmpresaBloqueadaList.add(eb);
		return eb;
	}

	public void removeEmpresaBloqueada(PtovtaEmpresaBloqueada e) {
		this.ptovtaEmpresaBloqueadaList.remove(e);
	}

	public void removeEmpresaBloqueada(Empresa e) {
		for (PtovtaEmpresaBloqueada eb : ptovtaEmpresaBloqueadaList) {
			if (eb.getEmpresa().equals(e)) {
				this.ptovtaEmpresaBloqueadaList.remove(e);
				break;
			}
		}
	}

	public PtovtaTipoEstoque getPtovtaTipoEstoque() {
		return ptovtaTipoEstoque;
	}

	public void setPtovtaTipoEstoque(PtovtaTipoEstoque ptovtaTipoEstoque) {
		this.ptovtaTipoEstoque = ptovtaTipoEstoque;
	}

	public PtovtaComissao getComissaoId() {
		return comissaoId;
	}

	public void setComissaoId(PtovtaComissao comissaoId) {
		this.comissaoId = comissaoId;
	}

	public PtovtaDiversos getDiversosId() {
		return diversosId;
	}

	public void setDiversosId(PtovtaDiversos diversosId) {
		this.diversosId = diversosId;
	}

	public PtovtaTitular getTitularId() {
		return titularId;
	}

	public void setTitularId(PtovtaTitular titularId) {
		this.titularId = titularId;
	}

	public PtovtaAgencia getAgenciaId() {
		return agenciaId;
	}

	public void setAgenciaId(PtovtaAgencia agenciaId) {
		this.agenciaId = agenciaId;
	}

	public PuntoVenta() {
		this.colonia = new Colonia();
		this.agenciaId = new PtovtaAgencia();
		this.titularId = new PtovtaTitular();
		this.comissaoId = new PtovtaComissao();
		this.diversosId = new PtovtaDiversos();
		this.ptovtaCheckinList = new ArrayList<PtoVtaCheckin>();
		this.ptovtaSeguroList = new ArrayList<PtoVtaSeguro>();
		this.ptovtaCatIndList = new ArrayList<PtovtaCatInd>();
		this.ptovtaEmpresaBloqueadaList = new ArrayList<PtovtaEmpresaBloqueada>();
		this.historicoPuntoVentaList = new ArrayList<HistoricoPuntoVenta>();
		this.historicoFormaPagoPuntoVentaList = new ArrayList<HistoricoFormaPagoPuntoVenta>();
	}

	public PuntoVenta(Integer puntoventaId) {
		this.puntoventaId = puntoventaId;
	}
	public PuntoVenta(Integer puntoventaId, String nombpuntoventa ) {
		this.puntoventaId = puntoventaId;
		this.nombpuntoventa = nombpuntoventa;
	}
	
	public PuntoVenta(Integer puntoventaId, String nombpuntoventa, String numPuntoVenta ) {
		this.puntoventaId = puntoventaId;
		this.nombpuntoventa = nombpuntoventa;
		this.numPuntoVenta = numPuntoVenta;
	}
	public Integer getPuntoventaId() {
		return puntoventaId;
	}

	public void setPuntoventaId(Integer puntoventaId) {
		this.puntoventaId = puntoventaId;
	}

	public Nodo getNodo() {
		return nodo;
	}

	public void setNodo(Nodo nodo) {
		this.nodo = nodo;
	}

	public String getNombpuntoventa() {
		return nombpuntoventa;
	}

	public void setNombpuntoventa(String nombpuntoventa) {
		this.nombpuntoventa = nombpuntoventa;
	}

	public String getDireccioncalle() {
		return direccioncalle;
	}

	public void setDireccioncalle(String direccioncalle) {
		this.direccioncalle = direccioncalle;
	}

	public String getDireccionnumero() {
		return direccionnumero;
	}

	public void setDireccionnumero(String direccionnumero) {
		this.direccionnumero = direccionnumero;
	}

	public String getStatusaprobacion() {
		return statusaprobacion;
	}

	public void setStatusaprobacion(String statusaprobacion) {
		this.statusaprobacion = statusaprobacion;
	}

	public String getComentarios() {
		return comentarios;
	}

	public void setComentarios(String comentarios) {
		this.comentarios = comentarios;
	}

	public String getNumtelefonouno() {
		return numtelefonouno;
	}

	public void setNumtelefonouno(String numtelefonouno) {
		this.numtelefonouno = numtelefonouno;
	}

	public String getNumtelefonodos() {
		return numtelefonodos;
	}

	public void setNumtelefonodos(String numtelefonodos) {
		this.numtelefonodos = numtelefonodos;
	}

	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 Boolean getActivo() {
		return activo;
	}

	public void setActivo(Boolean activo) {
		this.activo = activo;
	}

	public TipoPuntoVenta getTipoPuntoVenta() {
		return tipoPuntoVenta;
	}

	public void setTipoPuntoVenta(TipoPuntoVenta tipoPuntoVenta) {
		this.tipoPuntoVenta = tipoPuntoVenta;
	}

	public Empresa getEmpresa() {
		return empresa;
	}

	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}

	public List<ReservacionPuntoVenta> getReservacionPuntoventaList() {
		return reservacionPuntoventaList;
	}

	public void setReservacionPuntoventaList(List<ReservacionPuntoVenta> reservacionPuntoventaList) {
		this.reservacionPuntoventaList = reservacionPuntoventaList;
	}

	public Moneda getMoneda() {
		return moneda;
	}

	public void setMoneda(Moneda moneda) {
		this.moneda = moneda;
	}

	public List<FormaPagoDet> getLsFormaPagoDet() {
		List<FormaPagoDet> tmp = new ArrayList<FormaPagoDet>();
		if (lsFormaPagoDet != null) {
			for (FormaPagoDet ddab : this.lsFormaPagoDet) {
				if (ddab.getActivo()) {
					tmp.add(ddab);
				}
			}
		}
		this.lsFormaPagoDet = tmp;
		return tmp;
	}

	public List<ParamRecoleccion> getLsParamRecoleccion() {
		List<ParamRecoleccion> tmp = new ArrayList<ParamRecoleccion>();
		if (this.lsParamRecoleccion != null) {
			for (ParamRecoleccion ddab : this.lsParamRecoleccion) {
				if (ddab.getActivo()) {
					tmp.add(ddab);
				}
			}
		}
		this.lsParamRecoleccion = tmp;
		return tmp;
	}

	public List<PtovtaEmpresa> getLsPtovtaEmpresa() {
		List<PtovtaEmpresa> tmp = new ArrayList<PtovtaEmpresa>();
		
		if (this.lsPtovtaEmpresa != null) {
			for (PtovtaEmpresa ddab : this.lsPtovtaEmpresa) {
				if (ddab.getActivo()) {
					ddab.getContasBancaria().clear();

					for (PtovtaEmpresaContaBancaria cb : ddab.getLsPtovtaEmpresaContaBancaria()) {
						ddab.getContasBancaria().add(cb.getEmpresaContaBancaria());
					}
					
					tmp.add(ddab);
				}
			}
		}
		
		this.lsPtovtaEmpresa = tmp;
		
		return tmp;
	}

	public void setLsPtovtaEmpresa(List<PtovtaEmpresa> lsPtovtaEmpresa) {
		this.lsPtovtaEmpresa = lsPtovtaEmpresa;
	}

	public List<PtoVtaUsuarioBancario> getLsPtovtaUsuarioBancario() {
		List<PtoVtaUsuarioBancario> tmp = new ArrayList<PtoVtaUsuarioBancario>();
		if (this.lsPtovtaUsuarioBancario != null) {
			for (PtoVtaUsuarioBancario ddab : this.lsPtovtaUsuarioBancario) {
				if (ddab.getActivo()) {
					tmp.add(ddab);
				}
			}
		}
		this.lsPtovtaUsuarioBancario = tmp;
		return tmp;
	}

	public String getNumfax() {
		return numfax;
	}

	public void setNumfax(String numfax) {
		this.numfax = numfax;
	}

	public String getCompl() {
		return compl;
	}

	public void setCompl(String compl) {
		this.compl = compl;
	}

	public List<PtovtaEstoque> getPtovtaEstoqueList() {
		return ptovtaEstoqueList;
	}

	public void setPtovtaEstoqueList(List<PtovtaEstoque> ptovtaEstoqueList) {
		this.ptovtaEstoqueList = ptovtaEstoqueList;
	}

	public List<PtovtaHorario> getPtovtaHorarioList() {

		List<PtovtaHorario> tmp = new ArrayList<PtovtaHorario>();
		if (this.ptovtaHorarioList != null) {
			for (PtovtaHorario ddab : this.ptovtaHorarioList) {
				if (ddab.getActivo()) {
					tmp.add(ddab);
				}
			}
		}

		this.ptovtaHorarioList = tmp;
		return tmp;
	}

	public void setPtovtaHorarioList(List<PtovtaHorario> ptovtaHorarioList) {
		this.ptovtaHorarioList = ptovtaHorarioList;
	}

	public List<PtovtaAntecipacomissao> getPtovtaAntecipacomissaoList() {

		List<PtovtaAntecipacomissao> tmp = new ArrayList<PtovtaAntecipacomissao>();
		if (this.ptovtaAntecipacomissaoList != null) {
			for (PtovtaAntecipacomissao ddab : this.ptovtaAntecipacomissaoList) {
				if (ddab.getActivo()) {
					tmp.add(ddab);
				}
			}
		}
		this.ptovtaAntecipacomissaoList = tmp;
		return tmp;

	}

	public void setPtovtaAntecipacomissaoList(List<PtovtaAntecipacomissao> ptovtaAntecipacomissaoList) {
		this.ptovtaAntecipacomissaoList = ptovtaAntecipacomissaoList;
	}

	public void setLsPtovtaUsuarioBancario(List<PtoVtaUsuarioBancario> lsPtovtaUsuarioBancario) {
		this.lsPtovtaUsuarioBancario = lsPtovtaUsuarioBancario;
	}

	public void setLsParamRecoleccion(List<ParamRecoleccion> lsParamRecoleccion) {
		this.lsParamRecoleccion = lsParamRecoleccion;
	}

	public String getConexionBancaria() {
		return conexionBancaria;
	}

	public void setConexionBancaria(String conexionBancaria) {
		this.conexionBancaria = conexionBancaria;
	}

	public UsuarioBancario getUsuarioBancario() {
		return usuarioBancario;
	}

	public void setUsuarioBancario(UsuarioBancario usuarioBancario) {
		this.usuarioBancario = usuarioBancario;
	}

	public void setLsFormaPagoDet(List<FormaPagoDet> lsFormaPagoDet) {
		this.lsFormaPagoDet = lsFormaPagoDet;
	}

	// public List<RequisicionBoleto> getRequisicionBoletoList() {
	// return requisicionBoletoList;
	// }
	//
	// public void setRequisicionBoletoList(List<RequisicionBoleto> requisicionBoletoList) {
	// this.requisicionBoletoList = requisicionBoletoList;
	// }

	@Override
	public int hashCode() {
		int hash = 0;
		hash += (puntoventaId != null ? puntoventaId.hashCode() : 0);
		return hash;
	}

	@Override
	public boolean equals(Object object) {
		if (!(object instanceof PuntoVenta)) {
			return false;
		}
		PuntoVenta other = (PuntoVenta) object;
		if ((this.puntoventaId == null && other.puntoventaId != null) || (this.puntoventaId != null && !this.puntoventaId.equals(other.puntoventaId))) {
			return false;
		}
		return true;
	}

	@Override
	public String toString() {
		return this.getNombpuntoventa();
	}

	/**
	 * @return the colonia
	 */
	public Colonia getColonia() {
		return colonia;
	}

	/**
	 * @param colonia
	 *            the colonia to set
	 */
	public void setColonia(Colonia colonia) {
		this.colonia = colonia;
	}

	public Parada getParada() {
		return parada;
	}

	public void setParada(Parada parada) {
		this.parada = parada;
	}

	public String getDescCorreo() {
		return descCorreo;
	}

	public void setDescCorreo(String descCorreo) {
		this.descCorreo = descCorreo;
	}

	public String getDscContrasenaInternet() {
		return dscContrasenaInternet;
	}

	public void setDscContrasenaInternet(String dscContrasenaInternet) {
		this.dscContrasenaInternet = dscContrasenaInternet;
	}

	public String getDscUsuarioInternet() {
		return dscUsuarioInternet;
	}

	public void setDscUsuarioInternet(String dscUsuarioInternet) {
		this.dscUsuarioInternet = dscUsuarioInternet;
	}

	public String getNumPuntoVenta() {
		return numPuntoVenta;
	}

	public void setNumPuntoVenta(String numPuntoVenta) {
		this.numPuntoVenta = numPuntoVenta;
	}

	public Boolean getIndPermisoTasaEmbarque() { 
		return indPermisoTasaEmbarque;
	}

	public void setIndPermisoTasaEmbarque(Boolean indPermisoTasaEmbarque) {
		this.indPermisoTasaEmbarque = indPermisoTasaEmbarque; 
	}

	public Integer getTiempoCancelacion() {
		return tiempoCancelacion;
	}

	public void setTiempoCancelacion(Integer tiempoCancelacion) {
		this.tiempoCancelacion = tiempoCancelacion;
	}

	public PuntoVenta getPuntoVentaPadre() {
		return puntoVentaPadre;
	}

	public void setPuntoVentaPadre(PuntoVenta puntoVentaPadre) {
		this.puntoVentaPadre = puntoVentaPadre;
	}

	public Boolean isUsaCrtlEstCentral() {
		return usaCrtlEstCentral;
	}

	public void setUsaCrtlEstCentral(Boolean usaCrtlEstCentral) {
		this.usaCrtlEstCentral = usaCrtlEstCentral;
	}

	public String getNumDoCPuntoVenta() {
		return numDoCPuntoVenta;
	}

	public void setNumDoCPuntoVenta(String numDoCPuntoVenta) {
		this.numDoCPuntoVenta = numDoCPuntoVenta;
	}

	public String getRazonSocial() {
		return razonSocial;
	}

	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}

	public List<PtovtaEmpresaBloqueada> getPtovtaEmpresaBloqueadaList() {
		List<PtovtaEmpresaBloqueada> lista = new ArrayList<PtovtaEmpresaBloqueada>();
		for (PtovtaEmpresaBloqueada eb : ptovtaEmpresaBloqueadaList) {
			if (eb.getActivo()) {
				lista.add(eb);
			}
		}
		return lista;
	}

	public void setPtovtaEmpresaBloqueadaList(List<PtovtaEmpresaBloqueada> ptovtaEmpresaBloqueadaList) {
		this.ptovtaEmpresaBloqueadaList = ptovtaEmpresaBloqueadaList;
	}

	public List<PtoVtaCheckin> getPtovtaCheckinList() {
		List<PtoVtaCheckin> lista = new ArrayList<PtoVtaCheckin>();
		for (PtoVtaCheckin ck : ptovtaCheckinList) {
			if (ck.getActivo()) {
				lista.add(ck);
			}
		}
		return lista;
	}

	public void setPtovtaCheckinList(List<PtoVtaCheckin> ptovtaCheckinList) {
		this.ptovtaCheckinList = ptovtaCheckinList;
	}

	public PtoVtaCheckin addPtovtaCheckin(PtoVtaCheckin pto) {
		PtoVtaCheckin pt = new PtoVtaCheckin();
		pt.setPuntoventaId(pto.getPuntoventaId());
		pt.setParadaId(pto.getParadaId());
		pt.setActivo(Boolean.TRUE);
		pt.setFecmodif(Calendar.getInstance().getTime());
		pt.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		this.ptovtaCheckinList.add(pt);
		return pt;
	}

	public void removePtovtaCheckin(PtoVtaCheckin pto) {
		this.ptovtaCheckinList.remove(pto);
	}

	public List<PtoVtaSeguro> getPtovtaSeguroList() {
		List<PtoVtaSeguro> lista = new ArrayList<PtoVtaSeguro>();
		for (PtoVtaSeguro ck : ptovtaSeguroList) {
			if (ck.getActivo()) {
				lista.add(ck);
			}
		}
		return lista;
	}

	public void setPtovtaSeguroList(List<PtoVtaSeguro> ptovtaSeguroList) {
		this.ptovtaSeguroList = ptovtaSeguroList;
	}

	public PtoVtaSeguro addPtovtaSeguro(PtoVtaSeguro pto) {
		pto.setActivo(Boolean.TRUE);
		pto.setFecmodif(Calendar.getInstance().getTime());
		pto.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
		this.ptovtaSeguroList.add(pto);
		return pto;
	}

	public void removePtovtaSeguro(PtoVtaSeguro pto) {
		this.ptovtaSeguroList.remove(pto);
	}

	public List<PtovtaCatInd> getPtovtaCatIndList() {
		List<PtovtaCatInd> lista = new ArrayList<PtovtaCatInd>();
		for (PtovtaCatInd ck : ptovtaCatIndList) {
			if (ck.getActivo()) {
				lista.add(ck);
			}
		}
		return lista;
	}

	public void setPtovtaCatIndList(List<PtovtaCatInd> ptovtaCatIndList) {
		this.ptovtaCatIndList = ptovtaCatIndList;
	}

	public PtovtaCatInd addPtovtaCatInd(PtovtaCatInd pto) {
		pto.setActivo(Boolean.TRUE);
		pto.setFecmodif(Calendar.getInstance().getTime());
		pto.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());

		this.ptovtaCatIndList.add(pto);
		return pto;
	}

	public void removePtovtaCatInd(PtovtaCatInd pto) {
		this.ptovtaCatIndList.remove(pto);
	}

	public String getNumIEPuntoVenta() {
		return numIEPuntoVenta;
	}

	public void setNumIEPuntoVenta(String numIEPuntoVenta) {
		this.numIEPuntoVenta = numIEPuntoVenta;
	}

	public Boolean getIncProgConcessaoCredito() {
		return incProgConcessaoCredito;
	}

	public void setIncProgConcessaoCredito(Boolean incProgConcessaoCredito) {
		this.incProgConcessaoCredito = incProgConcessaoCredito;
	}

	public Integer getIndIntegracion() {
		return indIntegracion;
	}

	public void setIndIntegracion(Integer indIntegracion) {
		this.indIntegracion = indIntegracion;
	}

	public String getCodpostal() {
		return codpostal;
	}

	public void setCodpostal(String codpostal) {
		this.codpostal = codpostal;
	}

	public Boolean getIndEstoqueMotorista() {
		return indEstoqueMotorista;
	}

	public void setIndEstoqueMotorista(Boolean indEstoqueMotorista) {
		this.indEstoqueMotorista = indEstoqueMotorista;
	}

	public Boolean getIndBloqueiaCancelamentoImpressaoPosterior() {
		return indBloqueiaCancelamentoImpressaoPosterior;
	}

	public void setIndBloqueiaCancelamentoImpressaoPosterior(Boolean indBloqueiaCancelamentoImpressaoPosterior) {
		this.indBloqueiaCancelamentoImpressaoPosterior = indBloqueiaCancelamentoImpressaoPosterior;
	}

	public Date getTempoMinimoParaImpressao() {
		return tempoMinimoParaImpressao;
	}

	public void setTempoMinimoParaImpressao(Date tempoMinimoParaImpressao) {
		this.tempoMinimoParaImpressao = tempoMinimoParaImpressao;
	}

	public Boolean getValidaTempoParaImpressao() {
		return validaTempoParaImpressao;
	}

	public void setValidaTempoParaImpressao(Boolean validaTempoParaImpressao) {
		this.validaTempoParaImpressao = validaTempoParaImpressao;
	}

	public String getEquivalenciaId() {
		return equivalenciaId;
	}

	public void setEquivalenciaId(String equivalenciaId) {
		this.equivalenciaId = equivalenciaId;
	}

	public Boolean getIndIntegradoAG() {
		return BooleanUtils.isTrue(indIntegradoAG);
	}

	public void setIndIntegradoAG(Boolean indIntegradoAG) {
		this.indIntegradoAG = indIntegradoAG;
	}

	public String getMotivoNaoIntegradoAG() {
		return motivoNaoIntegradoAG;
	}

	public void setMotivoNaoIntegradoAG(String motivoNaoIntegradoAG) {
		this.motivoNaoIntegradoAG = motivoNaoIntegradoAG;
	}	
	
	public Date getDateFechamento() {
		return dateFechamento;
	}

	public void setDateFechamento(Date dateFechamento) {
		this.dateFechamento = dateFechamento;
	}

	public Date getDateAbertura() {
		return dateAbertura;
	}

	public void setDateAbertura(Date dateAbertura) {
		this.dateAbertura = dateAbertura;
	}
	
	public String getCep(){
		return codpostal != null ? codpostal : "";
	}
	
	public String getLogradouro(){
		return direccioncalle;
	}
	
	public String getBairro(){
		return colonia != null ? colonia.getBairro() : "";
	}
	
	public String getNumero(){
		return direccionnumero;
	}
	
	public String getComplemento(){
		return compl;
	}
	
	public String getUF(){
		return colonia != null ? colonia.getUF() : "";
	}
	
	public String getCidade(){
		return colonia != null ? colonia.getCidade() : "";
	}

	public List<HistoricoPuntoVenta> getHistoricoPuntoVentaList() {
		return historicoPuntoVentaList;
	}

	public void setHistoricoPuntoVentaList(List<HistoricoPuntoVenta> historicoPuntoVentaList) {
		this.historicoPuntoVentaList = historicoPuntoVentaList;
	}

	public List<HistoricoFormaPagoPuntoVenta> getHistoricoFormaPagoPuntoVentaList() {
		return historicoFormaPagoPuntoVentaList;
	}

	public void setHistoricoFormaPagoPuntoVentaList(List<HistoricoFormaPagoPuntoVenta> historicoFormaPagoPuntoVentaList) {
		this.historicoFormaPagoPuntoVentaList = historicoFormaPagoPuntoVentaList;
	}

	public List<CategoriaBloqueioImpPosterior> getCategoriaBloqImpPosteriorList() {
		return categoriaBloqImpPosteriorList;
	}

	public void setCategoriaBloqImpPosteriorList(List<CategoriaBloqueioImpPosterior> categoriaBloqImpPosteriorList) {
		this.categoriaBloqImpPosteriorList = categoriaBloqImpPosteriorList;
	}
	
	public void addCategoriaBloqImpPosterior(CategoriaBloqueioImpPosterior cat){
		if(this.categoriaBloqImpPosteriorList == null) {
			this.categoriaBloqImpPosteriorList = new ArrayList<CategoriaBloqueioImpPosterior>();
		}
		this.categoriaBloqImpPosteriorList.add(cat);
	}
	
	public void removeCategoriaBloqImpPosterior(CategoriaBloqueioImpPosterior cat){
		if(this.categoriaBloqImpPosteriorList != null) {
			this.categoriaBloqImpPosteriorList.remove(cat);
		}
	}


	/**
	 * @return the maximoTaxaConveniencia
	 */
	public Double getMaximoTaxaConveniencia() {
		return maximoTaxaConveniencia;
	}

	/**
	 * @param maximoTaxaConveniencia the maximoTaxaConveniencia to set
	 */
	public void setMaximoTaxaConveniencia(Double maximoTaxaConveniencia) {
		this.maximoTaxaConveniencia = maximoTaxaConveniencia;
	}

	/**
	 * @return the taxaConvenienciaPorc
	 */
	public BigDecimal getTaxaConvenienciaPorc() {
		return taxaConvenienciaPorc;
	}

	/**
	 * @param taxaConvenienciaPorc the taxaConvenienciaPorc to set
	 */
	public void setTaxaConvenienciaPorc(BigDecimal taxaConvenienciaPorc) {
		this.taxaConvenienciaPorc = taxaConvenienciaPorc;
	}

	/**
	 * @return the indBloqueaCancTrocaPassNormal
	 */
	public Boolean getIndBloqueaCancTrocaPassNormal() {
		return indBloqueaCancTrocaPassNormal;
	}
	/**
	 * @param indBloqueaCancTrocaPTA the indBloqueaCancTrocaPTA to set
	 */
	public void setIndBloqueaCancTrocaPassNormal(Boolean indBloqueaCancTrocaPassNormal) {
		this.indBloqueaCancTrocaPassNormal = indBloqueaCancTrocaPassNormal;
	}

	/**
	 * @return the indBloqueaCancTrocaPTA
	 */
	public Boolean getIndBloqueaCancTrocaPTA() {
		return indBloqueaCancTrocaPTA;
	}

	/**
	 * @param indBloqueaCancTrocaPTA the indBloqueaCancTrocaPTA to set
	 */
	public void setIndBloqueaCancTrocaPTA(Boolean indBloqueaCancTrocaPTA) {
		this.indBloqueaCancTrocaPTA = indBloqueaCancTrocaPTA;
	}

	public Boolean getIndRepassaUTR() {
		return indRepassaUTR == null ? Boolean.FALSE : indRepassaUTR;
	}

	public void setIndRepassaUTR(Boolean indRepassaUTR) {
		this.indRepassaUTR = indRepassaUTR;
	}

	public List<PtovtaAntifraude> getPtovtaAntifraudes() {
		return ptovtaAntifraudes;
	}

	public void setPtovtaAntifraudes(List<PtovtaAntifraude> ptovtaAntifraudes) {
		this.ptovtaAntifraudes = ptovtaAntifraudes;
	}
	
	public void addChaveAntifurto(PtovtaAntifraude cat){
		if(this.ptovtaAntifraudes == null) {
			this.ptovtaAntifraudes = new ArrayList<PtovtaAntifraude>();
		}
		this.ptovtaAntifraudes.add(cat);
	}
	
	public void removeChaveAntifurto(PtovtaAntifraude cat){
		if(this.ptovtaAntifraudes != null) {
			this.ptovtaAntifraudes.remove(cat);
		}
	}
	
	public void removePtovtaExcecaoMultaCanc(PtovtaExcecaoMultaCanc excecaoMulta){
		if(this.ptovtaExcecaoMultaCancList != null) {
			this.ptovtaExcecaoMultaCancList.remove(excecaoMulta);
		}
	}

	public Boolean getIndBloqueiaTipoPassagem() {
		return BooleanUtils.toBoolean(indBloqueiaTipoPassagem);
	}

	public void setIndBloqueiaTipoPassagem(Boolean indBloqueiaTipoPassagem) {
		this.indBloqueiaTipoPassagem = indBloqueiaTipoPassagem;
	}
	
	public Integer getTiempoMaxBoletoEnVenta() {
		return tiempoMaxBoletoEnVenta;
	}
	
	public void setTiempoMaxBoletoEnVenta(Integer tiempoMaxBoletoEnVenta) {
		this.tiempoMaxBoletoEnVenta = tiempoMaxBoletoEnVenta;
	}
	
	public Boolean getIndQrcodeCatracaRodEAN13() {
		return BooleanUtils.toBoolean(indQrcodeCatracaRodEAN13);
	}
	
	public void setIndQrcodeCatracaRodEAN13(Boolean indQrcodeCatracaRodEAN13) {
		this.indQrcodeCatracaRodEAN13 = indQrcodeCatracaRodEAN13;
	}

	public Boolean getIndBloqDevolveReativaOutroPto() {
		return BooleanUtils.toBoolean(indBloqDevolveReativaOutroPto);
	}

	public void setIndBloqDevolveReativaOutroPto(Boolean indBloqDevolveReativaOutroPto) {
		this.indBloqDevolveReativaOutroPto = indBloqDevolveReativaOutroPto;
	}

	public Boolean getIndReservaFlexBus() {
		return indReservaFlexBus == null ? false : indReservaFlexBus;
	}

	public void setIndReservaFlexBus(Boolean indReservaFlexBus) {
		this.indReservaFlexBus = indReservaFlexBus;
	}

	public TipoSocio getTipoSocio() {
		return tipoSocio;
	}

	public void setTipoSocio(TipoSocio tipoSocio) {
		this.tipoSocio = tipoSocio;
	}

	public Boolean getIndQrcodeTaxaEmbarqueRodTTL() {
		return indQrcodeTaxaEmbarqueRodTTL;
	}

	public void setIndQrcodeTaxaEmbarqueRodTTL(Boolean indQrcodeTaxaEmbarqueRodTTL) {
		this.indQrcodeTaxaEmbarqueRodTTL = indQrcodeTaxaEmbarqueRodTTL;
	}
	
	
	public Boolean getIndBloqueiaCancelamentoBilheteImpresso() {
		return indBloqueiaCancelamentoBilheteImpresso;
	}

	public void setIndBloqueiaCancelamentoBilheteImpresso(Boolean indBloqueiaCancelamentoBilheteImpresso) {
		this.indBloqueiaCancelamentoBilheteImpresso = indBloqueiaCancelamentoBilheteImpresso;
	}

	
	
	public List<PtovtaExcecaoMultaCanc> getPtovtaExcecaoMultaCancList() {
		return ptovtaExcecaoMultaCancList;
	}

	public void setPtovtaExcecaoMultaCancList(List<PtovtaExcecaoMultaCanc> ptovtaExcecaoMultaCanc) {
		this.ptovtaExcecaoMultaCancList = ptovtaExcecaoMultaCanc;
	}

	public Float getLatitude() {
		return latitude;
	}

	public void setLatitude(Float latitude) {
		this.latitude = latitude;
	}

	public Float getLongitude() {
		return longitude;
	}

	public void setLongitude(Float longitude) {
		this.longitude = longitude;
	}

	@Override
	public void clonar() throws CloneNotSupportedException {
		
		puntoVentaClone = new PuntoVenta();
		puntoVentaClone = (PuntoVenta) this.clone();
		
		if(this.getPtovtaCatIndList() != null) {
			List<PtovtaCatInd> lsClones = new ArrayList<PtovtaCatInd>();
			for (PtovtaCatInd ptovtaCatInd : this.getPtovtaCatIndList()) {
				if(BooleanUtils.isTrue(ptovtaCatInd.getActivo())) {
					ptovtaCatInd.clonar();
					lsClones.add(ptovtaCatInd.getCloneObject());
				}
			}
			puntoVentaClone.setPtovtaCatIndList(lsClones);
		}
		
	}

	@Override
	public PuntoVenta getCloneObject() throws CloneNotSupportedException {
		return puntoVentaClone;
	}

	@Override
	public String getTextoInclusaoExclusao() {
		return String.format("ID [%s]", getPuntoventaId());
	}

	public Boolean getIndBloquearDescontoAPI() {
		return indBloquearDescontoAPI == null ? false : indBloquearDescontoAPI;
	}

	public void setIndBloquearDescontoAPI(Boolean indBloquearDescontoAPI) {
		this.indBloquearDescontoAPI = indBloquearDescontoAPI;
	}

	public Boolean getIndBloquearDescontoWEB() {
		return indBloquearDescontoWEB == null ? false : indBloquearDescontoWEB;
	}

	public void setIndBloquearDescontoWEB(Boolean indBloquearDescontoWEB) {
		this.indBloquearDescontoWEB = indBloquearDescontoWEB;
	}

	public Integer getTempoMaxServicoEmVenda() {
		return tempoMaxServicoEmVenda;
	}

	public void setTempoMaxServicoEmVenda(Integer tempoMaxServicoEmVenda) {
		this.tempoMaxServicoEmVenda = tempoMaxServicoEmVenda;
	}

	public Boolean getIndTaxaConvenienciaOrgaoConcedente() {
		return indTaxaConvenienciaOrgaoConcedente;
	}

	public void setIndTaxaConvenienciaOrgaoConcedente(Boolean indTaxaConvenienciaOrgaoConcedente) {
		this.indTaxaConvenienciaOrgaoConcedente = indTaxaConvenienciaOrgaoConcedente;
	}
	
	public Boolean getIndPontoVendaNaoPresencial() {
		return indPontoVendaNaoPresencial == null ? false : indPontoVendaNaoPresencial;
	}

	public void setIndPontoVendaNaoPresencial(Boolean indPontoVendaNaoPresencial) {
		this.indPontoVendaNaoPresencial = indPontoVendaNaoPresencial;
	}

	public String getMotivoBloqueio() {
		return motivoBloqueio;
	}

	public void setMotivoBloqueio(String motivoBloqueio) {
		this.motivoBloqueio = motivoBloqueio;
	}
	
	
}