package com.fp.persistence.parmas.soli;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.sql.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

import com.fp.dto.hb.HibernateBean;
import com.fp.dto.hb.Log;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TARMCUSTODIATEMPORAL*/
@Entity(name="TarmCustodiaTemporal")
@Table(name="TARMCUSTODIATEMPORAL")
public class TarmCustodiaTemporal extends com.fp.dto.AbstractDataTransport implements Serializable,HibernateBean,Cloneable, Log {
/**
* HashCode asociado con la Instancia
*/
@Transient
private int hashValue = 0;
/**
* Version de la Clase
*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad TarmCustodiaTemporal
*/
@Id
@Column(name="CCUSTEMP" ,nullable=false, updatable=false)
private String pk;
@Column(name="TIPOREGISTRO", nullable=true)

/**
* Codigo de catalogo  01 custodia temporal, 02 custodia temporal
*/
private String tiporegistro;

@Column(name="TIPOREGISTROCODE", nullable=true)

/**
* Codigo de tabla de catalogo 01 Codigo de tabla de tipos de registros
*/
private String tiporegistrocode;

@Column(name="AEROLINEA", nullable=true)

/**
* Codigo de catalogo  01 Lan, 02 Icaro
*/
private String aerolinea;

@Column(name="AEROLINEACODE", nullable=true)

/**
* Codigo de tabla de catalogo 01 Codigo de tabla de tipos de aerolineas
*/
private String aerolineacode;

@Column(name="CCENTROCONTROL", nullable=true)

/**
* Codigo de centro de control de armas
*/
private String ccentrocontrol;

@Column(name="COUNTRYCODEORIGEN", nullable=true)

/**
* Codigo de pais de origen
*/
private String countrycodeorigen;

@Column(name="PROVINCECODEORIGEN", nullable=true)

/**
* Codigo de provincia de origen
*/
private String provincecodeorigen;

@Column(name="CANTONCODEORIGEN", nullable=true)

/**
* Codigo de canton de origen
*/
private String cantoncodeorigen;

@Column(name="CITYCODEORIGEN", nullable=true)

/**
* Codigo de cuidad de origen
*/
private String citycodeorigen;

@Column(name="AEROPUERTOORIG", nullable=true)

/**
* Codigo de catalogo  01 Mariscal Sucre, 02 Mariscal Lamar
*/
private String aeropuertoorig;

@Column(name="AEROPUERTOORIGCODE", nullable=true)

/**
* Codigo de tabla de catalogo 01 Codigo de tabla de tipos de aeropuertos
*/
private String aeropuertoorigcode;

@Column(name="COUNTRYCODEDEST", nullable=true)

/**
* Codigo de pais de destino
*/
private String countrycodedest;

@Column(name="PROVINCECODEDEST", nullable=true)

/**
* Codigo de provincia de destino
*/
private String provincecodedest;

@Column(name="CANTONCODEDEST", nullable=true)

/**
* Codigo de canton de destino
*/
private String cantoncodedest;

@Column(name="CITYCODEDEST", nullable=true)

/**
* Codigo de cuidad de destino
*/
private String citycodedest;

@Column(name="AEROPUERTODEST", nullable=true)

/**
* Codigo de catalogo  01 Mariscal Sucre, 02 Simon Bolivar
*/
private String aeropuertodest;

@Column(name="AEROPUERTODESTCODE", nullable=true)

/**
* Codigo de tabla de catalogo 01 Codigo de tabla de tipos de aeropuertos de destino
*/
private String aeropuertodestcode;

@Column(name="PERSONCODE", nullable=true)

/**
* Codigo de persona que realiza el registro
*/
private Integer personcode;

@Column(name="PERSONCODEPROP", nullable=true)

/**
* Codigo de persona propietaria
*/
private Integer personcodeprop;

@Column(name="NOTRANSACCION", nullable=true)

/**
* Numero de Transaccion de la custodia temporal
*/
private String notransaccion;

@Column(name="FECHACUSTODIOS", nullable=true)

/**
* Fecha del registro de la custodia temporal
*/
private Date fechacustodios;

@Column(name="VUELO", nullable=true)

/**
* Numero de Vuelo en el cual se custodian las armas
*/
private String vuelo;

/**Contructor por defecto*/
public TarmCustodiaTemporal(){
}
/**Contructor de TarmCustodiaTemporal
@param pPk Clave Primaria del entity
*/
public TarmCustodiaTemporal(String pPk){
 this();
 pk=pPk;
}
/**
* Metodo que entrega datos de la tabla dada la clave primaria.
* @param pEntityManager referencia de la session a obtener datos del bean.
* @param pKey Caleve primaria del bean.
* @return TarmCustodiaTemporal
*/
public static TarmCustodiaTemporal find(EntityManager pEntityManager,Object pKey) throws Exception{
    TarmCustodiaTemporal obj = pEntityManager.find(TarmCustodiaTemporal.class,pKey);
    return obj;
}
/**Entrega la Clave primaria de TarmCustodiaTemporal
@return El objeto que referencia a la Clave primaria de TarmCustodiaTemporal
*/
public String getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de TarmCustodiaTemporal
@param pPk El objeto que referencia a la nueva Clave primaria de TarmCustodiaTemporal
*/
public void setPk(String pPk){
  pk=pPk;
}
/**Obtiene el valor de tiporegistro
@return valor de tiporegistro*/
public String getTiporegistro(){
  return tiporegistro;
}
/**Fija el valor de tiporegistro
@param pTiporegistro nuevo Valor de tiporegistro*/
public void setTiporegistro(String pTiporegistro){
  tiporegistro=pTiporegistro;
}

/**Obtiene el valor de tiporegistrocode
@return valor de tiporegistrocode*/
public String getTiporegistrocode(){
  return tiporegistrocode;
}
/**Fija el valor de tiporegistrocode
@param pTiporegistrocode nuevo Valor de tiporegistrocode*/
public void setTiporegistrocode(String pTiporegistrocode){
  tiporegistrocode=pTiporegistrocode;
}

/**Obtiene el valor de aerolinea
@return valor de aerolinea*/
public String getAerolinea(){
  return aerolinea;
}
/**Fija el valor de aerolinea
@param pAerolinea nuevo Valor de aerolinea*/
public void setAerolinea(String pAerolinea){
  aerolinea=pAerolinea;
}

/**Obtiene el valor de aerolineacode
@return valor de aerolineacode*/
public String getAerolineacode(){
  return aerolineacode;
}
/**Fija el valor de aerolineacode
@param pAerolineacode nuevo Valor de aerolineacode*/
public void setAerolineacode(String pAerolineacode){
  aerolineacode=pAerolineacode;
}

/**Obtiene el valor de ccentrocontrol
@return valor de ccentrocontrol*/
public String getCcentrocontrol(){
  return ccentrocontrol;
}
/**Fija el valor de ccentrocontrol
@param pCcentrocontrol nuevo Valor de ccentrocontrol*/
public void setCcentrocontrol(String pCcentrocontrol){
  ccentrocontrol=pCcentrocontrol;
}

/**Obtiene el valor de countrycodeorigen
@return valor de countrycodeorigen*/
public String getCountrycodeorigen(){
  return countrycodeorigen;
}
/**Fija el valor de countrycodeorigen
@param pCountrycodeorigen nuevo Valor de countrycodeorigen*/
public void setCountrycodeorigen(String pCountrycodeorigen){
  countrycodeorigen=pCountrycodeorigen;
}

/**Obtiene el valor de provincecodeorigen
@return valor de provincecodeorigen*/
public String getProvincecodeorigen(){
  return provincecodeorigen;
}
/**Fija el valor de provincecodeorigen
@param pProvincecodeorigen nuevo Valor de provincecodeorigen*/
public void setProvincecodeorigen(String pProvincecodeorigen){
  provincecodeorigen=pProvincecodeorigen;
}

/**Obtiene el valor de cantoncodeorigen
@return valor de cantoncodeorigen*/
public String getCantoncodeorigen(){
  return cantoncodeorigen;
}
/**Fija el valor de cantoncodeorigen
@param pCantoncodeorigen nuevo Valor de cantoncodeorigen*/
public void setCantoncodeorigen(String pCantoncodeorigen){
  cantoncodeorigen=pCantoncodeorigen;
}

/**Obtiene el valor de citycodeorigen
@return valor de citycodeorigen*/
public String getCitycodeorigen(){
  return citycodeorigen;
}
/**Fija el valor de citycodeorigen
@param pCitycodeorigen nuevo Valor de citycodeorigen*/
public void setCitycodeorigen(String pCitycodeorigen){
  citycodeorigen=pCitycodeorigen;
}

/**Obtiene el valor de aeropuertoorig
@return valor de aeropuertoorig*/
public String getAeropuertoorig(){
  return aeropuertoorig;
}
/**Fija el valor de aeropuertoorig
@param pAeropuertoorig nuevo Valor de aeropuertoorig*/
public void setAeropuertoorig(String pAeropuertoorig){
  aeropuertoorig=pAeropuertoorig;
}

/**Obtiene el valor de aeropuertoorigcode
@return valor de aeropuertoorigcode*/
public String getAeropuertoorigcode(){
  return aeropuertoorigcode;
}
/**Fija el valor de aeropuertoorigcode
@param pAeropuertoorigcode nuevo Valor de aeropuertoorigcode*/
public void setAeropuertoorigcode(String pAeropuertoorigcode){
  aeropuertoorigcode=pAeropuertoorigcode;
}

/**Obtiene el valor de countrycodedest
@return valor de countrycodedest*/
public String getCountrycodedest(){
  return countrycodedest;
}
/**Fija el valor de countrycodedest
@param pCountrycodedest nuevo Valor de countrycodedest*/
public void setCountrycodedest(String pCountrycodedest){
  countrycodedest=pCountrycodedest;
}

/**Obtiene el valor de provincecodedest
@return valor de provincecodedest*/
public String getProvincecodedest(){
  return provincecodedest;
}
/**Fija el valor de provincecodedest
@param pProvincecodedest nuevo Valor de provincecodedest*/
public void setProvincecodedest(String pProvincecodedest){
  provincecodedest=pProvincecodedest;
}

/**Obtiene el valor de cantoncodedest
@return valor de cantoncodedest*/
public String getCantoncodedest(){
  return cantoncodedest;
}
/**Fija el valor de cantoncodedest
@param pCantoncodedest nuevo Valor de cantoncodedest*/
public void setCantoncodedest(String pCantoncodedest){
  cantoncodedest=pCantoncodedest;
}

/**Obtiene el valor de citycodedest
@return valor de citycodedest*/
public String getCitycodedest(){
  return citycodedest;
}
/**Fija el valor de citycodedest
@param pCitycodedest nuevo Valor de citycodedest*/
public void setCitycodedest(String pCitycodedest){
  citycodedest=pCitycodedest;
}

/**Obtiene el valor de aeropuertodest
@return valor de aeropuertodest*/
public String getAeropuertodest(){
  return aeropuertodest;
}
/**Fija el valor de aeropuertodest
@param pAeropuertodest nuevo Valor de aeropuertodest*/
public void setAeropuertodest(String pAeropuertodest){
  aeropuertodest=pAeropuertodest;
}

/**Obtiene el valor de aeropuertodestcode
@return valor de aeropuertodestcode*/
public String getAeropuertodestcode(){
  return aeropuertodestcode;
}
/**Fija el valor de aeropuertodestcode
@param pAeropuertodestcode nuevo Valor de aeropuertodestcode*/
public void setAeropuertodestcode(String pAeropuertodestcode){
  aeropuertodestcode=pAeropuertodestcode;
}

/**Obtiene el valor de personcode
@return valor de personcode*/
public Integer getPersoncode(){
  return personcode;
}
/**Fija el valor de personcode
@param pPersoncode nuevo Valor de personcode*/
public void setPersoncode(Integer pPersoncode){
  personcode=pPersoncode;
}

/**Obtiene el valor de personcodeprop
@return valor de personcodeprop*/
public Integer getPersoncodeprop(){
  return personcodeprop;
}
/**Fija el valor de personcodeprop
@param pPersoncodeprop nuevo Valor de personcodeprop*/
public void setPersoncodeprop(Integer pPersoncodeprop){
  personcodeprop=pPersoncodeprop;
}

/**Obtiene el valor de notransaccion
@return valor de notransaccion*/
public String getNotransaccion(){
  return notransaccion;
}
/**Fija el valor de notransaccion
@param pNotransaccion nuevo Valor de notransaccion*/
public void setNotransaccion(String pNotransaccion){
  notransaccion=pNotransaccion;
}

/**Obtiene el valor de fechacustodios
@return valor de fechacustodios*/
public Date getFechacustodios(){
  return fechacustodios;
}
/**Fija el valor de fechacustodios
@param pFechacustodios nuevo Valor de fechacustodios*/
public void setFechacustodios(Date pFechacustodios){
  fechacustodios=pFechacustodios;
}

/**Obtiene el valor de vuelo
@return valor de vuelo*/
public String getVuelo(){
  return vuelo;
}
/**Fija el valor de vuelo
@param pVuelo nuevo Valor de vuelo*/
public void setVuelo(String pVuelo){
  vuelo=pVuelo;
}

public boolean equals(Object rhs){
    if (rhs == null)return false;
    if (! (rhs instanceof TarmCustodiaTemporal))return false;
    TarmCustodiaTemporal that = (TarmCustodiaTemporal) rhs;
    if (this.getPk() == null || that.getPk() == null)
        return false;
    return (this.getPk().equals(that.getPk()));
}
/**Implementacion del metodo hashCode de la la entidad TarmCustodiaTemporal
@return el hashCode la instancia
*/
public int hashCode()    {
    if (this.hashValue == 0){
        int result = 17;
        if (this.getPk() == null){
            result = super.hashCode();
        }else{
            result = this.getPk().hashCode();
        }
        this.hashValue = result;
    }
    return this.hashValue;
}
/**Implementacion toString
*/
public String toString() {
	Field[]fs=this.getClass().getDeclaredFields();
	String data="";
	for(Field f:fs){
	 try{	
	 String name=f.getName();
   if(f.getType().getName().compareTo("java.util.Set")==0)continue;
	 if(name.compareTo("hashValue")==0||name.compareTo("serialVersionUID")==0)continue;
		data+=name+"="+f.get(this)+";";
	 }catch(Exception e){
		 continue;
	 }
		}
		if(data.compareTo("")==0){
		data=super.toString();
		}
	return data;
	}
/**Implementacion de la creacion de un bean en blanco TarmCustodiaTemporal
*/
public Object createInstance(){
 TarmCustodiaTemporal instance=new TarmCustodiaTemporal();	
 return instance;
}
/**Clona la entidad TarmCustodiaTemporal
@see com.fp.dto.hb.HibernateBean#cloneMe()
*/
public Object cloneMe() throws CloneNotSupportedException{
  TarmCustodiaTemporal p=(TarmCustodiaTemporal)this.clone();
  return p;
}
}
