package it.integry.integrywmsnative.core.rest.model;

import java.math.BigDecimal;
import java.text.ParseException;
import java.util.Date;

import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
import it.integry.integrywmsnative.core.utility.UtilityDate;

public class OrdineUscitaInevasoDTO extends OrdineInevasoDTO {

    private Integer idViaggio;
    private String listino;
    private String termCons;
    private String codAuto;
    private String descrizioneAuto;
    private String codVvet;
    private String descrizioneVettore;
    private String dataInizTrasp;
    private String descrizionePaga;
    private String rifOrd;
    private String codAnagOrd;
    private String codJcom;
    private String descrizioneCom;
    private String ragSocCom;
    private String ragSocOrd;
    private String destinatario;
    private String citta;
    private String provincia;
    private String indirizzo;
    private BigDecimal pesoTotale;
    private BigDecimal numCnfdaEvadere;
    private BigDecimal numCnfDisp;
    private String dataCons;
    private String barcode;
    private Integer numRighe;
    private Integer righeInPartenza;
    private BigDecimal saldoContabile;
    private String codVzon;
    private String ragSocOrdV;
    private int colliRiservati;
    private boolean existColloBoolean;
    private boolean flagEvaso;
    private String nomeAgente;
    private String codJfas;




    public Integer getIdViaggio() {
        return idViaggio;
    }

    public OrdineUscitaInevasoDTO setIdViaggio(Integer idViaggio) {
        this.idViaggio = idViaggio;
        return this;
    }



    public String getListino() {
        return listino;
    }

    public OrdineUscitaInevasoDTO setListino(String listino) {
        this.listino = listino;
        return this;
    }

    public String getTermCons() {
        return termCons;
    }

    public OrdineUscitaInevasoDTO setTermCons(String termCons) {
        this.termCons = termCons;
        return this;
    }

    public String getCodAuto() {
        return codAuto;
    }

    public OrdineUscitaInevasoDTO setCodAuto(String codAuto) {
        this.codAuto = codAuto;
        return this;
    }

    public String getDescrizioneAuto() {
        return descrizioneAuto;
    }

    public OrdineUscitaInevasoDTO setDescrizioneAuto(String descrizioneAuto) {
        this.descrizioneAuto = descrizioneAuto;
        return this;
    }

    public String getCodVvet() {
        return codVvet;
    }

    public OrdineUscitaInevasoDTO setCodVvet(String codVvet) {
        this.codVvet = codVvet;
        return this;
    }

    public String getDescrizioneVettore() {
        return descrizioneVettore;
    }

    public OrdineUscitaInevasoDTO setDescrizioneVettore(String descrizioneVettore) {
        this.descrizioneVettore = descrizioneVettore;
        return this;
    }

    public String getDataInizTraspS() {
        return dataInizTrasp;
    }

    public Date getDataInizTraspD() throws ParseException {
        return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS());
    }

    public OrdineUscitaInevasoDTO setDataInizTrasp(String dataInizTrasp) {
        this.dataInizTrasp = dataInizTrasp;
        return this;
    }

    public String getDescrizionePaga() {
        return descrizionePaga;
    }

    public OrdineUscitaInevasoDTO setDescrizionePaga(String descrizionePaga) {
        this.descrizionePaga = descrizionePaga;
        return this;
    }

    public String getRifOrd() {
        return rifOrd;
    }

    public OrdineUscitaInevasoDTO setRifOrd(String rifOrd) {
        this.rifOrd = rifOrd;
        return this;
    }

    public String getCodAnagOrd() {
        return codAnagOrd;
    }

    public OrdineUscitaInevasoDTO setCodAnagOrd(String codAnagOrd) {
        this.codAnagOrd = codAnagOrd;
        return this;
    }

    public String getCodJcom() {
        return codJcom;
    }

    public OrdineUscitaInevasoDTO setCodJcom(String codJcom) {
        this.codJcom = codJcom;
        return this;
    }

    public String getDescrizioneCom() {
        return descrizioneCom;
    }

    public OrdineUscitaInevasoDTO setDescrizioneCom(String descrizioneCom) {
        this.descrizioneCom = descrizioneCom;
        return this;
    }

    public String getRagSocCom() {
        return ragSocCom;
    }

    public OrdineUscitaInevasoDTO setRagSocCom(String ragSocCom) {
        this.ragSocCom = ragSocCom;
        return this;
    }

    public String getRagSocOrd() {
        return ragSocOrd;
    }

    public OrdineUscitaInevasoDTO setRagSocOrd(String ragSocOrd) {
        this.ragSocOrd = ragSocOrd;
        return this;
    }

    public String getDestinatario() {
        return destinatario;
    }

    public OrdineUscitaInevasoDTO setDestinatario(String destinatario) {
        this.destinatario = destinatario;
        return this;
    }

    public String getCitta() {
        return citta;
    }

    public OrdineUscitaInevasoDTO setCitta(String citta) {
        this.citta = citta;
        return this;
    }

    public String getProvincia() {
        return provincia;
    }

    public OrdineUscitaInevasoDTO setProvincia(String provincia) {
        this.provincia = provincia;
        return this;
    }

    public String getIndirizzo() {
        return indirizzo;
    }

    public OrdineUscitaInevasoDTO setIndirizzo(String indirizzo) {
        this.indirizzo = indirizzo;
        return this;
    }

    public BigDecimal getPesoTotale() {
        return pesoTotale;
    }

    public OrdineUscitaInevasoDTO setPesoTotale(BigDecimal pesoTotale) {
        this.pesoTotale = pesoTotale;
        return this;
    }

    public BigDecimal getNumCnfdaEvadere() {
        return numCnfdaEvadere;
    }

    public OrdineUscitaInevasoDTO setNumCnfdaEvadere(BigDecimal numCnfdaEvadere) {
        this.numCnfdaEvadere = numCnfdaEvadere;
        return this;
    }

    public BigDecimal getNumCnfDisp() {
        return numCnfDisp;
    }

    public OrdineUscitaInevasoDTO setNumCnfDisp(BigDecimal numCnfDisp) {
        this.numCnfDisp = numCnfDisp;
        return this;
    }

    public String getDataConsS() {
        return dataCons;
    }

    public Date getDataConsD() {
        return UtilityDate.recognizeDateWithExceptionHandler(getDataConsS());
    }

    public OrdineUscitaInevasoDTO setDataCons(String dataCons) {
        this.dataCons = dataCons;
        return this;
    }

    public String getBarcode() {
        return barcode;
    }

    public OrdineUscitaInevasoDTO setBarcode(String barcode) {
        this.barcode = barcode;
        return this;
    }

    public Integer getNumRighe() {
        return numRighe;
    }

    public OrdineUscitaInevasoDTO setNumRighe(Integer numRighe) {
        this.numRighe = numRighe;
        return this;
    }

    public Integer getRigheInPartenza() {
        return righeInPartenza;
    }

    public OrdineUscitaInevasoDTO setRigheInPartenza(Integer righeInPartenza) {
        this.righeInPartenza = righeInPartenza;
        return this;
    }

    public BigDecimal getSaldoContabile() {
        return saldoContabile;
    }

    public OrdineUscitaInevasoDTO setSaldoContabile(BigDecimal saldoContabile) {
        this.saldoContabile = saldoContabile;
        return this;
    }

    public String getCodVzon() {
        return codVzon;
    }

    public OrdineUscitaInevasoDTO setCodVzon(String codVzon) {
        this.codVzon = codVzon;
        return this;
    }

    public String getRagSocOrdV() {
        return ragSocOrdV;
    }

    public OrdineUscitaInevasoDTO setRagSocOrdV(String ragSocOrdV) {
        this.ragSocOrdV = ragSocOrdV;
        return this;
    }

    public int getColliRiservati() {
        return colliRiservati;
    }

    public OrdineUscitaInevasoDTO setColliRiservati(int colliRiservati) {
        this.colliRiservati = colliRiservati;
        return this;
    }

    public boolean isExistColloBoolean() {
        return existColloBoolean;
    }

    public OrdineUscitaInevasoDTO setExistColloBoolean(boolean existColloBoolean) {
        this.existColloBoolean = existColloBoolean;
        return this;
    }

    public boolean isFlagEvaso() {
        return flagEvaso;
    }

    public OrdineUscitaInevasoDTO setFlagEvaso(boolean flagEvaso) {
        this.flagEvaso = flagEvaso;
        return this;
    }

    public String getNomeAgente() {
        return nomeAgente;
    }

    public OrdineUscitaInevasoDTO setNomeAgente(String nomeAgente) {
        this.nomeAgente = nomeAgente;
        return this;
    }

    public String getCodJfas() {
        return codJfas;
    }

    public OrdineUscitaInevasoDTO setCodJfas(String codJfas) {
        this.codJfas = codJfas;
        return this;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        OrdineUscitaInevasoDTO that = (OrdineUscitaInevasoDTO) o;

        if (!getDataOrdS().equals(that.getDataOrdS())) return false;
        if (!getNumOrd().equals(that.getNumOrd())) return false;
        return getGestione().equals(that.getGestione());
    }

    @Override
    public int hashCode() {
        int result = getDataOrdS().hashCode();
        result = 31 * result + getNumOrd().hashCode();
        result = 31 * result + getGestione().hashCode();
        return result;
    }
}
