maia/.svn/pristine/e8/e8740a19392af6fbfd83d4f3ec3...

575 lines
16 KiB
Plaintext
Executable File
Raw Permalink Blame History

package com.fp.persistence.pgeneral.gene;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import com.fp.common.helper.Constant;
import com.fp.dto.hb.HibernateBean;
import com.fp.teller.exception.TellerException;
/** Clase que implementa la entidad de Hibernate que hace referencia a la tabla TGENETELLERTRANSFERHEADER */
@Entity(name = "TgeneTellerTransferHeader")
@Table(name = "TGENETELLERTRANSFERHEADER")
public class TgeneTellerTransferHeader extends com.fp.dto.AbstractDataTransport
implements
Serializable,
HibernateBean,
Cloneable {
/**
* 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 TgeneTellerTransferHeader
*/
@EmbeddedId
private TgeneTellerTransferHeaderKey pk;
@Column(name = "DATEFROM", nullable = true)
/**
* Numero de mensaje con el que se procersa el financiero.
*/
private Timestamp datefrom;
@Column(name = "CURRENCYCODE", nullable = false)
/**
* Codigo de moneda
*/
private String currencycode;
@Column(name = "OFFICECODE", nullable = false)
/**
* Codigo de oficina origen
*/
private Integer officecode;
@Column(name = "BRANCHCODE", nullable = false)
/**
* Codigo de sucursal origen
*/
private Integer branchcode;
@Column(name = "COMPANYCODE", nullable = false)
/**
* Codigo de compania al que pertenece la oficina
*/
private Integer companycode;
@Column(name = "DESTINYUSERCODE", nullable = true)
/**
* Codigo de usuario destino
*/
private String destinyusercode;
@Column(name = "DESTINYOFFICECODE", nullable = true)
/**
* Codigo de oficina destino
*/
private Integer destinyofficecode;
@Column(name = "DESTINYBRANCHCODE", nullable = true)
/**
* Codigo de sucursal destino
*/
private Integer destinybranchcode;
@Column(name = "STATUSCATALOG", nullable = true)
/**
* Codigo de catalogo 01 Natural, 02 Juridico
*/
private String statuscatalog;
@Column(name = "STATUSCATALOGCODE", nullable = true)
/**
* Codigo de tabla de catalogo 01 Codigo de tabla de tipos de persona
*/
private String statuscatalogcode;
@Column(name = "ISVAULT", nullable = true)
/**
* Y indica que la transferencia de saldos en de Boveda
*/
private String isvault;
@Column(name = "TOTAL", nullable = true)
/**
* Monto total de la transaccion
*/
private BigDecimal total;
@Column(name = "JOURNALID", nullable = true)
/**
* Numero de mensaje con el que se procersa el financiero.
*/
private String journalid;
@Column(name = "OLDJOURNALID", nullable = true)
/**
* Numero de mensaje anterior se utiliza en los reversos.
*/
private String oldjournalid;
/** Contructor por defecto */
public TgeneTellerTransferHeader() {
}
/**
* Contructor de TgeneTellerTransferHeader
*
* @param pPk Clave Primaria del entity
* @param pCurrencycode Codigo de moneda
* @param pOfficecode Codigo de oficina origen
* @param pBranchcode Codigo de sucursal origen
* @param pCompanycode Codigo de compania al que pertenece la oficina
*/
public TgeneTellerTransferHeader(TgeneTellerTransferHeaderKey pPk, String pCurrencycode, Integer pOfficecode,
Integer pBranchcode, Integer pCompanycode) {
this();
pk = pPk;
currencycode = pCurrencycode;
officecode = pOfficecode;
branchcode = pBranchcode;
companycode = pCompanycode;
}
/**
* 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 TgeneTellerTransferHeader
*/
public static TgeneTellerTransferHeader find(EntityManager pEntityManager, TgeneTellerTransferHeaderKey pKey)
throws Exception {
TgeneTellerTransferHeader obj = pEntityManager.find(TgeneTellerTransferHeader.class, pKey);
return obj;
}
/**
* Entrega la Clave primaria de TgeneTellerTransferHeader
*
* @return El objeto que referencia a la Clave primaria de TgeneTellerTransferHeader
*/
public TgeneTellerTransferHeaderKey getPk() {
return pk;
}
/**
* Fija un nuevo valor a la Clave primaria de TgeneTellerTransferHeader
*
* @param pPk El objeto que referencia a la nueva Clave primaria de TgeneTellerTransferHeader
*/
public void setPk(TgeneTellerTransferHeaderKey pPk) {
pk = pPk;
}
/**
* 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 currencycode
*
* @return valor de currencycode
*/
public String getCurrencycode() {
return currencycode;
}
/**
* Fija el valor de currencycode
*
* @param pCurrencycode nuevo Valor de currencycode
*/
public void setCurrencycode(String pCurrencycode) {
currencycode = pCurrencycode;
}
/**
* 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 destinyusercode
*
* @return valor de destinyusercode
*/
public String getDestinyusercode() {
return destinyusercode;
}
/**
* Fija el valor de destinyusercode
*
* @param pDestinyusercode nuevo Valor de destinyusercode
*/
public void setDestinyusercode(String pDestinyusercode) {
destinyusercode = pDestinyusercode;
}
/**
* Obtiene el valor de destinyofficecode
*
* @return valor de destinyofficecode
*/
public Integer getDestinyofficecode() {
return destinyofficecode;
}
/**
* Fija el valor de destinyofficecode
*
* @param pDestinyofficecode nuevo Valor de destinyofficecode
*/
public void setDestinyofficecode(Integer pDestinyofficecode) {
destinyofficecode = pDestinyofficecode;
}
/**
* Obtiene el valor de destinybranchcode
*
* @return valor de destinybranchcode
*/
public Integer getDestinybranchcode() {
return destinybranchcode;
}
/**
* Fija el valor de destinybranchcode
*
* @param pDestinybranchcode nuevo Valor de destinybranchcode
*/
public void setDestinybranchcode(Integer pDestinybranchcode) {
destinybranchcode = pDestinybranchcode;
}
/**
* Obtiene el valor de statuscatalog
*
* @return valor de statuscatalog
*/
public String getStatuscatalog() {
return statuscatalog;
}
/**
* Fija el valor de statuscatalog
*
* @param pStatuscatalog nuevo Valor de statuscatalog
*/
public void setStatuscatalog(String pStatuscatalog) {
statuscatalog = pStatuscatalog;
}
/**
* Obtiene el valor de statuscatalogcode
*
* @return valor de statuscatalogcode
*/
public String getStatuscatalogcode() {
return statuscatalogcode;
}
/**
* Fija el valor de statuscatalogcode
*
* @param pStatuscatalogcode nuevo Valor de statuscatalogcode
*/
public void setStatuscatalogcode(String pStatuscatalogcode) {
statuscatalogcode = pStatuscatalogcode;
}
/**
* Obtiene el valor de isvault
*
* @return valor de isvault
*/
public String getIsvault() {
return isvault;
}
/**
* Fija el valor de isvault
*
* @param pIsvault nuevo Valor de isvault
*/
public void setIsvault(String pIsvault) {
isvault = pIsvault;
}
/**
* Obtiene el valor de total
*
* @return valor de total
*/
public BigDecimal getTotal() {
return total;
}
/**
* Fija el valor de total
*
* @param pTotal nuevo Valor de total
*/
public void setTotal(BigDecimal pTotal) {
total = pTotal;
}
/**
* Obtiene el valor de journalid
*
* @return valor de journalid
*/
public String getJournalid() {
return journalid;
}
/**
* Fija el valor de journalid
*
* @param pJournalid nuevo Valor de journalid
*/
public void setJournalid(String pJournalid) {
journalid = pJournalid;
}
/**
* Obtiene el valor de oldjournalid
*
* @return valor de oldjournalid
*/
public String getOldjournalid() {
return oldjournalid;
}
/**
* Fija el valor de oldjournalid
*
* @param pOldjournalid nuevo Valor de oldjournalid
*/
public void setOldjournalid(String pOldjournalid) {
oldjournalid = pOldjournalid;
}
public boolean equals(Object rhs) {
if (rhs == null)
return false;
if (!(rhs instanceof TgeneTellerTransferHeader))
return false;
TgeneTellerTransferHeader that = (TgeneTellerTransferHeader) rhs;
if (this.getPk() == null || that.getPk() == null)
return false;
return (this.getPk().equals(that.getPk()));
}
/**
* Implementaci<63>n del metodo hashCode de la la entidad TgeneTellerTransferHeader
*
* @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<63>n 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;
}
/** Implementaci<63>n de la creaci<63>n de un bean en blanco TgeneTellerTransferHeader */
public Object createInstance() {
TgeneTellerTransferHeader instance = new TgeneTellerTransferHeader();
instance.setPk(new TgeneTellerTransferHeaderKey());
return instance;
}
/**
* Clona la entidad TgeneTellerTransferHeader
*
* @see com.fp.dto.hb.HibernateBean#cloneMe()
*/
public Object cloneMe() throws CloneNotSupportedException {
TgeneTellerTransferHeader p = (TgeneTellerTransferHeader) this.clone();
p.setPk((TgeneTellerTransferHeaderKey) this.pk.cloneMe());
return p;
}
public Object getId() {
return this.pk;
}
// metodos manuales.
/** Sentencia que entrega la los datos de TgeneTellerTransferHeader */
private static final String HQL_TELLER_TRANSFER_HEADER_JID = " from TgeneTellerTransferHeader tgth"
+ " where tgth.pk.workingdate = :workingdate" + " and tgth.journalid = :journalid";
/**
* Metodo que entrega los datos de TgeneTellerTransferHeader, dada la fecha de trabajo y el journalid.
* @param pEntityManager Referecia a la session de la base de datos.
* @param pWorkingdate Fecha de trabajo.
* @param pJournalid Numero de journal.
* @param isold Indica si obtiene el registro de journalid o de oldjournalid.
* @return TgeneTellerTransferHeader
* @throws Exception
*/
public static TgeneTellerTransferHeader find(EntityManager pEntityManager,Date pWorkingdate, String pJournalid)
throws Exception {
TgeneTellerTransferHeader tgeneTellerTransferHeader = null;
Query qry = pEntityManager.createQuery(HQL_TELLER_TRANSFER_HEADER_JID);
qry.setParameter("workingdate", pWorkingdate);
qry.setParameter("journalid", pJournalid);
try {
tgeneTellerTransferHeader = (TgeneTellerTransferHeader)qry.getSingleResult();
} catch (NoResultException e) {
return tgeneTellerTransferHeader;
}
return tgeneTellerTransferHeader;
}
/**sentencia que elimina TgeneTellerTransferHeader*/
private static final String DEL_TRANSF_HEAD =
" delete from TGENETELLERTRANSFERHEADER t "
+ " where t.WORKINGDATE = :workingdate "
+ " and t.USERCODE = :usercode "
+ " and t.TRANSFERNUMBER = :transfernumber";
/**
* Elimina un registro de la tabla para el usuario, fecha de trabajo y numero de transferencia.
* @param pEntityManager Referencia la session de la base de datos.
* @param pWorkingdate Fecha de trabajo.
* @param pUser Codigo de usuario.
* @param pTransfernumber Numero de transferencia.
* @throws Exception
*/
public static void delete(EntityManager pEntityManager,Date pWorkingdate,String pUser,Integer pTransfernumber) throws Exception {
//Elimina TgeneTellerTransferHeader
Session s = (Session)pEntityManager.getDelegate();
SQLQuery sqldet = s.createSQLQuery(DEL_TRANSF_HEAD);
sqldet.setDate("workingdate", pWorkingdate);
sqldet.setString("usercode", pUser);
sqldet.setInteger("transfernumber", pTransfernumber);
sqldet.executeUpdate();
}
/**Sentencia que entrega la los datos de TgeneTellerTransferHeader*/
private static final String JPQL_TELLER_TRANSFER_HEADER =
" from TgeneTellerTransferHeader tgth"
+ " where tgth.pk.workingdate = :workingdate"
+ " and tgth.pk.usercode = :usercode"
+ " and tgth.pk.transfernumber = :transfernumber";
/**
* Metodo que entrega los datos de TgeneTellerTransferHeader, dada la fecha de trabajo, usuario y numero de transferencia.<2E>
*
* @param pEntityManager Session de la base de datos.
* @param workingdate Fecha de trabajo.
* @param usercode Codigo de usuario.
* @param transfernumber Numero de transferencia.
* @return TgeneTellerTransferHeader
* @throws Exception
*/
public static TgeneTellerTransferHeader find(EntityManager pEntityManager, Date workingdate, String usercode, Integer transfernumber) throws Exception{
TgeneTellerTransferHeader tgeneTellerTransferHeader = null;
Query qry = pEntityManager.createQuery(TgeneTellerTransferHeader.JPQL_TELLER_TRANSFER_HEADER);
qry.setParameter(Constant.VWORKINGDATE, workingdate);
qry.setParameter("usercode", usercode);
qry.setParameter("transfernumber", transfernumber);
try {
tgeneTellerTransferHeader = (TgeneTellerTransferHeader) qry.getSingleResult();
} catch (NoResultException e) {
throw new TellerException("TELLER-0001", "TRANSFERENCIA NO DEFINIDA EN TGENETELLERTRANSFERHEADER TRANSFERNUMBER:{0} USERCODE:{1} WORKINGDATE:{2}", transfernumber, usercode, workingdate);
}
return tgeneTellerTransferHeader;
}
}