package com.fitbank.hb.persistence.safe;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TCOMPANIAUSUARIOS*/
public class Tusercompany extends AbstractExpire  implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId{
/** Nombre de la Tabla TCOMPANIAUSUARIOS */
public static final String TABLE_NAME = "TCOMPANIAUSUARIOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tusercompany
*/
private TusercompanyKey pk;
/**
* Fecha desde la que esta vigente la asignacion de un usuario a una compania
*/
private Timestamp fdesde;

/**
* Codigo de la sucursal
*/
private Integer csucursal;

/**
* Codigo de la oficina
*/
private Integer coficina;

/**
* Codigo del departamento
*/
private Integer cdepartamento;

/**
* Codigo de la region
*/
private Integer cregion;

/**
* Codigo de area del usuario de la compania
*/
private String carea;

/**
* Codigo del rol de usuario por compania
*/
private Integer crol;

/**
* Codigo del pais
*/
private String cpais;

/**
* Codigo de la provincia
*/
private String cprovincia;

/**
* Codigo de ciudad
*/
private String cciudad;

/**
* Nivel de autoridad definido para el usuario en una compania
*/
private Integer nivelautoridad;

/**
* Nivel de seguridad definido para el usuario en una compania
*/
private Integer nivelseguridad;

/**
* Codigo unico numerico de usuario para el usuario
*/
private Integer ccodigousuario;

/**
* Manejo de optimistic loking
*/
private Integer versioncontrol;

/**
* Observaciones sobre la asignacion del rol por compania a un usuario
*/
private String observaciones;

/**
* Codigo del usuario que modifica los datos del registro de usuario
*/
private String cusuario_modificacion;

/**
* Codigo del punto de trabajo.
*/
private String cpuntotrabajo;

/**
* Codigo de la division de la persona de la compania.
*/
private String codigodivision;

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

/**
* Codigo de la unidad de un deparmtamento de persona de la compania.
*/
private String codigounidad;

/**
* Codigo del nivel de aprobacion del archivo crediticio
*/
private String cnivelaprobacion;

/**
* Codigo del terminal del usuario
*/
private String cterminal;

/**Contructor por defecto*/
public Tusercompany(){}
/**Contructor de Tusercompany
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la asignacion de un usuario a una compania
@param pNivelseguridad Nivel de seguridad definido para el usuario en una compania
@param pCcodigousuario Codigo unico numerico de usuario para el usuario
*/
public Tusercompany(TusercompanyKey pPk,Timestamp pFdesde,Integer pNivelseguridad,Integer pCcodigousuario){
 pk=pPk;
 fdesde=pFdesde;
 nivelseguridad=pNivelseguridad;
 ccodigousuario=pCcodigousuario;
}
/**Entrega la Clave primaria de Tusercompany
@return El objeto que referencia a la Clave primaria de Tusercompany
*/
public TusercompanyKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tusercompany
@param pPk El objeto que referencia a la nueva Clave primaria de Tusercompany
*/
public void setPk(TusercompanyKey pPk){
  pk=pPk;
}
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 CSUCURSAL="CSUCURSAL";
/**Obtiene el valor de csucursal
@return valor de csucursal*/
public Integer getCsucursal(){
  return csucursal;
}
/**Fija el valor de csucursal
@param pCsucursal nuevo Valor de csucursal*/
public void setCsucursal(Integer pCsucursal){
  csucursal=pCsucursal;
}

public static final String COFICINA="COFICINA";
/**Obtiene el valor de coficina
@return valor de coficina*/
public Integer getCoficina(){
  return coficina;
}
/**Fija el valor de coficina
@param pCoficina nuevo Valor de coficina*/
public void setCoficina(Integer pCoficina){
  coficina=pCoficina;
}

public static final String CDEPARTAMENTO="CDEPARTAMENTO";
/**Obtiene el valor de cdepartamento
@return valor de cdepartamento*/
public Integer getCdepartamento(){
  return cdepartamento;
}
/**Fija el valor de cdepartamento
@param pCdepartamento nuevo Valor de cdepartamento*/
public void setCdepartamento(Integer pCdepartamento){
  cdepartamento=pCdepartamento;
}

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 CAREA="CAREA";
/**Obtiene el valor de carea
@return valor de carea*/
public String getCarea(){
  return carea;
}
/**Fija el valor de carea
@param pCarea nuevo Valor de carea*/
public void setCarea(String pCarea){
  carea=pCarea;
}

public static final String CROL="CROL";
/**Obtiene el valor de crol
@return valor de crol*/
public Integer getCrol(){
  return crol;
}
/**Fija el valor de crol
@param pCrol nuevo Valor de crol*/
public void setCrol(Integer pCrol){
  crol=pCrol;
}

public static final String CPAIS="CPAIS";
/**Obtiene el valor de cpais
@return valor de cpais*/
public String getCpais(){
  return cpais;
}
/**Fija el valor de cpais
@param pCpais nuevo Valor de cpais*/
public void setCpais(String pCpais){
  cpais=pCpais;
}

public static final String CPROVINCIA="CPROVINCIA";
/**Obtiene el valor de cprovincia
@return valor de cprovincia*/
public String getCprovincia(){
  return cprovincia;
}
/**Fija el valor de cprovincia
@param pCprovincia nuevo Valor de cprovincia*/
public void setCprovincia(String pCprovincia){
  cprovincia=pCprovincia;
}

public static final String CCIUDAD="CCIUDAD";
/**Obtiene el valor de cciudad
@return valor de cciudad*/
public String getCciudad(){
  return cciudad;
}
/**Fija el valor de cciudad
@param pCciudad nuevo Valor de cciudad*/
public void setCciudad(String pCciudad){
  cciudad=pCciudad;
}

public static final String NIVELAUTORIDAD="NIVELAUTORIDAD";
/**Obtiene el valor de nivelautoridad
@return valor de nivelautoridad*/
public Integer getNivelautoridad(){
  return nivelautoridad;
}
/**Fija el valor de nivelautoridad
@param pNivelautoridad nuevo Valor de nivelautoridad*/
public void setNivelautoridad(Integer pNivelautoridad){
  nivelautoridad=pNivelautoridad;
}

public static final String NIVELSEGURIDAD="NIVELSEGURIDAD";
/**Obtiene el valor de nivelseguridad
@return valor de nivelseguridad*/
public Integer getNivelseguridad(){
  return nivelseguridad;
}
/**Fija el valor de nivelseguridad
@param pNivelseguridad nuevo Valor de nivelseguridad*/
public void setNivelseguridad(Integer pNivelseguridad){
  nivelseguridad=pNivelseguridad;
}

public static final String CCODIGOUSUARIO="CCODIGOUSUARIO";
/**Obtiene el valor de ccodigousuario
@return valor de ccodigousuario*/
public Integer getCcodigousuario(){
  return ccodigousuario;
}
/**Fija el valor de ccodigousuario
@param pCcodigousuario nuevo Valor de ccodigousuario*/
public void setCcodigousuario(Integer pCcodigousuario){
  ccodigousuario=pCcodigousuario;
}

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 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 CUSUARIO_MODIFICACION="CUSUARIO_MODIFICACION";
/**Obtiene el valor de cusuario_modificacion
@return valor de cusuario_modificacion*/
public String getCusuario_modificacion(){
  return cusuario_modificacion;
}
/**Fija el valor de cusuario_modificacion
@param pCusuario_modificacion nuevo Valor de cusuario_modificacion*/
public void setCusuario_modificacion(String pCusuario_modificacion){
  cusuario_modificacion=pCusuario_modificacion;
}

public static final String CPUNTOTRABAJO="CPUNTOTRABAJO";
/**Obtiene el valor de cpuntotrabajo
@return valor de cpuntotrabajo*/
public String getCpuntotrabajo(){
  return cpuntotrabajo;
}
/**Fija el valor de cpuntotrabajo
@param pCpuntotrabajo nuevo Valor de cpuntotrabajo*/
public void setCpuntotrabajo(String pCpuntotrabajo){
  cpuntotrabajo=pCpuntotrabajo;
}

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 CNIVELAPROBACION="CNIVELAPROBACION";
/**Obtiene el valor de cnivelaprobacion
@return valor de cnivelaprobacion*/
public String getCnivelaprobacion(){
  return cnivelaprobacion;
}
/**Fija el valor de cnivelaprobacion
@param pCnivelaprobacion nuevo Valor de cnivelaprobacion*/
public void setCnivelaprobacion(String pCnivelaprobacion){
  cnivelaprobacion=pCnivelaprobacion;
}

public static final String CTERMINAL="CTERMINAL";
/**Obtiene el valor de cterminal
@return valor de cterminal*/
public String getCterminal(){
  return cterminal;
}
/**Fija el valor de cterminal
@param pCterminal nuevo Valor de cterminal*/
public void setCterminal(String pCterminal){
  cterminal=pCterminal;
}

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