package com.fitbank.hb.persistence.payroll;

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

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

/**
* Fecha desde la que esta vigente el registro.
*/
private Timestamp fdesde;

/**
* Tipo de Identificacion del Retenido
*/
private String tipidret;

/**
* Cedula o Pasaporte  del Retenido
*/
private String idret;

/**
* Codigo de Establecimiento
*/
private String estab;

/**
* Sistema de salario neto 1 No tiene 2 Si
*/
private String sissalnet;

/**
* Sueldos y salarios
*/
private BigDecimal suelsal;

/**
* Sobresueldos, comisiones, bonos y otros ingresos gravados
*/
private BigDecimal sobsuelcomrum;

/**
* Ingresos gravados generados con otros empleadores
*/
private BigDecimal intgrabgen;

/**
* Impuesto a la Renta asumido por este empleador
*/
private BigDecimal imprentempl;

/**
* Participacion utilidades
*/
private BigDecimal partutil;

/**
* Decimo tercer sueldo
*/
private BigDecimal decimter;

/**
* Decimo cuarto sueldo
*/
private BigDecimal decimcuar;

/**
* Fondo de Reserva (Informativo)
*/
private BigDecimal fondoreserva;

/**
* Compensacion economica Salario Digno (Informativo)
*/
private BigDecimal salariodigno;

/**
* Otras ingresos en relacion de dependencia que no constituyen renta gravada
*/
private BigDecimal otrosingrengrav;

/**
* Ingresos gravados con este empleador (Informativo)
*/
private BigDecimal inggravconesteempl;

/**
* Aporte personal IESS con este empleador
*/
private BigDecimal apoperiess;

/**
* Aporte personal IESS con otros empleadores
*/
private BigDecimal aporperiessconotrosempls;

/**
* Deduccion Gastos Personales ¿ Vivienda
*/
private BigDecimal deducvivienda;

/**
* Deduccion Gastos Personales ¿ Salud
*/
private BigDecimal deducsalud;

/**
* Deduccion Gastos Personales - Educacion
*/
private BigDecimal deduceduca;

/**
* Deduccion Gastos Personales - Alimentacion
*/
private BigDecimal deducaliement;

/**
* Deduccion Gastos Personales - Vestimenta
*/
private BigDecimal deducvestim;

/**
* Exoneraciones discapacidad
*/
private BigDecimal exodiscap;

/**
* Exoneraciones tercera edad
*/
private BigDecimal exotered;

/**
* Base Imponible gravada
*/
private BigDecimal basimp;

/**
* Impuesto a la Renta Causado
*/
private BigDecimal imprentcaus;

/**
* Valor del impuesto retenido y asumido por otros empleadores durante el periodo declarado
*/
private BigDecimal valretasuotrosempls;

/**
* Valor del impuesto asumido por este empleador
*/
private BigDecimal valimpasuesteempl;

/**
* Valor del impuesto retenido al trabajador por este empleador
*/
private BigDecimal valret;

/**
* Observacion ocurridas en la generacion del archivo
*/
private String observaciones;

/**
* Codigo de las condicion del trabajador respecto a discapacidades
*/
private String ctipodiscapacidad;

/**
* Porcentaje de discapacidad del empleado
*/
private BigDecimal porcentajediscapacidad;

/**
* Codigo de la persona discapacitado que representa
*/
private Integer cpersona_discapacitado;

/**
* Codigo de Residencia del empleados
*/
private String recidenciatrab;

/**
* Codigo del pais de residencia
*/
private String codigopais;

/**Contructor por defecto*/
public Tpayrollrdep(){}
/**Contructor de Tpayrollrdep
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente el registro.
*/
public Tpayrollrdep(TpayrollrdepKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tpayrollrdep
@return El objeto que referencia a la Clave primaria de Tpayrollrdep
*/
public TpayrollrdepKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tpayrollrdep
@param pPk El objeto que referencia a la nueva Clave primaria de Tpayrollrdep
*/
public void setPk(TpayrollrdepKey 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 TIPIDRET="TIPIDRET";
/**Obtiene el valor de tipidret
@return valor de tipidret*/
public String getTipidret(){
  return tipidret;
}
/**Fija el valor de tipidret
@param pTipidret nuevo Valor de tipidret*/
public void setTipidret(String pTipidret){
  tipidret=pTipidret;
}

public static final String IDRET="IDRET";
/**Obtiene el valor de idret
@return valor de idret*/
public String getIdret(){
  return idret;
}
/**Fija el valor de idret
@param pIdret nuevo Valor de idret*/
public void setIdret(String pIdret){
  idret=pIdret;
}

public static final String ESTAB="ESTAB";
/**Obtiene el valor de estab
@return valor de estab*/
public String getEstab(){
  return estab;
}
/**Fija el valor de estab
@param pEstab nuevo Valor de estab*/
public void setEstab(String pEstab){
  estab=pEstab;
}

public static final String SISSALNET="SISSALNET";
/**Obtiene el valor de sissalnet
@return valor de sissalnet*/
public String getSissalnet(){
  return sissalnet;
}
/**Fija el valor de sissalnet
@param pSissalnet nuevo Valor de sissalnet*/
public void setSissalnet(String pSissalnet){
  sissalnet=pSissalnet;
}

public static final String SUELSAL="SUELSAL";
/**Obtiene el valor de suelsal
@return valor de suelsal*/
public BigDecimal getSuelsal(){
  return suelsal;
}
/**Fija el valor de suelsal
@param pSuelsal nuevo Valor de suelsal*/
public void setSuelsal(BigDecimal pSuelsal){
  suelsal=pSuelsal;
}

public static final String SOBSUELCOMRUM="SOBSUELCOMRUM";
/**Obtiene el valor de sobsuelcomrum
@return valor de sobsuelcomrum*/
public BigDecimal getSobsuelcomrum(){
  return sobsuelcomrum;
}
/**Fija el valor de sobsuelcomrum
@param pSobsuelcomrum nuevo Valor de sobsuelcomrum*/
public void setSobsuelcomrum(BigDecimal pSobsuelcomrum){
  sobsuelcomrum=pSobsuelcomrum;
}

public static final String INTGRABGEN="INTGRABGEN";
/**Obtiene el valor de intgrabgen
@return valor de intgrabgen*/
public BigDecimal getIntgrabgen(){
  return intgrabgen;
}
/**Fija el valor de intgrabgen
@param pIntgrabgen nuevo Valor de intgrabgen*/
public void setIntgrabgen(BigDecimal pIntgrabgen){
  intgrabgen=pIntgrabgen;
}

public static final String IMPRENTEMPL="IMPRENTEMPL";
/**Obtiene el valor de imprentempl
@return valor de imprentempl*/
public BigDecimal getImprentempl(){
  return imprentempl;
}
/**Fija el valor de imprentempl
@param pImprentempl nuevo Valor de imprentempl*/
public void setImprentempl(BigDecimal pImprentempl){
  imprentempl=pImprentempl;
}

public static final String PARTUTIL="PARTUTIL";
/**Obtiene el valor de partutil
@return valor de partutil*/
public BigDecimal getPartutil(){
  return partutil;
}
/**Fija el valor de partutil
@param pPartutil nuevo Valor de partutil*/
public void setPartutil(BigDecimal pPartutil){
  partutil=pPartutil;
}

public static final String DECIMTER="DECIMTER";
/**Obtiene el valor de decimter
@return valor de decimter*/
public BigDecimal getDecimter(){
  return decimter;
}
/**Fija el valor de decimter
@param pDecimter nuevo Valor de decimter*/
public void setDecimter(BigDecimal pDecimter){
  decimter=pDecimter;
}

public static final String DECIMCUAR="DECIMCUAR";
/**Obtiene el valor de decimcuar
@return valor de decimcuar*/
public BigDecimal getDecimcuar(){
  return decimcuar;
}
/**Fija el valor de decimcuar
@param pDecimcuar nuevo Valor de decimcuar*/
public void setDecimcuar(BigDecimal pDecimcuar){
  decimcuar=pDecimcuar;
}

public static final String FONDORESERVA="FONDORESERVA";
/**Obtiene el valor de fondoreserva
@return valor de fondoreserva*/
public BigDecimal getFondoreserva(){
  return fondoreserva;
}
/**Fija el valor de fondoreserva
@param pFondoreserva nuevo Valor de fondoreserva*/
public void setFondoreserva(BigDecimal pFondoreserva){
  fondoreserva=pFondoreserva;
}

public static final String SALARIODIGNO="SALARIODIGNO";
/**Obtiene el valor de salariodigno
@return valor de salariodigno*/
public BigDecimal getSalariodigno(){
  return salariodigno;
}
/**Fija el valor de salariodigno
@param pSalariodigno nuevo Valor de salariodigno*/
public void setSalariodigno(BigDecimal pSalariodigno){
  salariodigno=pSalariodigno;
}

public static final String OTROSINGRENGRAV="OTROSINGRENGRAV";
/**Obtiene el valor de otrosingrengrav
@return valor de otrosingrengrav*/
public BigDecimal getOtrosingrengrav(){
  return otrosingrengrav;
}
/**Fija el valor de otrosingrengrav
@param pOtrosingrengrav nuevo Valor de otrosingrengrav*/
public void setOtrosingrengrav(BigDecimal pOtrosingrengrav){
  otrosingrengrav=pOtrosingrengrav;
}

public static final String INGGRAVCONESTEEMPL="INGGRAVCONESTEEMPL";
/**Obtiene el valor de inggravconesteempl
@return valor de inggravconesteempl*/
public BigDecimal getInggravconesteempl(){
  return inggravconesteempl;
}
/**Fija el valor de inggravconesteempl
@param pInggravconesteempl nuevo Valor de inggravconesteempl*/
public void setInggravconesteempl(BigDecimal pInggravconesteempl){
  inggravconesteempl=pInggravconesteempl;
}

public static final String APOPERIESS="APOPERIESS";
/**Obtiene el valor de apoperiess
@return valor de apoperiess*/
public BigDecimal getApoperiess(){
  return apoperiess;
}
/**Fija el valor de apoperiess
@param pApoperiess nuevo Valor de apoperiess*/
public void setApoperiess(BigDecimal pApoperiess){
  apoperiess=pApoperiess;
}

public static final String APORPERIESSCONOTROSEMPLS="APORPERIESSCONOTROSEMPLS";
/**Obtiene el valor de aporperiessconotrosempls
@return valor de aporperiessconotrosempls*/
public BigDecimal getAporperiessconotrosempls(){
  return aporperiessconotrosempls;
}
/**Fija el valor de aporperiessconotrosempls
@param pAporperiessconotrosempls nuevo Valor de aporperiessconotrosempls*/
public void setAporperiessconotrosempls(BigDecimal pAporperiessconotrosempls){
  aporperiessconotrosempls=pAporperiessconotrosempls;
}

public static final String DEDUCVIVIENDA="DEDUCVIVIENDA";
/**Obtiene el valor de deducvivienda
@return valor de deducvivienda*/
public BigDecimal getDeducvivienda(){
  return deducvivienda;
}
/**Fija el valor de deducvivienda
@param pDeducvivienda nuevo Valor de deducvivienda*/
public void setDeducvivienda(BigDecimal pDeducvivienda){
  deducvivienda=pDeducvivienda;
}

public static final String DEDUCSALUD="DEDUCSALUD";
/**Obtiene el valor de deducsalud
@return valor de deducsalud*/
public BigDecimal getDeducsalud(){
  return deducsalud;
}
/**Fija el valor de deducsalud
@param pDeducsalud nuevo Valor de deducsalud*/
public void setDeducsalud(BigDecimal pDeducsalud){
  deducsalud=pDeducsalud;
}

public static final String DEDUCEDUCA="DEDUCEDUCA";
/**Obtiene el valor de deduceduca
@return valor de deduceduca*/
public BigDecimal getDeduceduca(){
  return deduceduca;
}
/**Fija el valor de deduceduca
@param pDeduceduca nuevo Valor de deduceduca*/
public void setDeduceduca(BigDecimal pDeduceduca){
  deduceduca=pDeduceduca;
}

public static final String DEDUCALIEMENT="DEDUCALIEMENT";
/**Obtiene el valor de deducaliement
@return valor de deducaliement*/
public BigDecimal getDeducaliement(){
  return deducaliement;
}
/**Fija el valor de deducaliement
@param pDeducaliement nuevo Valor de deducaliement*/
public void setDeducaliement(BigDecimal pDeducaliement){
  deducaliement=pDeducaliement;
}

public static final String DEDUCVESTIM="DEDUCVESTIM";
/**Obtiene el valor de deducvestim
@return valor de deducvestim*/
public BigDecimal getDeducvestim(){
  return deducvestim;
}
/**Fija el valor de deducvestim
@param pDeducvestim nuevo Valor de deducvestim*/
public void setDeducvestim(BigDecimal pDeducvestim){
  deducvestim=pDeducvestim;
}

public static final String EXODISCAP="EXODISCAP";
/**Obtiene el valor de exodiscap
@return valor de exodiscap*/
public BigDecimal getExodiscap(){
  return exodiscap;
}
/**Fija el valor de exodiscap
@param pExodiscap nuevo Valor de exodiscap*/
public void setExodiscap(BigDecimal pExodiscap){
  exodiscap=pExodiscap;
}

public static final String EXOTERED="EXOTERED";
/**Obtiene el valor de exotered
@return valor de exotered*/
public BigDecimal getExotered(){
  return exotered;
}
/**Fija el valor de exotered
@param pExotered nuevo Valor de exotered*/
public void setExotered(BigDecimal pExotered){
  exotered=pExotered;
}

public static final String BASIMP="BASIMP";
/**Obtiene el valor de basimp
@return valor de basimp*/
public BigDecimal getBasimp(){
  return basimp;
}
/**Fija el valor de basimp
@param pBasimp nuevo Valor de basimp*/
public void setBasimp(BigDecimal pBasimp){
  basimp=pBasimp;
}

public static final String IMPRENTCAUS="IMPRENTCAUS";
/**Obtiene el valor de imprentcaus
@return valor de imprentcaus*/
public BigDecimal getImprentcaus(){
  return imprentcaus;
}
/**Fija el valor de imprentcaus
@param pImprentcaus nuevo Valor de imprentcaus*/
public void setImprentcaus(BigDecimal pImprentcaus){
  imprentcaus=pImprentcaus;
}

public static final String VALRETASUOTROSEMPLS="VALRETASUOTROSEMPLS";
/**Obtiene el valor de valretasuotrosempls
@return valor de valretasuotrosempls*/
public BigDecimal getValretasuotrosempls(){
  return valretasuotrosempls;
}
/**Fija el valor de valretasuotrosempls
@param pValretasuotrosempls nuevo Valor de valretasuotrosempls*/
public void setValretasuotrosempls(BigDecimal pValretasuotrosempls){
  valretasuotrosempls=pValretasuotrosempls;
}

public static final String VALIMPASUESTEEMPL="VALIMPASUESTEEMPL";
/**Obtiene el valor de valimpasuesteempl
@return valor de valimpasuesteempl*/
public BigDecimal getValimpasuesteempl(){
  return valimpasuesteempl;
}
/**Fija el valor de valimpasuesteempl
@param pValimpasuesteempl nuevo Valor de valimpasuesteempl*/
public void setValimpasuesteempl(BigDecimal pValimpasuesteempl){
  valimpasuesteempl=pValimpasuesteempl;
}

public static final String VALRET="VALRET";
/**Obtiene el valor de valret
@return valor de valret*/
public BigDecimal getValret(){
  return valret;
}
/**Fija el valor de valret
@param pValret nuevo Valor de valret*/
public void setValret(BigDecimal pValret){
  valret=pValret;
}

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 CTIPODISCAPACIDAD="CTIPODISCAPACIDAD";
/**Obtiene el valor de ctipodiscapacidad
@return valor de ctipodiscapacidad*/
public String getCtipodiscapacidad(){
  return ctipodiscapacidad;
}
/**Fija el valor de ctipodiscapacidad
@param pCtipodiscapacidad nuevo Valor de ctipodiscapacidad*/
public void setCtipodiscapacidad(String pCtipodiscapacidad){
  ctipodiscapacidad=pCtipodiscapacidad;
}

public static final String PORCENTAJEDISCAPACIDAD="PORCENTAJEDISCAPACIDAD";
/**Obtiene el valor de porcentajediscapacidad
@return valor de porcentajediscapacidad*/
public BigDecimal getPorcentajediscapacidad(){
  return porcentajediscapacidad;
}
/**Fija el valor de porcentajediscapacidad
@param pPorcentajediscapacidad nuevo Valor de porcentajediscapacidad*/
public void setPorcentajediscapacidad(BigDecimal pPorcentajediscapacidad){
  porcentajediscapacidad=pPorcentajediscapacidad;
}

public static final String CPERSONA_DISCAPACITADO="CPERSONA_DISCAPACITADO";
/**Obtiene el valor de cpersona_discapacitado
@return valor de cpersona_discapacitado*/
public Integer getCpersona_discapacitado(){
  return cpersona_discapacitado;
}
/**Fija el valor de cpersona_discapacitado
@param pCpersona_discapacitado nuevo Valor de cpersona_discapacitado*/
public void setCpersona_discapacitado(Integer pCpersona_discapacitado){
  cpersona_discapacitado=pCpersona_discapacitado;
}

public static final String RECIDENCIATRAB="RECIDENCIATRAB";
/**Obtiene el valor de recidenciatrab
@return valor de recidenciatrab*/
public String getRecidenciatrab(){
  return recidenciatrab;
}
/**Fija el valor de recidenciatrab
@param pRecidenciatrab nuevo Valor de recidenciatrab*/
public void setRecidenciatrab(String pRecidenciatrab){
  recidenciatrab=pRecidenciatrab;
}

public static final String CODIGOPAIS="CODIGOPAIS";
/**Obtiene el valor de codigopais
@return valor de codigopais*/
public String getCodigopais(){
  return codigopais;
}
/**Fija el valor de codigopais
@param pCodigopais nuevo Valor de codigopais*/
public void setCodigopais(String pCodigopais){
  codigopais=pCodigopais;
}

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