package com.fitbank.hb.persistence.gene;

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

/**Clase que hace referencia a la Clave Primaria de TCONCEPTOSSERVICIOSTARIFADOS*/
public class TtariffedserviceconceptKey  extends AbstractExpire  implements Serializable,Cloneable,ManejaHistory{
/** Nombre de la Tabla TCONCEPTOSSERVICIOSTARIFADOS */
public static final String TABLE_NAME = "TCONCEPTOSSERVICIOSTARIFADOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Codigo de concepto de debito o credito
*/
private String cconcepto;

/**
* Codigo del tipo de servicio financiero de transacciones basicas, sujetos a tarifa maxima y diferenciados
*/
private String ctiposervicio;

/**
* Define el medio de recaudacion principal para el concepto tarifado: C=Cajeros automaticos, I=Internet, O=Oficina, F=Banca telefonica, K=Terminal de autoservicio ¿ kiosco, M=Banca celular, T=Tarjeta de debito, D=Tarjeta de credito, R=Cuentas corrientes, H=Cuentas de Ahorros, N=Corresponsales no bancarios, V=Visitas, P=Tarjetas prepago POS, E=Ventanillas de otra entidad, X=Entidades de servicios auxiliares
*/
private String mediorecaudacion;

/**
* En caso que el servicio no tenga costo o se lo registre en una transaccion sin con conceptos contables
*/
private String transaccion;

/**
* Fecha hasta la que esta vigente la definicion del concepto tarifado
*/
private Timestamp fhasta;

/**Contructor por defecto*/
public TtariffedserviceconceptKey(){}
/**Contructor de TtariffedserviceconceptKey
@param pCconcepto Codigo de concepto de debito o credito
@param pCtiposervicio Codigo del tipo de servicio financiero de transacciones basicas, sujetos a tarifa maxima y diferenciados
@param pMediorecaudacion Define el medio de recaudacion principal para el concepto tarifado: C=Cajeros automaticos, I=Internet, O=Oficina, F=Banca telefonica, K=Terminal de autoservicio ¿ kiosco, M=Banca celular, T=Tarjeta de debito, D=Tarjeta de credito, R=Cuentas corrientes, H=Cuentas de Ahorros, N=Corresponsales no bancarios, V=Visitas, P=Tarjetas prepago POS, E=Ventanillas de otra entidad, X=Entidades de servicios auxiliares
@param pTransaccion En caso que el servicio no tenga costo o se lo registre en una transaccion sin con conceptos contables
@param pFhasta Fecha hasta la que esta vigente la definicion del concepto tarifado
*/
public TtariffedserviceconceptKey(String pCconcepto,String pCtiposervicio,String pMediorecaudacion,String pTransaccion,Timestamp pFhasta){
 cconcepto=pCconcepto;
 ctiposervicio=pCtiposervicio;
 mediorecaudacion=pMediorecaudacion;
 transaccion=pTransaccion;
 fhasta=pFhasta;
}
public static final String CCONCEPTO="CCONCEPTO";
/**Obtiene el valor de cconcepto
@return valor de cconcepto*/
public String getCconcepto(){
  return cconcepto;
}
/**Fija el valor de cconcepto
@param pCconcepto nuevo Valor de cconcepto*/
public void setCconcepto(String pCconcepto){
  cconcepto=pCconcepto;
}

public static final String CTIPOSERVICIO="CTIPOSERVICIO";
/**Obtiene el valor de ctiposervicio
@return valor de ctiposervicio*/
public String getCtiposervicio(){
  return ctiposervicio;
}
/**Fija el valor de ctiposervicio
@param pCtiposervicio nuevo Valor de ctiposervicio*/
public void setCtiposervicio(String pCtiposervicio){
  ctiposervicio=pCtiposervicio;
}

public static final String MEDIORECAUDACION="MEDIORECAUDACION";
/**Obtiene el valor de mediorecaudacion
@return valor de mediorecaudacion*/
public String getMediorecaudacion(){
  return mediorecaudacion;
}
/**Fija el valor de mediorecaudacion
@param pMediorecaudacion nuevo Valor de mediorecaudacion*/
public void setMediorecaudacion(String pMediorecaudacion){
  mediorecaudacion=pMediorecaudacion;
}

public static final String TRANSACCION="TRANSACCION";
/**Obtiene el valor de transaccion
@return valor de transaccion*/
public String getTransaccion(){
  return transaccion;
}
/**Fija el valor de transaccion
@param pTransaccion nuevo Valor de transaccion*/
public void setTransaccion(String pTransaccion){
  transaccion=pTransaccion;
}

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_CCONCEPTO="CCONCEPTO";
public static final String PK_CTIPOSERVICIO="CTIPOSERVICIO";
public static final String PK_MEDIORECAUDACION="MEDIORECAUDACION";
public static final String PK_TRANSACCION="TRANSACCION";
public static final String PK_FHASTA="FHASTA";
/**Implementaci�n de la comparaci�n de TtariffedserviceconceptKey
@param o Objeto de comparaciï¿½n
*/
public boolean equals(Object o){
  if (o == null){return false;}
  if (! (o instanceof TtariffedserviceconceptKey)){return false;}
  TtariffedserviceconceptKey that = (TtariffedserviceconceptKey) o;
  if (this.getCconcepto() == null || that.getCconcepto() == null){
      return false;
  }
  if (! this.getCconcepto().equals(that.getCconcepto())){
    return false;
  }
  if (this.getCtiposervicio() == null || that.getCtiposervicio() == null){
      return false;
  }
  if (! this.getCtiposervicio().equals(that.getCtiposervicio())){
    return false;
  }
  if (this.getMediorecaudacion() == null || that.getMediorecaudacion() == null){
      return false;
  }
  if (! this.getMediorecaudacion().equals(that.getMediorecaudacion())){
    return false;
  }
  if (this.getTransaccion() == null || that.getTransaccion() == null){
      return false;
  }
  if (! this.getTransaccion().equals(that.getTransaccion())){
    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 TtariffedserviceconceptKey
*/
public int hashCode(){
  if (this.hashValue == 0){
    int result = 17;
    result = result * 37 + (this.getCconcepto() == null ? 0 : this.getCconcepto().hashCode());
    result = result * 37 + (this.getCtiposervicio() == null ? 0 : this.getCtiposervicio().hashCode());
    result = result * 37 + (this.getMediorecaudacion() == null ? 0 : this.getMediorecaudacion().hashCode());
    result = result * 37 + (this.getTransaccion() == null ? 0 : this.getTransaccion().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;
}
}
