package com.fitbank.hb.persistence.soli;

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

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

/**
* Fecha desde la que esta vigente la informacion de depreciacion de solicitud de vehiculos
*/
private Timestamp fdesde;

/**
* Codigo de la persona relacionada con la operacion de colocaciones
*/
private Integer cpersona;

/**
* Numero de cuenta de colocaciones relacionada con una persona
*/
private String ccuenta;

/**
* Secuencial por anio del calculo
*/
private Integer saniocalculado;

/**
* Anio para el cual se realiza la depreciacion
*/
private Integer anioreal;

/**
* Cantidad de anios que tiene el vehiculo
*/
private Integer antiguedad;

/**
* Tasa aplicada para el seguro
*/
private BigDecimal tasaseguro;

/**
* Valor comercial del vehiculo
*/
private BigDecimal valorcomercial;

/**
* Tasa de depreciacion del vehiculo
*/
private BigDecimal tasadepreciacion;

/**
* Valor depreciacion
*/
private BigDecimal valordepreciacion;

/**
* Valor actual determinado diferencia entre valorcomercial y valordepreciacion
*/
private BigDecimal valoractual;

/**
* Valor prima de seguro
*/
private BigDecimal prima;

/**
* Valor de la emision del certificado sbs
*/
private BigDecimal sbs;

/**
* Valor seguro campesino
*/
private BigDecimal segcampesino;

/**
* Subtotal del seguro
*/
private BigDecimal subtotal;

/**
* Valor del iva
*/
private BigDecimal iva;

/**
* Cuota anual de depreciacion
*/
private BigDecimal cuotaanual;

/**
* Cuota mensual de depreciacion
*/
private BigDecimal cuotamensual;

/**Contructor por defecto*/
public Tvehicledepreciationdetail(){}
/**Contructor de Tvehicledepreciationdetail
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la informacion de depreciacion de solicitud de vehiculos
*/
public Tvehicledepreciationdetail(TvehicledepreciationdetailKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tvehicledepreciationdetail
@return El objeto que referencia a la Clave primaria de Tvehicledepreciationdetail
*/
public TvehicledepreciationdetailKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tvehicledepreciationdetail
@param pPk El objeto que referencia a la nueva Clave primaria de Tvehicledepreciationdetail
*/
public void setPk(TvehicledepreciationdetailKey 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 CPERSONA="CPERSONA";
/**Obtiene el valor de cpersona
@return valor de cpersona*/
public Integer getCpersona(){
  return cpersona;
}
/**Fija el valor de cpersona
@param pCpersona nuevo Valor de cpersona*/
public void setCpersona(Integer pCpersona){
  cpersona=pCpersona;
}

public static final String CCUENTA="CCUENTA";
/**Obtiene el valor de ccuenta
@return valor de ccuenta*/
public String getCcuenta(){
  return ccuenta;
}
/**Fija el valor de ccuenta
@param pCcuenta nuevo Valor de ccuenta*/
public void setCcuenta(String pCcuenta){
  ccuenta=pCcuenta;
}

public static final String SANIOCALCULADO="SANIOCALCULADO";
/**Obtiene el valor de saniocalculado
@return valor de saniocalculado*/
public Integer getSaniocalculado(){
  return saniocalculado;
}
/**Fija el valor de saniocalculado
@param pSaniocalculado nuevo Valor de saniocalculado*/
public void setSaniocalculado(Integer pSaniocalculado){
  saniocalculado=pSaniocalculado;
}

public static final String ANIOREAL="ANIOREAL";
/**Obtiene el valor de anioreal
@return valor de anioreal*/
public Integer getAnioreal(){
  return anioreal;
}
/**Fija el valor de anioreal
@param pAnioreal nuevo Valor de anioreal*/
public void setAnioreal(Integer pAnioreal){
  anioreal=pAnioreal;
}

public static final String ANTIGUEDAD="ANTIGUEDAD";
/**Obtiene el valor de antiguedad
@return valor de antiguedad*/
public Integer getAntiguedad(){
  return antiguedad;
}
/**Fija el valor de antiguedad
@param pAntiguedad nuevo Valor de antiguedad*/
public void setAntiguedad(Integer pAntiguedad){
  antiguedad=pAntiguedad;
}

public static final String TASASEGURO="TASASEGURO";
/**Obtiene el valor de tasaseguro
@return valor de tasaseguro*/
public BigDecimal getTasaseguro(){
  return tasaseguro;
}
/**Fija el valor de tasaseguro
@param pTasaseguro nuevo Valor de tasaseguro*/
public void setTasaseguro(BigDecimal pTasaseguro){
  tasaseguro=pTasaseguro;
}

public static final String VALORCOMERCIAL="VALORCOMERCIAL";
/**Obtiene el valor de valorcomercial
@return valor de valorcomercial*/
public BigDecimal getValorcomercial(){
  return valorcomercial;
}
/**Fija el valor de valorcomercial
@param pValorcomercial nuevo Valor de valorcomercial*/
public void setValorcomercial(BigDecimal pValorcomercial){
  valorcomercial=pValorcomercial;
}

public static final String TASADEPRECIACION="TASADEPRECIACION";
/**Obtiene el valor de tasadepreciacion
@return valor de tasadepreciacion*/
public BigDecimal getTasadepreciacion(){
  return tasadepreciacion;
}
/**Fija el valor de tasadepreciacion
@param pTasadepreciacion nuevo Valor de tasadepreciacion*/
public void setTasadepreciacion(BigDecimal pTasadepreciacion){
  tasadepreciacion=pTasadepreciacion;
}

public static final String VALORDEPRECIACION="VALORDEPRECIACION";
/**Obtiene el valor de valordepreciacion
@return valor de valordepreciacion*/
public BigDecimal getValordepreciacion(){
  return valordepreciacion;
}
/**Fija el valor de valordepreciacion
@param pValordepreciacion nuevo Valor de valordepreciacion*/
public void setValordepreciacion(BigDecimal pValordepreciacion){
  valordepreciacion=pValordepreciacion;
}

public static final String VALORACTUAL="VALORACTUAL";
/**Obtiene el valor de valoractual
@return valor de valoractual*/
public BigDecimal getValoractual(){
  return valoractual;
}
/**Fija el valor de valoractual
@param pValoractual nuevo Valor de valoractual*/
public void setValoractual(BigDecimal pValoractual){
  valoractual=pValoractual;
}

public static final String PRIMA="PRIMA";
/**Obtiene el valor de prima
@return valor de prima*/
public BigDecimal getPrima(){
  return prima;
}
/**Fija el valor de prima
@param pPrima nuevo Valor de prima*/
public void setPrima(BigDecimal pPrima){
  prima=pPrima;
}

public static final String SBS="SBS";
/**Obtiene el valor de sbs
@return valor de sbs*/
public BigDecimal getSbs(){
  return sbs;
}
/**Fija el valor de sbs
@param pSbs nuevo Valor de sbs*/
public void setSbs(BigDecimal pSbs){
  sbs=pSbs;
}

public static final String SEGCAMPESINO="SEGCAMPESINO";
/**Obtiene el valor de segcampesino
@return valor de segcampesino*/
public BigDecimal getSegcampesino(){
  return segcampesino;
}
/**Fija el valor de segcampesino
@param pSegcampesino nuevo Valor de segcampesino*/
public void setSegcampesino(BigDecimal pSegcampesino){
  segcampesino=pSegcampesino;
}

public static final String SUBTOTAL="SUBTOTAL";
/**Obtiene el valor de subtotal
@return valor de subtotal*/
public BigDecimal getSubtotal(){
  return subtotal;
}
/**Fija el valor de subtotal
@param pSubtotal nuevo Valor de subtotal*/
public void setSubtotal(BigDecimal pSubtotal){
  subtotal=pSubtotal;
}

public static final String IVA="IVA";
/**Obtiene el valor de iva
@return valor de iva*/
public BigDecimal getIva(){
  return iva;
}
/**Fija el valor de iva
@param pIva nuevo Valor de iva*/
public void setIva(BigDecimal pIva){
  iva=pIva;
}

public static final String CUOTAANUAL="CUOTAANUAL";
/**Obtiene el valor de cuotaanual
@return valor de cuotaanual*/
public BigDecimal getCuotaanual(){
  return cuotaanual;
}
/**Fija el valor de cuotaanual
@param pCuotaanual nuevo Valor de cuotaanual*/
public void setCuotaanual(BigDecimal pCuotaanual){
  cuotaanual=pCuotaanual;
}

public static final String CUOTAMENSUAL="CUOTAMENSUAL";
/**Obtiene el valor de cuotamensual
@return valor de cuotamensual*/
public BigDecimal getCuotamensual(){
  return cuotamensual;
}
/**Fija el valor de cuotamensual
@param pCuotamensual nuevo Valor de cuotamensual*/
public void setCuotamensual(BigDecimal pCuotamensual){
  cuotamensual=pCuotamensual;
}

/**Implementacion de la comparacion de la entidad Tvehicledepreciationdetail
@param rhs Elemento de Comparacion
@return el resultado de la comparacion
*/
public boolean equals(Object rhs){
    if (rhs == null){return false;}
    if (! (rhs instanceof Tvehicledepreciationdetail)){return false;}
    Tvehicledepreciationdetail that = (Tvehicledepreciationdetail) 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 Tvehicledepreciationdetail
@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 blancoTvehicledepreciationdetail
*/
public Object createInstance() throws Exception{
 Tvehicledepreciationdetail instance=new Tvehicledepreciationdetail();	
 instance.setPk(new TvehicledepreciationdetailKey());
 return instance;
}
public Object cloneMe() throws Exception{
  Tvehicledepreciationdetail p=(Tvehicledepreciationdetail)this.clone();
  p.setPk((TvehicledepreciationdetailKey)this.pk.cloneMe());
  return p;
}
public Object getId() {
  return this.pk;
}
}
