package com.fitbank.hb.persistence.gene;

import com.fitbank.common.hb.AbstractExpire;
import java.io.Serializable;
import java.lang.reflect.Field;
import com.fitbank.common.hb.ManejaHistory;
import java.sql.Timestamp;

/**Clase que hace referencia a la Clave Primaria de TZONASRUTATRANSITODIAS*/
public class TdaystrafficroutezoneKey  extends AbstractExpire  implements Serializable,Cloneable,ManejaHistory{
/** Nombre de la Tabla TZONASRUTATRANSITODIAS */
public static final String TABLE_NAME = "TZONASRUTATRANSITODIAS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Codigo de persona de la compania para la que se define el numero de dias de retencion dada la ruta transaito
*/
private Integer cpersona_compania;

/**
* Codigo de excepcion de los cheques depositados
*/
private String cexcepcioncheque;

/**
* Codigo de zona de agrupacion de una ruta transito
*/
private String zonarutatransito;

/**
* Codigo de canal desde donde se puede realizar la recepcion de la retencion
*/
private String ccanal;

/**
* Define si la retencion aplica para cuentas calificadas como transaccionales o no
*/
private String cuentatransaccional;

/**
* Secuencia de definicion del numero de dias para la ruta transito
*/
private Integer srutatransitodias;

/**
* Fecha hasta la que esta vigente la definicion de los dias por ruta transito
*/
private Timestamp fhasta;

/**Contructor por defecto*/
public TdaystrafficroutezoneKey(){}
/**Contructor de TdaystrafficroutezoneKey
@param pCpersona_compania Codigo de persona de la compania para la que se define el numero de dias de retencion dada la ruta transaito
@param pCexcepcioncheque Codigo de excepcion de los cheques depositados
@param pZonarutatransito Codigo de zona de agrupacion de una ruta transito
@param pCcanal Codigo de canal desde donde se puede realizar la recepcion de la retencion
@param pCuentatransaccional Define si la retencion aplica para cuentas calificadas como transaccionales o no
@param pSrutatransitodias Secuencia de definicion del numero de dias para la ruta transito
@param pFhasta Fecha hasta la que esta vigente la definicion de los dias por ruta transito
*/
public TdaystrafficroutezoneKey(Integer pCpersona_compania,String pCexcepcioncheque,String pZonarutatransito,String pCcanal,String pCuentatransaccional,Integer pSrutatransitodias,Timestamp pFhasta){
 cpersona_compania=pCpersona_compania;
 cexcepcioncheque=pCexcepcioncheque;
 zonarutatransito=pZonarutatransito;
 ccanal=pCcanal;
 cuentatransaccional=pCuentatransaccional;
 srutatransitodias=pSrutatransitodias;
 fhasta=pFhasta;
}
public static final String CPERSONA_COMPANIA="CPERSONA_COMPANIA";
/**Obtiene el valor de cpersona_compania
@return valor de cpersona_compania*/
public Integer getCpersona_compania(){
  return cpersona_compania;
}
/**Fija el valor de cpersona_compania
@param pCpersona_compania nuevo Valor de cpersona_compania*/
public void setCpersona_compania(Integer pCpersona_compania){
  cpersona_compania=pCpersona_compania;
}

public static final String CEXCEPCIONCHEQUE="CEXCEPCIONCHEQUE";
/**Obtiene el valor de cexcepcioncheque
@return valor de cexcepcioncheque*/
public String getCexcepcioncheque(){
  return cexcepcioncheque;
}
/**Fija el valor de cexcepcioncheque
@param pCexcepcioncheque nuevo Valor de cexcepcioncheque*/
public void setCexcepcioncheque(String pCexcepcioncheque){
  cexcepcioncheque=pCexcepcioncheque;
}

public static final String ZONARUTATRANSITO="ZONARUTATRANSITO";
/**Obtiene el valor de zonarutatransito
@return valor de zonarutatransito*/
public String getZonarutatransito(){
  return zonarutatransito;
}
/**Fija el valor de zonarutatransito
@param pZonarutatransito nuevo Valor de zonarutatransito*/
public void setZonarutatransito(String pZonarutatransito){
  zonarutatransito=pZonarutatransito;
}

public static final String CCANAL="CCANAL";
/**Obtiene el valor de ccanal
@return valor de ccanal*/
public String getCcanal(){
  return ccanal;
}
/**Fija el valor de ccanal
@param pCcanal nuevo Valor de ccanal*/
public void setCcanal(String pCcanal){
  ccanal=pCcanal;
}

public static final String CUENTATRANSACCIONAL="CUENTATRANSACCIONAL";
/**Obtiene el valor de cuentatransaccional
@return valor de cuentatransaccional*/
public String getCuentatransaccional(){
  return cuentatransaccional;
}
/**Fija el valor de cuentatransaccional
@param pCuentatransaccional nuevo Valor de cuentatransaccional*/
public void setCuentatransaccional(String pCuentatransaccional){
  cuentatransaccional=pCuentatransaccional;
}

public static final String SRUTATRANSITODIAS="SRUTATRANSITODIAS";
/**Obtiene el valor de srutatransitodias
@return valor de srutatransitodias*/
public Integer getSrutatransitodias(){
  return srutatransitodias;
}
/**Fija el valor de srutatransitodias
@param pSrutatransitodias nuevo Valor de srutatransitodias*/
public void setSrutatransitodias(Integer pSrutatransitodias){
  srutatransitodias=pSrutatransitodias;
}

public static final String FHASTA="FHASTA";
/**Obtiene el valor de fhasta
@return valor de fhasta*/
public Timestamp getFhasta(){
  return fhasta;
}
/**Fija el valor de fhasta
@param pFhasta nuevo Valor de fhasta*/
public void setFhasta(Timestamp pFhasta){
  fhasta=pFhasta;
}

public static final String PK_CPERSONA_COMPANIA="CPERSONA_COMPANIA";
public static final String PK_CEXCEPCIONCHEQUE="CEXCEPCIONCHEQUE";
public static final String PK_ZONARUTATRANSITO="ZONARUTATRANSITO";
public static final String PK_CCANAL="CCANAL";
public static final String PK_CUENTATRANSACCIONAL="CUENTATRANSACCIONAL";
public static final String PK_SRUTATRANSITODIAS="SRUTATRANSITODIAS";
public static final String PK_FHASTA="FHASTA";
/**Implementaci?n de la comparaci?n de TdaystrafficroutezoneKey
@param o Objeto de comparaci?n
*/
public boolean equals(Object o){
  if (o == null){return false;}
  if (! (o instanceof TdaystrafficroutezoneKey)){return false;}
  TdaystrafficroutezoneKey that = (TdaystrafficroutezoneKey) o;
  if (this.getCpersona_compania() == null || that.getCpersona_compania() == null){
      return false;
  }
  if (! this.getCpersona_compania().equals(that.getCpersona_compania())){
    return false;
  }
  if (this.getCexcepcioncheque() == null || that.getCexcepcioncheque() == null){
      return false;
  }
  if (! this.getCexcepcioncheque().equals(that.getCexcepcioncheque())){
    return false;
  }
  if (this.getZonarutatransito() == null || that.getZonarutatransito() == null){
      return false;
  }
  if (! this.getZonarutatransito().equals(that.getZonarutatransito())){
    return false;
  }
  if (this.getCcanal() == null || that.getCcanal() == null){
      return false;
  }
  if (! this.getCcanal().equals(that.getCcanal())){
    return false;
  }
  if (this.getCuentatransaccional() == null || that.getCuentatransaccional() == null){
      return false;
  }
  if (! this.getCuentatransaccional().equals(that.getCuentatransaccional())){
    return false;
  }
  if (this.getSrutatransitodias() == null || that.getSrutatransitodias() == null){
      return false;
  }
  if (! this.getSrutatransitodias().equals(that.getSrutatransitodias())){
    return false;
  }
  if (this.getFhasta() == null || that.getFhasta() == null){
      return false;
  }
  if (! this.getFhasta().equals(that.getFhasta())){
    return false;
  }
  return true;
}
/**Implementaci?n del m?todo hashCode bajo el patr?n de Bloch
@return hashCode de la instancia TdaystrafficroutezoneKey
*/
public int hashCode(){
  if (this.hashValue == 0){
    int result = 17;
    result = result * 37 + (this.getCpersona_compania() == null ? 0 : this.getCpersona_compania().hashCode());
    result = result * 37 + (this.getCexcepcioncheque() == null ? 0 : this.getCexcepcioncheque().hashCode());
    result = result * 37 + (this.getZonarutatransito() == null ? 0 : this.getZonarutatransito().hashCode());
    result = result * 37 + (this.getCcanal() == null ? 0 : this.getCcanal().hashCode());
    result = result * 37 + (this.getCuentatransaccional() == null ? 0 : this.getCuentatransaccional().hashCode());
    result = result * 37 + (this.getSrutatransitodias() == null ? 0 : this.getSrutatransitodias().hashCode());
    result = result * 37 + (this.getFhasta() == null ? 0 : this.getFhasta().hashCode());
    this.hashValue = result;
  }
  return this.hashValue;
}
public Object cloneMe() throws Exception {
  return this.clone();
}
/**Implementaci?n toString
*/
public String toString() {
	Field[]fs=this.getClass().getDeclaredFields();
	String data="";
	for(Field f:fs){
	 try{	
	 String name=f.getName();
	 if(name.compareTo("hashValue")==0||name.compareTo("serialVersionUID")==0){continue;}
		data+="pk."+name+"="+f.get(this)+";";
	 }catch(Exception e){
		 continue;
	 }
		}
		if(data.compareTo("")==0){
		data=super.toString();
		}
	return data;
	}
public Object getId() {
  return null;
}
}
