package com.fitbank.hb.persistence.prod;

import com.fitbank.common.hb.AbstractExpire;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.sql.Timestamp;
import java.sql.Date;
import java.math.BigDecimal;
import com.fitbank.common.TransportBean;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TCUENTAACTIVOSFIJOS*/
public class Tactivefixedaccount extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TCUENTAACTIVOSFIJOS */
public static final String TABLE_NAME = "TCUENTAACTIVOSFIJOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tactivefixedaccount
*/
private TactivefixedaccountKey pk;
/**
* Manejo de optimistic locking.
*/
private Integer versioncontrol;

/**
* Fecha desde la que estan vigentes los datos del activo fijo
*/
private Timestamp fdesde;

/**
* Fecha de adquisicion del activo fijo
*/
private Date fadquisicion;

/**
* Numero de factura de adquisicion del activo fijo
*/
private String numerofactura;

/**
* Modelo del activo fijo
*/
private String modelo;

/**
* Marca del activo fijo
*/
private String marca;

/**
* Codigo asignado por el proveedoral activo fijo
*/
private String codigoitem;

/**
* Costo original del activo fijo
*/
private BigDecimal costooriginal;

/**
* Codigo de frecuencia de depreciacion del activo fijo
*/
private Integer cfrecuencia_depreciacion;

/**
* Numero de periodos considerados para la depreciacion del activo fijo
*/
private Integer numeroperiodos;

/**
* Codigo de persona del suplidor o proveedor del activo fijo
*/
private Integer cpersona_proveedor;

/**
* Codigo del item de activos fijos
*/
private String cactivofijo;

/**
* Fecha en la que se entrega el activo fijo 
*/
private Date fentrega;

/**
* Codigo de la persona a la que se entrega el activo fijo
*/
private Integer cpersona_entrega;

/**
* Valor minimo del activo fijo al realizar las depreciaciones
*/
private BigDecimal valorresidual;

/**
* Fecha de baja del activo fijo
*/
private Date fbaja;

/**
* Numero de serie del activo fijo
*/
private String serieitem;

/**
* Observaciones del activo fijo
*/
private String observaciones;

/**
* Fecha en la que se inicia la depreciacion del activo fijo
*/
private Date finiciodepreciacion;

/**
* Fecha en la que finaliza la depreciacion del activo fijo
*/
private Date ffinalizadepreciacion;

/**
* Numero de serie del motor de acuerdo al activo fijo.
*/
private String seriemotor;

/**
* Numero de serie del chasis de acuerdo al activo fijo.
*/
private String seriechasis;

/**
* Codigo de frecuencia de mantenimiento del activo fijo
*/
private Integer cfrecuencia_mantenimiento;

/**
* Fecha en la que se debe realizar el proximo mantenimiento del activo fijo
*/
private Date fproximomantenimiento;

/**
* Codigo de la division
*/
private String codigodivision;

/**
* Codigo de departamento de la persona juridica
*/
private String codigodepartamento;

/**
* Codigo de la unidad de un deparmtamento de personas empleadoras.
*/
private String codigounidad;

/**
* Valor del activo fijo cuando se da de baja por venta.
*/
private BigDecimal valorventa;

/**
* Valor no contable del calculo del avaluo del activo fijo 
*/
private BigDecimal valoravaluo;

/**
* Fecha del calculo del avaluo del activo fijo
*/
private Date favaluo;

/**
* 
*/
private String csubsistema_origen;

/**
* 
*/
private String ctransaccion_origen;

/**Contructor por defecto*/
public Tactivefixedaccount(){}
/**Contructor de Tactivefixedaccount
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes los datos del activo fijo
@param pFadquisicion Fecha de adquisicion del activo fijo
*/
public Tactivefixedaccount(TactivefixedaccountKey pPk,Timestamp pFdesde,Date pFadquisicion){
 pk=pPk;
 fdesde=pFdesde;
 fadquisicion=pFadquisicion;
}
/**Entrega la Clave primaria de Tactivefixedaccount
@return El objeto que referencia a la Clave primaria de Tactivefixedaccount
*/
public TactivefixedaccountKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tactivefixedaccount
@param pPk El objeto que referencia a la nueva Clave primaria de Tactivefixedaccount
*/
public void setPk(TactivefixedaccountKey pPk){
  pk=pPk;
}
public static final String VERSIONCONTROL="VERSIONCONTROL";
/**Obtiene el valor de versioncontrol
@return valor de versioncontrol*/
public Integer getVersioncontrol(){
  return versioncontrol;
}
/**Fija el valor de versioncontrol
@param pVersioncontrol nuevo Valor de versioncontrol*/
public void setVersioncontrol(Integer pVersioncontrol){
  versioncontrol=pVersioncontrol;
}

public static final String FDESDE="FDESDE";
/**Obtiene el valor de fdesde
@return valor de fdesde*/
public Timestamp getFdesde(){
  return fdesde;
}
/**Fija el valor de fdesde
@param pFdesde nuevo Valor de fdesde*/
public void setFdesde(Timestamp pFdesde){
  fdesde=pFdesde;
}

public static final String FADQUISICION="FADQUISICION";
/**Obtiene el valor de fadquisicion
@return valor de fadquisicion*/
public Date getFadquisicion(){
  return fadquisicion;
}
/**Fija el valor de fadquisicion
@param pFadquisicion nuevo Valor de fadquisicion*/
public void setFadquisicion(Date pFadquisicion){
  fadquisicion=pFadquisicion;
}

public static final String NUMEROFACTURA="NUMEROFACTURA";
/**Obtiene el valor de numerofactura
@return valor de numerofactura*/
public String getNumerofactura(){
  return numerofactura;
}
/**Fija el valor de numerofactura
@param pNumerofactura nuevo Valor de numerofactura*/
public void setNumerofactura(String pNumerofactura){
  numerofactura=pNumerofactura;
}

public static final String MODELO="MODELO";
/**Obtiene el valor de modelo
@return valor de modelo*/
public String getModelo(){
  return modelo;
}
/**Fija el valor de modelo
@param pModelo nuevo Valor de modelo*/
public void setModelo(String pModelo){
  modelo=pModelo;
}

public static final String MARCA="MARCA";
/**Obtiene el valor de marca
@return valor de marca*/
public String getMarca(){
  return marca;
}
/**Fija el valor de marca
@param pMarca nuevo Valor de marca*/
public void setMarca(String pMarca){
  marca=pMarca;
}

public static final String CODIGOITEM="CODIGOITEM";
/**Obtiene el valor de codigoitem
@return valor de codigoitem*/
public String getCodigoitem(){
  return codigoitem;
}
/**Fija el valor de codigoitem
@param pCodigoitem nuevo Valor de codigoitem*/
public void setCodigoitem(String pCodigoitem){
  codigoitem=pCodigoitem;
}

public static final String COSTOORIGINAL="COSTOORIGINAL";
/**Obtiene el valor de costooriginal
@return valor de costooriginal*/
public BigDecimal getCostooriginal(){
  return costooriginal;
}
/**Fija el valor de costooriginal
@param pCostooriginal nuevo Valor de costooriginal*/
public void setCostooriginal(BigDecimal pCostooriginal){
  costooriginal=pCostooriginal;
}

public static final String CFRECUENCIA_DEPRECIACION="CFRECUENCIA_DEPRECIACION";
/**Obtiene el valor de cfrecuencia_depreciacion
@return valor de cfrecuencia_depreciacion*/
public Integer getCfrecuencia_depreciacion(){
  return cfrecuencia_depreciacion;
}
/**Fija el valor de cfrecuencia_depreciacion
@param pCfrecuencia_depreciacion nuevo Valor de cfrecuencia_depreciacion*/
public void setCfrecuencia_depreciacion(Integer pCfrecuencia_depreciacion){
  cfrecuencia_depreciacion=pCfrecuencia_depreciacion;
}

public static final String NUMEROPERIODOS="NUMEROPERIODOS";
/**Obtiene el valor de numeroperiodos
@return valor de numeroperiodos*/
public Integer getNumeroperiodos(){
  return numeroperiodos;
}
/**Fija el valor de numeroperiodos
@param pNumeroperiodos nuevo Valor de numeroperiodos*/
public void setNumeroperiodos(Integer pNumeroperiodos){
  numeroperiodos=pNumeroperiodos;
}

public static final String CPERSONA_PROVEEDOR="CPERSONA_PROVEEDOR";
/**Obtiene el valor de cpersona_proveedor
@return valor de cpersona_proveedor*/
public Integer getCpersona_proveedor(){
  return cpersona_proveedor;
}
/**Fija el valor de cpersona_proveedor
@param pCpersona_proveedor nuevo Valor de cpersona_proveedor*/
public void setCpersona_proveedor(Integer pCpersona_proveedor){
  cpersona_proveedor=pCpersona_proveedor;
}

public static final String CACTIVOFIJO="CACTIVOFIJO";
/**Obtiene el valor de cactivofijo
@return valor de cactivofijo*/
public String getCactivofijo(){
  return cactivofijo;
}
/**Fija el valor de cactivofijo
@param pCactivofijo nuevo Valor de cactivofijo*/
public void setCactivofijo(String pCactivofijo){
  cactivofijo=pCactivofijo;
}

public static final String FENTREGA="FENTREGA";
/**Obtiene el valor de fentrega
@return valor de fentrega*/
public Date getFentrega(){
  return fentrega;
}
/**Fija el valor de fentrega
@param pFentrega nuevo Valor de fentrega*/
public void setFentrega(Date pFentrega){
  fentrega=pFentrega;
}

public static final String CPERSONA_ENTREGA="CPERSONA_ENTREGA";
/**Obtiene el valor de cpersona_entrega
@return valor de cpersona_entrega*/
public Integer getCpersona_entrega(){
  return cpersona_entrega;
}
/**Fija el valor de cpersona_entrega
@param pCpersona_entrega nuevo Valor de cpersona_entrega*/
public void setCpersona_entrega(Integer pCpersona_entrega){
  cpersona_entrega=pCpersona_entrega;
}

public static final String VALORRESIDUAL="VALORRESIDUAL";
/**Obtiene el valor de valorresidual
@return valor de valorresidual*/
public BigDecimal getValorresidual(){
  return valorresidual;
}
/**Fija el valor de valorresidual
@param pValorresidual nuevo Valor de valorresidual*/
public void setValorresidual(BigDecimal pValorresidual){
  valorresidual=pValorresidual;
}

public static final String FBAJA="FBAJA";
/**Obtiene el valor de fbaja
@return valor de fbaja*/
public Date getFbaja(){
  return fbaja;
}
/**Fija el valor de fbaja
@param pFbaja nuevo Valor de fbaja*/
public void setFbaja(Date pFbaja){
  fbaja=pFbaja;
}

public static final String SERIEITEM="SERIEITEM";
/**Obtiene el valor de serieitem
@return valor de serieitem*/
public String getSerieitem(){
  return serieitem;
}
/**Fija el valor de serieitem
@param pSerieitem nuevo Valor de serieitem*/
public void setSerieitem(String pSerieitem){
  serieitem=pSerieitem;
}

public static final String OBSERVACIONES="OBSERVACIONES";
/**Obtiene el valor de observaciones
@return valor de observaciones*/
public String getObservaciones(){
  return observaciones;
}
/**Fija el valor de observaciones
@param pObservaciones nuevo Valor de observaciones*/
public void setObservaciones(String pObservaciones){
  observaciones=pObservaciones;
}

public static final String FINICIODEPRECIACION="FINICIODEPRECIACION";
/**Obtiene el valor de finiciodepreciacion
@return valor de finiciodepreciacion*/
public Date getFiniciodepreciacion(){
  return finiciodepreciacion;
}
/**Fija el valor de finiciodepreciacion
@param pFiniciodepreciacion nuevo Valor de finiciodepreciacion*/
public void setFiniciodepreciacion(Date pFiniciodepreciacion){
  finiciodepreciacion=pFiniciodepreciacion;
}

public static final String FFINALIZADEPRECIACION="FFINALIZADEPRECIACION";
/**Obtiene el valor de ffinalizadepreciacion
@return valor de ffinalizadepreciacion*/
public Date getFfinalizadepreciacion(){
  return ffinalizadepreciacion;
}
/**Fija el valor de ffinalizadepreciacion
@param pFfinalizadepreciacion nuevo Valor de ffinalizadepreciacion*/
public void setFfinalizadepreciacion(Date pFfinalizadepreciacion){
  ffinalizadepreciacion=pFfinalizadepreciacion;
}

public static final String SERIEMOTOR="SERIEMOTOR";
/**Obtiene el valor de seriemotor
@return valor de seriemotor*/
public String getSeriemotor(){
  return seriemotor;
}
/**Fija el valor de seriemotor
@param pSeriemotor nuevo Valor de seriemotor*/
public void setSeriemotor(String pSeriemotor){
  seriemotor=pSeriemotor;
}

public static final String SERIECHASIS="SERIECHASIS";
/**Obtiene el valor de seriechasis
@return valor de seriechasis*/
public String getSeriechasis(){
  return seriechasis;
}
/**Fija el valor de seriechasis
@param pSeriechasis nuevo Valor de seriechasis*/
public void setSeriechasis(String pSeriechasis){
  seriechasis=pSeriechasis;
}

public static final String CFRECUENCIA_MANTENIMIENTO="CFRECUENCIA_MANTENIMIENTO";
/**Obtiene el valor de cfrecuencia_mantenimiento
@return valor de cfrecuencia_mantenimiento*/
public Integer getCfrecuencia_mantenimiento(){
  return cfrecuencia_mantenimiento;
}
/**Fija el valor de cfrecuencia_mantenimiento
@param pCfrecuencia_mantenimiento nuevo Valor de cfrecuencia_mantenimiento*/
public void setCfrecuencia_mantenimiento(Integer pCfrecuencia_mantenimiento){
  cfrecuencia_mantenimiento=pCfrecuencia_mantenimiento;
}

public static final String FPROXIMOMANTENIMIENTO="FPROXIMOMANTENIMIENTO";
/**Obtiene el valor de fproximomantenimiento
@return valor de fproximomantenimiento*/
public Date getFproximomantenimiento(){
  return fproximomantenimiento;
}
/**Fija el valor de fproximomantenimiento
@param pFproximomantenimiento nuevo Valor de fproximomantenimiento*/
public void setFproximomantenimiento(Date pFproximomantenimiento){
  fproximomantenimiento=pFproximomantenimiento;
}

public static final String CODIGODIVISION="CODIGODIVISION";
/**Obtiene el valor de codigodivision
@return valor de codigodivision*/
public String getCodigodivision(){
  return codigodivision;
}
/**Fija el valor de codigodivision
@param pCodigodivision nuevo Valor de codigodivision*/
public void setCodigodivision(String pCodigodivision){
  codigodivision=pCodigodivision;
}

public static final String CODIGODEPARTAMENTO="CODIGODEPARTAMENTO";
/**Obtiene el valor de codigodepartamento
@return valor de codigodepartamento*/
public String getCodigodepartamento(){
  return codigodepartamento;
}
/**Fija el valor de codigodepartamento
@param pCodigodepartamento nuevo Valor de codigodepartamento*/
public void setCodigodepartamento(String pCodigodepartamento){
  codigodepartamento=pCodigodepartamento;
}

public static final String CODIGOUNIDAD="CODIGOUNIDAD";
/**Obtiene el valor de codigounidad
@return valor de codigounidad*/
public String getCodigounidad(){
  return codigounidad;
}
/**Fija el valor de codigounidad
@param pCodigounidad nuevo Valor de codigounidad*/
public void setCodigounidad(String pCodigounidad){
  codigounidad=pCodigounidad;
}

public static final String VALORVENTA="VALORVENTA";
/**Obtiene el valor de valorventa
@return valor de valorventa*/
public BigDecimal getValorventa(){
  return valorventa;
}
/**Fija el valor de valorventa
@param pValorventa nuevo Valor de valorventa*/
public void setValorventa(BigDecimal pValorventa){
  valorventa=pValorventa;
}

public static final String VALORAVALUO="VALORAVALUO";
/**Obtiene el valor de valoravaluo
@return valor de valoravaluo*/
public BigDecimal getValoravaluo(){
  return valoravaluo;
}
/**Fija el valor de valoravaluo
@param pValoravaluo nuevo Valor de valoravaluo*/
public void setValoravaluo(BigDecimal pValoravaluo){
  valoravaluo=pValoravaluo;
}

public static final String FAVALUO="FAVALUO";
/**Obtiene el valor de favaluo
@return valor de favaluo*/
public Date getFavaluo(){
  return favaluo;
}
/**Fija el valor de favaluo
@param pFavaluo nuevo Valor de favaluo*/
public void setFavaluo(Date pFavaluo){
  favaluo=pFavaluo;
}

public static final String CSUBSISTEMA_ORIGEN="CSUBSISTEMA_ORIGEN";
/**Obtiene el valor de csubsistema_origen
@return valor de csubsistema_origen*/
public String getCsubsistema_origen(){
  return csubsistema_origen;
}
/**Fija el valor de csubsistema_origen
@param pCsubsistema_origen nuevo Valor de csubsistema_origen*/
public void setCsubsistema_origen(String pCsubsistema_origen){
  csubsistema_origen=pCsubsistema_origen;
}

public static final String CTRANSACCION_ORIGEN="CTRANSACCION_ORIGEN";
/**Obtiene el valor de ctransaccion_origen
@return valor de ctransaccion_origen*/
public String getCtransaccion_origen(){
  return ctransaccion_origen;
}
/**Fija el valor de ctransaccion_origen
@param pCtransaccion_origen nuevo Valor de ctransaccion_origen*/
public void setCtransaccion_origen(String pCtransaccion_origen){
  ctransaccion_origen=pCtransaccion_origen;
}

/**Implementacion de la comparacion de la entidad Tactivefixedaccount
@param rhs Elemento de Comparacion
@return el resultado de la comparacion
*/
public boolean equals(Object rhs){
    if (rhs == null){return false;}
    if (! (rhs instanceof Tactivefixedaccount)){return false;}
    Tactivefixedaccount that = (Tactivefixedaccount) rhs;
    if (this.getPk() == null || that.getPk() == null){
        return false;}
    return (this.getPk().equals(that.getPk()));
}
/**Implementaciï¿½n del metodo hashCode de la la entidad Tactivefixedaccount
@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;
}
/**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+=name+"="+f.get(this)+";";
	 }catch(Exception e){
		 continue;
	 }
		}
		if(data.compareTo("")==0){
		data=super.toString();
		}
	return data;
	}
/**Implementaci�n de la creaci�n de un bean en blancoTactivefixedaccount
*/
public Object createInstance() throws Exception{
 Tactivefixedaccount instance=new Tactivefixedaccount();	
 instance.setPk(new TactivefixedaccountKey());
 return instance;
}
public Object cloneMe() throws Exception{
  Tactivefixedaccount p=(Tactivefixedaccount)this.clone();
  p.setPk((TactivefixedaccountKey)this.pk.cloneMe());
  return p;
}
public Object getId() {
  return this.pk;
}
}
