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;

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

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

/**
* Codigo de la planilla del iess
*/
private String ccodigoiess;

/**
* Codigo de persona de la compania
*/
private Integer cpersona_compania;

/**
* Indica si el empleado tiene alguna discapacidad
*/
private String discapacitado;

/**
* Codigo de region del regimen de estudios
*/
private Integer cregion;

/**
* Indica si el pago mensual de los fondos de reserva del Empleado se los realiza por rol
*/
private String pagofondos;

/**
* Indica si la empresa asume el valor por aportacion al IESS del empleado
*/
private String asumeiess;

/**
* Indica si la Empresa Asume el impuesto a la renta del Empleado
*/
private String asumeir;

/**
* Indica si el empleado es directivo o no.
*/
private String directivo;

/**
* Numero de anios trabajados
*/
private Integer antiguedad;

/**
* 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;

/**
* Indica si el pago mensual del decimo tercer sueldo del Empleado se realiza por rol
*/
private String pagodecimotercero;

/**
* Indica si el pago mensual del decimo cuarto sueldo del Empleado se realiza por rol
*/
private String pagodecimocuarto;

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

public static final String CPERSONA_COMPANIA="CPERSONA_COMPANIA";
/**Obtiene el valor de cpersona_compania
@return valor de cpersona_compania*/
public Integer getCpersona_compania(){
  return cpersona_compania;
}
/**Fija el valor de cpersona_compania
@param pCpersona_compania nuevo Valor de cpersona_compania*/
public void setCpersona_compania(Integer pCpersona_compania){
  cpersona_compania=pCpersona_compania;
}

public static final String DISCAPACITADO="DISCAPACITADO";
/**Obtiene el valor de discapacitado
@return valor de discapacitado*/
public String getDiscapacitado(){
  return discapacitado;
}
/**Fija el valor de discapacitado
@param pDiscapacitado nuevo Valor de discapacitado*/
public void setDiscapacitado(String pDiscapacitado){
  discapacitado=pDiscapacitado;
}

public static final String CREGION="CREGION";
/**Obtiene el valor de cregion
@return valor de cregion*/
public Integer getCregion(){
  return cregion;
}
/**Fija el valor de cregion
@param pCregion nuevo Valor de cregion*/
public void setCregion(Integer pCregion){
  cregion=pCregion;
}

public static final String PAGOFONDOS="PAGOFONDOS";
/**Obtiene el valor de pagofondos
@return valor de pagofondos*/
public String getPagofondos(){
  return pagofondos;
}
/**Fija el valor de pagofondos
@param pPagofondos nuevo Valor de pagofondos*/
public void setPagofondos(String pPagofondos){
  pagofondos=pPagofondos;
}

public static final String ASUMEIESS="ASUMEIESS";
/**Obtiene el valor de asumeiess
@return valor de asumeiess*/
public String getAsumeiess(){
  return asumeiess;
}
/**Fija el valor de asumeiess
@param pAsumeiess nuevo Valor de asumeiess*/
public void setAsumeiess(String pAsumeiess){
  asumeiess=pAsumeiess;
}

public static final String ASUMEIR="ASUMEIR";
/**Obtiene el valor de asumeir
@return valor de asumeir*/
public String getAsumeir(){
  return asumeir;
}
/**Fija el valor de asumeir
@param pAsumeir nuevo Valor de asumeir*/
public void setAsumeir(String pAsumeir){
  asumeir=pAsumeir;
}

public static final String DIRECTIVO="DIRECTIVO";
/**Obtiene el valor de directivo
@return valor de directivo*/
public String getDirectivo(){
  return directivo;
}
/**Fija el valor de directivo
@param pDirectivo nuevo Valor de directivo*/
public void setDirectivo(String pDirectivo){
  directivo=pDirectivo;
}

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 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 PAGODECIMOTERCERO="PAGODECIMOTERCERO";
/**Obtiene el valor de pagodecimotercero
@return valor de pagodecimotercero*/
public String getPagodecimotercero(){
  return pagodecimotercero;
}
/**Fija el valor de pagodecimotercero
@param pPagodecimotercero nuevo Valor de pagodecimotercero*/
public void setPagodecimotercero(String pPagodecimotercero){
  pagodecimotercero=pPagodecimotercero;
}

public static final String PAGODECIMOCUARTO="PAGODECIMOCUARTO";
/**Obtiene el valor de pagodecimocuarto
@return valor de pagodecimocuarto*/
public String getPagodecimocuarto(){
  return pagodecimocuarto;
}
/**Fija el valor de pagodecimocuarto
@param pPagodecimocuarto nuevo Valor de pagodecimocuarto*/
public void setPagodecimocuarto(String pPagodecimocuarto){
  pagodecimocuarto=pPagodecimocuarto;
}

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