package com.fp.persistence.pcustomer.gene; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import java.sql.Timestamp; import com.fp.dto.hb.Log; import javax.persistence.Column; import javax.persistence.EntityManager; import java.io.Serializable; import javax.persistence.Table; import com.fp.dto.hb.HibernateBean; import javax.persistence.Version; import java.lang.reflect.Field; import javax.persistence.Transient; import java.sql.Date; import javax.persistence.NoResultException; import com.fp.general.exception.GeneralException; import com.fp.common.helper.Constant; import javax.persistence.Query; /**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TCUSTPERSONDETAIL*/ @Entity(name="TcustPersonDetail") @Table(name="TCUSTPERSONDETAIL") public class TcustPersonDetail extends com.fp.dto.AbstractDataTransport implements Serializable,HibernateBean,Cloneable,Log{ /** * HashCode asociado con la Instancia */ @Transient private int hashValue = 0; /** * Version de la Clase */ private static final long serialVersionUID = 1L; /** * Clave primaria de la Entidad TcustPersonDetail */ @EmbeddedId private TcustPersonDetailKey pk; @Version @Column(name="RECORDVERSION", nullable=false) /** * Optimistic locking del registro */ private Integer recordversion; @Column(name="DATEFROM", nullable=true) /** * Fecha desde la cual esta vigente el registro */ private Timestamp datefrom; @Column(name="NAME", nullable=false) /** * Nombre Legal de la persona */ private String name; @Column(name="NICKNAME", nullable=true) /** * Nombre preferido */ private String nickname; @Column(name="IDENTIFICATIONCATALOG", nullable=true) /** * CED, Cedula, RUC ruc, PAS pasoporte etc. */ private String identificationcatalog; @Column(name="IDENTIFICATIONCATALOGCODE", nullable=true) /** * Codigo de tabla de catalogo IDENTIFICATION */ private String identificationcatalogcode; @Column(name="IDENTIFICATION", nullable=false) /** * Numero de cedula, ruc, pasaporte, etc.. */ private String identification; @Column(name="INGRESSUSER", nullable=true) /** * Codigo de usuario que crea el cliente */ private String ingressuser; @Column(name="MODIFYUSER", nullable=true) /** * Codigo de usuario que modifica datos del cliente */ private String modifyuser; @Column(name="LANGUAGECODE", nullable=true) /** * Codigo de idioma */ private String languagecode; @Column(name="OFFICECODE", nullable=true) /** * Codigo de oficina en la que se ingreso la persona. */ private Integer officecode; @Column(name="BRANCHCODE", nullable=true) /** * Codigo de sucursal en la que se ingreso la persona. */ private Integer branchcode; @Column(name="COMPANYCODE", nullable=true) /** * Codigo de compania al que pertenece la oficina */ private Integer companycode; @Column(name="PERSONTYPECATALOG", nullable=true) /** * Codigo de catalogo 1 Natural, 2 Juridico */ private String persontypecatalog; @Column(name="PERSONTYPECATALOGCODE", nullable=true) /** * Codigo de tabla de catalogo PERSONTYPE, de tipo de persona */ private String persontypecatalogcode; @Column(name="REGISTERDATE", nullable=true) /** * Fecha de ingreso inicial de la persona. */ private Date registerdate; @Column(name="INNERSCORE", nullable=true) /** * Calificacion interna del banco. */ private String innerscore; @Column(name="PARTHNERNUMBER", nullable=true) /** * Codigo de socio */ private String parthnernumber; @Column(name="DATEEXPIDENTIFICATION", nullable=true) /** * Fecha de caducidad del documento de identidad */ private Date dateexpidentification; @Column(name="TAXEXEMPT", nullable=true) /** * Excento de impuesto */ private String taxexempt; @Column(name="CLIENTTYPECATALOG", nullable=true) /** * Persona natural, Publica Financiera, Privada Financiera */ private String clienttypecatalog; @Column(name="CLIENTTYPECATALOGCODE", nullable=true) /** * Codigo de tabla de catalogo CLIENTTYPE Tipo de Cliente */ private String clienttypecatalogcode; @Column(name="ECONOMICSECTORCATALOG", nullable=true) /** * Tipos de Sector: Gobierno central, hogares, No residentes , Empresas */ private String economicsectorcatalog; @Column(name="ECONOMICSECTORCATALOGCODE", nullable=true) /** * Codigo de tabla de catalogo ECONOMICSECTOR Tipo de Sector */ private String economicsectorcatalogcode; @Column(name="ACTIVITYCODE", nullable=true) /** * Codigo de actividad */ private String activitycode; @Column(name="ISMIGRATED", nullable=true) /** * Y, indica que la informacion actual del cliente proviene de una migracion. */ private String ismigrated; @Column(name="SBSEMPLOYEE", nullable=true) /** * Codigo de empleado de la sbs */ private String sbsemployee; @Column(name="SBSUSERCODE", nullable=true) /** * Codigo de usuario utilizado en la sbs, se utiliza en la integracion con CAS */ private String sbsusercode; @Column(name="LEGALREPRESENT", nullable=true) /** * null */ private String legalrepresent; @Column(name="LEGALREPRESENTIDENTIFICATION", nullable=true) /** * null */ private String legalrepresentidentification; @Column(name="MILITARYGRADE", nullable=true) /** * Catalog del grado del militar en la tabla de catálogos */ private String militarygrade; @Column(name="MILITARYGRADECODE", nullable=true) /** * Catalogcode del grado del militar en la tabla de catálogos */ private String militarygradecode; @Column(name="SIGN", nullable=true,length = 100000) /** * Firma digital */ private byte[] sign; @Column(name="PICTURE", nullable=true,length = 100000) /** * Firma digital */ private byte[] picture; @Column(name = "PHOTO", nullable = true) /** * Codigo de imagen */ private Integer photo; @Column(name="ECONIMICACT", nullable=true) /** * Valor de la actividad economica */ private String econimicact; /**Contructor por defecto*/ public TcustPersonDetail(){ } /**Contructor de TcustPersonDetail @param pPk Clave Primaria del entity @param pRecordversion Optimistic locking del registro @param pName Nombre Legal de la persona @param pIdentification Numero de cedula, ruc, pasaporte, etc.. */ public TcustPersonDetail(TcustPersonDetailKey pPk,Integer pRecordversion,String pName,String pIdentification){ this(); pk=pPk; recordversion=pRecordversion; name=pName; identification=pIdentification; } /** * Metodo que entrega datos de la tabla dada la clave primaria. * @param pEntityManager referencia de la session a obtener datos del bean. * @param pKey Caleve primaria del bean. * @return TcustPersonDetail */ public static TcustPersonDetail find(EntityManager pEntityManager,TcustPersonDetailKey pKey) throws Exception{ TcustPersonDetail obj = pEntityManager.find(TcustPersonDetail.class,pKey); return obj; } /**Entrega la Clave primaria de TcustPersonDetail @return El objeto que referencia a la Clave primaria de TcustPersonDetail */ public TcustPersonDetailKey getPk(){ return pk; } /**Fija un nuevo valor a la Clave primaria de TcustPersonDetail @param pPk El objeto que referencia a la nueva Clave primaria de TcustPersonDetail */ public void setPk(TcustPersonDetailKey pPk){ pk=pPk; } /**Obtiene el valor de recordversion @return valor de recordversion*/ public Integer getRecordversion(){ return recordversion; } /**Fija el valor de recordversion @param pRecordversion nuevo Valor de recordversion*/ public void setRecordversion(Integer pRecordversion){ recordversion=pRecordversion; } /**Obtiene el valor de datefrom @return valor de datefrom*/ public Timestamp getDatefrom(){ return datefrom; } /**Fija el valor de datefrom @param pDatefrom nuevo Valor de datefrom*/ public void setDatefrom(Timestamp pDatefrom){ datefrom=pDatefrom; } /**Obtiene el valor de name @return valor de name*/ public String getName(){ return name; } /**Fija el valor de name @param pName nuevo Valor de name*/ public void setName(String pName){ name=pName; } /**Obtiene el valor de nickname @return valor de nickname*/ public String getNickname(){ return nickname; } /**Fija el valor de nickname @param pNickname nuevo Valor de nickname*/ public void setNickname(String pNickname){ nickname=pNickname; } /**Obtiene el valor de identificationcatalog @return valor de identificationcatalog*/ public String getIdentificationcatalog(){ return identificationcatalog; } /**Fija el valor de identificationcatalog @param pIdentificationcatalog nuevo Valor de identificationcatalog*/ public void setIdentificationcatalog(String pIdentificationcatalog){ identificationcatalog=pIdentificationcatalog; } /**Obtiene el valor de identificationcatalogcode @return valor de identificationcatalogcode*/ public String getIdentificationcatalogcode(){ return identificationcatalogcode; } /**Fija el valor de identificationcatalogcode @param pIdentificationcatalogcode nuevo Valor de identificationcatalogcode*/ public void setIdentificationcatalogcode(String pIdentificationcatalogcode){ identificationcatalogcode=pIdentificationcatalogcode; } /**Obtiene el valor de identification @return valor de identification*/ public String getIdentification(){ return identification; } /**Fija el valor de identification @param pIdentification nuevo Valor de identification*/ public void setIdentification(String pIdentification){ identification=pIdentification; } /**Obtiene el valor de ingressuser @return valor de ingressuser*/ public String getIngressuser(){ return ingressuser; } /**Fija el valor de ingressuser @param pIngressuser nuevo Valor de ingressuser*/ public void setIngressuser(String pIngressuser){ ingressuser=pIngressuser; } /**Obtiene el valor de modifyuser @return valor de modifyuser*/ public String getModifyuser(){ return modifyuser; } /**Fija el valor de modifyuser @param pModifyuser nuevo Valor de modifyuser*/ public void setModifyuser(String pModifyuser){ modifyuser=pModifyuser; } /**Obtiene el valor de languagecode @return valor de languagecode*/ public String getLanguagecode(){ return languagecode; } /**Fija el valor de languagecode @param pLanguagecode nuevo Valor de languagecode*/ public void setLanguagecode(String pLanguagecode){ languagecode=pLanguagecode; } /**Obtiene el valor de officecode @return valor de officecode*/ public Integer getOfficecode(){ return officecode; } /**Fija el valor de officecode @param pOfficecode nuevo Valor de officecode*/ public void setOfficecode(Integer pOfficecode){ officecode=pOfficecode; } /**Obtiene el valor de branchcode @return valor de branchcode*/ public Integer getBranchcode(){ return branchcode; } /**Fija el valor de branchcode @param pBranchcode nuevo Valor de branchcode*/ public void setBranchcode(Integer pBranchcode){ branchcode=pBranchcode; } /**Obtiene el valor de companycode @return valor de companycode*/ public Integer getCompanycode(){ return companycode; } /**Fija el valor de companycode @param pCompanycode nuevo Valor de companycode*/ public void setCompanycode(Integer pCompanycode){ companycode=pCompanycode; } /**Obtiene el valor de persontypecatalog @return valor de persontypecatalog*/ public String getPersontypecatalog(){ return persontypecatalog; } /**Fija el valor de persontypecatalog @param pPersontypecatalog nuevo Valor de persontypecatalog*/ public void setPersontypecatalog(String pPersontypecatalog){ persontypecatalog=pPersontypecatalog; } /**Obtiene el valor de persontypecatalogcode @return valor de persontypecatalogcode*/ public String getPersontypecatalogcode(){ return persontypecatalogcode; } /**Fija el valor de persontypecatalogcode @param pPersontypecatalogcode nuevo Valor de persontypecatalogcode*/ public void setPersontypecatalogcode(String pPersontypecatalogcode){ persontypecatalogcode=pPersontypecatalogcode; } /**Obtiene el valor de registerdate @return valor de registerdate*/ public Date getRegisterdate(){ return registerdate; } /**Fija el valor de registerdate @param pRegisterdate nuevo Valor de registerdate*/ public void setRegisterdate(Date pRegisterdate){ registerdate=pRegisterdate; } /**Obtiene el valor de innerscore @return valor de innerscore*/ public String getInnerscore(){ return innerscore; } /**Fija el valor de innerscore @param pInnerscore nuevo Valor de innerscore*/ public void setInnerscore(String pInnerscore){ innerscore=pInnerscore; } /**Obtiene el valor de parthnernumber @return valor de parthnernumber*/ public String getParthnernumber(){ return parthnernumber; } /**Fija el valor de parthnernumber @param pParthnernumber nuevo Valor de parthnernumber*/ public void setParthnernumber(String pParthnernumber){ parthnernumber=pParthnernumber; } /**Obtiene el valor de dateexpidentification @return valor de dateexpidentification*/ public Date getDateexpidentification(){ return dateexpidentification; } /**Fija el valor de dateexpidentification @param pDateexpidentification nuevo Valor de dateexpidentification*/ public void setDateexpidentification(Date pDateexpidentification){ dateexpidentification=pDateexpidentification; } /**Obtiene el valor de taxexempt @return valor de taxexempt*/ public String getTaxexempt(){ return taxexempt; } /**Fija el valor de taxexempt @param pTaxexempt nuevo Valor de taxexempt*/ public void setTaxexempt(String pTaxexempt){ taxexempt=pTaxexempt; } /**Obtiene el valor de clienttypecatalog @return valor de clienttypecatalog*/ public String getClienttypecatalog(){ return clienttypecatalog; } /**Fija el valor de clienttypecatalog @param pClienttypecatalog nuevo Valor de clienttypecatalog*/ public void setClienttypecatalog(String pClienttypecatalog){ clienttypecatalog=pClienttypecatalog; } /**Obtiene el valor de clienttypecatalogcode @return valor de clienttypecatalogcode*/ public String getClienttypecatalogcode(){ return clienttypecatalogcode; } /**Fija el valor de clienttypecatalogcode @param pClienttypecatalogcode nuevo Valor de clienttypecatalogcode*/ public void setClienttypecatalogcode(String pClienttypecatalogcode){ clienttypecatalogcode=pClienttypecatalogcode; } /**Obtiene el valor de economicsectorcatalog @return valor de economicsectorcatalog*/ public String getEconomicsectorcatalog(){ return economicsectorcatalog; } /**Fija el valor de economicsectorcatalog @param pEconomicsectorcatalog nuevo Valor de economicsectorcatalog*/ public void setEconomicsectorcatalog(String pEconomicsectorcatalog){ economicsectorcatalog=pEconomicsectorcatalog; } /**Obtiene el valor de economicsectorcatalogcode @return valor de economicsectorcatalogcode*/ public String getEconomicsectorcatalogcode(){ return economicsectorcatalogcode; } /**Fija el valor de economicsectorcatalogcode @param pEconomicsectorcatalogcode nuevo Valor de economicsectorcatalogcode*/ public void setEconomicsectorcatalogcode(String pEconomicsectorcatalogcode){ economicsectorcatalogcode=pEconomicsectorcatalogcode; } /**Obtiene el valor de activitycode @return valor de activitycode*/ public String getActivitycode(){ return activitycode; } /**Fija el valor de activitycode @param pActivitycode nuevo Valor de activitycode*/ public void setActivitycode(String pActivitycode){ activitycode=pActivitycode; } /**Obtiene el valor de ismigrated @return valor de ismigrated*/ public String getIsmigrated(){ return ismigrated; } /**Fija el valor de ismigrated @param pIsmigrated nuevo Valor de ismigrated*/ public void setIsmigrated(String pIsmigrated){ ismigrated=pIsmigrated; } /**Obtiene el valor de sbsemployee @return valor de sbsemployee*/ public String getSbsemployee(){ return sbsemployee; } /**Fija el valor de sbsemployee @param pSbsemployee nuevo Valor de sbsemployee*/ public void setSbsemployee(String pSbsemployee){ sbsemployee=pSbsemployee; } /**Obtiene el valor de sbsusercode @return valor de sbsusercode*/ public String getSbsusercode(){ return sbsusercode; } /**Fija el valor de sbsusercode @param pSbsusercode nuevo Valor de sbsusercode*/ public void setSbsusercode(String pSbsusercode){ sbsusercode=pSbsusercode; } /**Obtiene el valor de legalrepresent @return valor de legalrepresent*/ public String getLegalrepresent(){ return legalrepresent; } /**Fija el valor de legalrepresent @param pLegalrepresent nuevo Valor de legalrepresent*/ public void setLegalrepresent(String pLegalrepresent){ legalrepresent=pLegalrepresent; } /**Obtiene el valor de legalrepresentidentification @return valor de legalrepresentidentification*/ public String getLegalrepresentidentification(){ return legalrepresentidentification; } /**Fija el valor de legalrepresentidentification @param pLegalrepresentidentification nuevo Valor de legalrepresentidentification*/ public void setLegalrepresentidentification(String pLegalrepresentidentification){ legalrepresentidentification=pLegalrepresentidentification; } /**Obtiene el valor de militarygrade @return valor de militarygrade*/ public String getMilitarygrade(){ return militarygrade; } /**Fija el valor de militarygrade @param pMilitarygrade nuevo Valor de militarygrade*/ public void setMilitarygrade(String pMilitarygrade){ militarygrade=pMilitarygrade; } /**Obtiene el valor de militarygradecode @return valor de militarygradecode*/ public String getMilitarygradecode(){ return militarygradecode; } /**Fija el valor de militarygradecode @param pMilitarygradecode nuevo Valor de militarygradecode*/ public void setMilitarygradecode(String pMilitarygradecode){ militarygradecode=pMilitarygradecode; } /**Obtiene el valor de sign @return valor de sign*/ public byte[] getSign() { return sign; } /**Fija el valor de sign @param pMilitarygradecode nuevo Valor de sign*/ public void setSign(byte[] sign) { this.sign = sign; } /**Obtiene el valor de picture @return valor de picture*/ public byte[] getPicture() { return picture; } /**Fija el valor de picture @param pMilitarygradecode nuevo Valor de picture*/ public void setPicture(byte[] picture) { this.picture = picture; } /**Obtiene el valor de photo @return valor de photo*/ public Integer getPhoto() { return photo; } /**Fija el valor de v @param pMilitarygradecode nuevo Valor de photo*/ public void setPhoto(Integer photo) { this.photo = photo; } /**Obtiene el valor de actividad economica @return valor de econimicact*/ public String getEconimicact() { return econimicact; } /**Fija el valor de actividad economica @param pEconimicact nuevo Valor de econimicact*/ public void setEconimicact(String pEconimicact){ this.econimicact=pEconimicact; } public boolean equals(Object rhs){ if (rhs == null)return false; if (! (rhs instanceof TcustPersonDetail))return false; TcustPersonDetail that = (TcustPersonDetail) rhs; if (this.getPk() == null || that.getPk() == null) return false; return (this.getPk().equals(that.getPk())); } /**Implementacion del metodo hashCode de la la entidad TcustPersonDetail @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; } /**Implementacion toString */ public String toString() { Field[]fs=this.getClass().getDeclaredFields(); String data=""; for(Field f:fs){ try{ String name=f.getName(); if(f.getType().getName().compareTo("java.util.Set")==0)continue; 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; } /**Implementacion de la creacion de un bean en blanco TcustPersonDetail */ public Object createInstance(){ TcustPersonDetail instance=new TcustPersonDetail(); instance.setPk(new TcustPersonDetailKey()); return instance; } /**Clona la entidad TcustPersonDetail @see com.fp.dto.hb.HibernateBean#cloneMe() */ public Object cloneMe() throws CloneNotSupportedException{ TcustPersonDetail p=(TcustPersonDetail)this.clone(); p.setPk((TcustPersonDetailKey)this.pk.cloneMe()); return p; } public Object getId() { return this.pk; } public static TcustPersonDetail find(EntityManager pEntityManager, Integer pPersonCode) throws Exception { TcustPersonDetail tcustPersonDetail = null; Query qry = pEntityManager.createQuery("from TcustPersonDetail tpd where tpd.pk.personcode = :personcode and tpd.pk.dateto = :dateto"); qry.setParameter("personcode", pPersonCode); qry.setParameter("dateto", Constant.getDefaultExpiryDate()); try { tcustPersonDetail = (TcustPersonDetail)qry.getSingleResult(); } catch (NoResultException e) { throw new GeneralException("CUST-0001", "PERSONA NO DEFINIDA EN TCUSTPERSONDETAIL: PERSONCODE:{0}", new Object[] { pPersonCode }); } return tcustPersonDetail; } }