maia_modificado/.svn/pristine/05/0553c2aec183d39057a8c050657...

269 lines
7.5 KiB
Plaintext
Executable File
Raw Blame History

package com.fp.persistence.pgeneral.auth;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.fp.dto.hb.HibernateBean;
/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TGENEEXCEPTIONS*/
@Entity(name="TgeneExceptions")
@Table(name="TGENEEXCEPTIONS")
public class TgeneExceptions 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 TgeneExceptions
*/
@EmbeddedId
private TgeneExceptionsKey pk;
@Column(name="PROFILECODE", nullable=true)
/**
* Codigo de perfil de usuario
*/
private String profilecode;
@Column(name="CONDITION", nullable=true)
/**
* Condicion a evaluar
*/
private String condition;
@Column(name="STRINGVALUE", nullable=true)
/**
* Valor a compar con el dato del campo
*/
private String stringvalue;
@Column(name="NUMERICVALUE", nullable=true)
/**
* Valor a compar con el dato del campo
*/
private BigDecimal numericvalue;
@Column(name="TITLE", nullable=true)
/**
* Titulo de la condicion a generar, ejemplo MONTO > 100
*/
private String title;
@Column(name="COMMAND", nullable=true)
/**
* Clase que genera una condicion especial, ejemplo nacionalidad = ECUATORIANA
*/
private String command;
/**Contructor por defecto*/
public TgeneExceptions(){
}
/**Contructor de TgeneExceptions
@param pPk Clave Primaria del entity
*/
public TgeneExceptions(TgeneExceptionsKey pPk){
this();
pk=pPk;
}
/**
* 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 TgeneExceptions
*/
public static TgeneExceptions find(EntityManager pEntityManager,TgeneExceptionsKey pKey) throws Exception{
TgeneExceptions obj = pEntityManager.find(TgeneExceptions.class,pKey);
return obj;
}
/**Entrega la Clave primaria de TgeneExceptions
@return El objeto que referencia a la Clave primaria de TgeneExceptions
*/
public TgeneExceptionsKey getPk(){
return pk;
}
/**Fija un nuevo valor a la Clave primaria de TgeneExceptions
@param pPk El objeto que referencia a la nueva Clave primaria de TgeneExceptions
*/
public void setPk(TgeneExceptionsKey pPk){
pk=pPk;
}
/**Obtiene el valor de profilecode
@return valor de profilecode*/
public String getProfilecode(){
return profilecode;
}
/**Fija el valor de profilecode
@param pProfilecode nuevo Valor de profilecode*/
public void setProfilecode(String pProfilecode){
profilecode=pProfilecode;
}
/**Obtiene el valor de condition
@return valor de condition*/
public String getCondition(){
return condition;
}
/**Fija el valor de condition
@param pCondition nuevo Valor de condition*/
public void setCondition(String pCondition){
condition=pCondition;
}
/**Obtiene el valor de stringvalue
@return valor de stringvalue*/
public String getStringvalue(){
return stringvalue;
}
/**Fija el valor de stringvalue
@param pStringvalue nuevo Valor de stringvalue*/
public void setStringvalue(String pStringvalue){
stringvalue=pStringvalue;
}
/**Obtiene el valor de numericvalue
@return valor de numericvalue*/
public BigDecimal getNumericvalue(){
return numericvalue;
}
/**Fija el valor de numericvalue
@param pNumericvalue nuevo Valor de numericvalue*/
public void setNumericvalue(BigDecimal pNumericvalue){
numericvalue=pNumericvalue;
}
/**Obtiene el valor de title
@return valor de title*/
public String getTitle(){
return title;
}
/**Fija el valor de title
@param pTitle nuevo Valor de title*/
public void setTitle(String pTitle){
title=pTitle;
}
/**Obtiene el valor de command
@return valor de command*/
public String getCommand(){
return command;
}
/**Fija el valor de command
@param pCommand nuevo Valor de command*/
public void setCommand(String pCommand){
command=pCommand;
}
public boolean equals(Object rhs){
if (rhs == null)return false;
if (! (rhs instanceof TgeneExceptions))return false;
TgeneExceptions that = (TgeneExceptions) 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 TgeneExceptions
@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 TgeneExceptions
*/
public Object createInstance(){
TgeneExceptions instance=new TgeneExceptions();
instance.setPk(new TgeneExceptionsKey());
return instance;
}
/**Clona la entidad TgeneExceptions
@see com.fp.dto.hb.HibernateBean#cloneMe()
*/
public Object cloneMe() throws CloneNotSupportedException{
TgeneExceptions p=(TgeneExceptions)this.clone();
p.setPk((TgeneExceptionsKey)this.pk.cloneMe());
return p;
}
//Metodos manuales.
/**Sentencia que devuelve la definicion de excepciones que requieren autorizacion, por subproducto moneda.*/
private static final String HQL_EXCEPTIONS =
"from TgeneExceptions texception " +
" where texception.pk.modulecode = :modulecode "+
" and texception.pk.productcode = :productcode "+
" and texception.pk.subproductcode = :subproductcode "+
" and texception.pk.currencycode = :currencycode "+
" order by texception.pk.exceptionorder ";
/**
* Entrega una lista de excepciones de solicitud definidas por subproducto moneda, con la cual
* se generan excepciones a autorizar en una solicitud.
* @param pModuleCode Codigo de modulo.
* @param pProductCode Codigo de product.
* @param pSubproductCode Codigo de subproducto.
* @param pCurrencyCode Codigo de moneda.
* @return List<TgeneExceptions>
* @throws Exception
*/
@SuppressWarnings("unchecked")
public static List<TgeneExceptions> find(EntityManager pEntityManager,String pModuleCode,String pProductCode,
String pSubproductCode,String pCurrencyCode) throws Exception {
List<TgeneExceptions> lObjects = null;
Query qry = pEntityManager.createQuery(HQL_EXCEPTIONS);
qry.setParameter("modulecode", pModuleCode);
qry.setParameter("productcode", pProductCode);
qry.setParameter("subproductcode", pSubproductCode);
qry.setParameter("currencycode", pCurrencyCode);
lObjects = qry.getResultList();
return lObjects;
}
}