525 lines
16 KiB
Plaintext
Executable File
525 lines
16 KiB
Plaintext
Executable File
package com.fp.persistence.pgeneral.score;
|
||
|
||
import java.io.Serializable;
|
||
import java.lang.reflect.Field;
|
||
import java.math.BigDecimal;
|
||
import java.sql.Date;
|
||
import java.sql.Timestamp;
|
||
import java.util.List;
|
||
|
||
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 com.fp.common.helper.Constant;
|
||
import com.fp.dto.hb.HibernateBean;
|
||
|
||
/** Clase que implementa la entidad de Hibernate que hace referencia a la tabla TGENESCOREADJUSTMENT */
|
||
@Entity(name = "TgeneScoreAdjustment")
|
||
@Table(name = "TGENESCOREADJUSTMENT")
|
||
public class TgeneScoreAdjustment 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 TgeneScoreAdjustment
|
||
*/
|
||
@EmbeddedId
|
||
private TgeneScoreAdjustmentKey pk;
|
||
|
||
@Column(name = "DATEFROM", nullable = false)
|
||
/**
|
||
* Fecha desde la cual esta vigente el registro con datos de la cuenta.
|
||
*/
|
||
private Timestamp datefrom;
|
||
|
||
@Column(name = "MODULECODE", nullable = true)
|
||
/**
|
||
* Codigo de modulo
|
||
*/
|
||
private String modulecode;
|
||
|
||
@Column(name = "PRODUCTCODE", nullable = true)
|
||
/**
|
||
* Codigo de producto
|
||
*/
|
||
private String productcode;
|
||
|
||
@Column(name = "SUBPRODUCTCODE", nullable = true)
|
||
/**
|
||
* Codigo de subproducto
|
||
*/
|
||
private String subproductcode;
|
||
|
||
@Column(name = "CURRENCYCODE", nullable = true)
|
||
/**
|
||
* Codigo de moneda
|
||
*/
|
||
private String currencycode;
|
||
|
||
@Column(name = "ADJUSTMENTTYPE", nullable = false)
|
||
/**
|
||
* null
|
||
*/
|
||
private String adjustmenttype;
|
||
|
||
@Column(name = "MANUALPROVISIONPERCENT", nullable = false)
|
||
/**
|
||
* Porcentaje de provision constituido.
|
||
*/
|
||
private BigDecimal manualprovisionpercent;
|
||
|
||
@Column(name = "JOURNALID", nullable = false)
|
||
/**
|
||
* Numero de movimiento
|
||
*/
|
||
private String journalid;
|
||
|
||
@Column(name = "FILENAME", nullable = true)
|
||
/**
|
||
* Nombre de archivo
|
||
*/
|
||
private String filename;
|
||
|
||
@Column(name = "STATUS", nullable = true)
|
||
/**
|
||
* Estado del registro
|
||
*/
|
||
private String status;
|
||
|
||
/** Contructor por defecto */
|
||
public TgeneScoreAdjustment() {
|
||
}
|
||
|
||
/**
|
||
* Contructor de TgeneScoreAdjustment
|
||
*
|
||
* @param pPk Clave Primaria del entity
|
||
* @param pDatefrom Fecha desde la cual esta vigente el registro con datos de la cuenta.
|
||
* @param pAdjustmenttype null
|
||
* @param pManualprovisionpercent Porcentaje de provision constituido.
|
||
* @param pJournalid Numero de movimiento
|
||
*/
|
||
public TgeneScoreAdjustment(TgeneScoreAdjustmentKey pPk, Timestamp pDatefrom, String pAdjustmenttype, BigDecimal pManualprovisionpercent,
|
||
String pJournalid) {
|
||
this();
|
||
this.pk = pPk;
|
||
this.datefrom = pDatefrom;
|
||
this.adjustmenttype = pAdjustmenttype;
|
||
this.manualprovisionpercent = pManualprovisionpercent;
|
||
this.journalid = pJournalid;
|
||
}
|
||
|
||
/**
|
||
* 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 TgeneScoreAdjustment
|
||
*/
|
||
public static TgeneScoreAdjustment find(EntityManager pEntityManager, TgeneScoreAdjustmentKey pKey) throws Exception {
|
||
TgeneScoreAdjustment obj = pEntityManager.find(TgeneScoreAdjustment.class, pKey);
|
||
return obj;
|
||
}
|
||
|
||
/**
|
||
* Entrega la Clave primaria de TgeneScoreAdjustment
|
||
*
|
||
* @return El objeto que referencia a la Clave primaria de TgeneScoreAdjustment
|
||
*/
|
||
public TgeneScoreAdjustmentKey getPk() {
|
||
return this.pk;
|
||
}
|
||
|
||
/**
|
||
* Fija un nuevo valor a la Clave primaria de TgeneScoreAdjustment
|
||
*
|
||
* @param pPk El objeto que referencia a la nueva Clave primaria de TgeneScoreAdjustment
|
||
*/
|
||
public void setPk(TgeneScoreAdjustmentKey pPk) {
|
||
this.pk = pPk;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de datefrom
|
||
*
|
||
* @return valor de datefrom
|
||
*/
|
||
public Timestamp getDatefrom() {
|
||
return this.datefrom;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de datefrom
|
||
*
|
||
* @param pDatefrom nuevo Valor de datefrom
|
||
*/
|
||
public void setDatefrom(Timestamp pDatefrom) {
|
||
this.datefrom = pDatefrom;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de modulecode
|
||
*
|
||
* @return valor de modulecode
|
||
*/
|
||
public String getModulecode() {
|
||
return this.modulecode;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de modulecode
|
||
*
|
||
* @param pModulecode nuevo Valor de modulecode
|
||
*/
|
||
public void setModulecode(String pModulecode) {
|
||
this.modulecode = pModulecode;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de productcode
|
||
*
|
||
* @return valor de productcode
|
||
*/
|
||
public String getProductcode() {
|
||
return this.productcode;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de productcode
|
||
*
|
||
* @param pProductcode nuevo Valor de productcode
|
||
*/
|
||
public void setProductcode(String pProductcode) {
|
||
this.productcode = pProductcode;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de subproductcode
|
||
*
|
||
* @return valor de subproductcode
|
||
*/
|
||
public String getSubproductcode() {
|
||
return this.subproductcode;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de subproductcode
|
||
*
|
||
* @param pSubproductcode nuevo Valor de subproductcode
|
||
*/
|
||
public void setSubproductcode(String pSubproductcode) {
|
||
this.subproductcode = pSubproductcode;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de currencycode
|
||
*
|
||
* @return valor de currencycode
|
||
*/
|
||
public String getCurrencycode() {
|
||
return this.currencycode;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de currencycode
|
||
*
|
||
* @param pCurrencycode nuevo Valor de currencycode
|
||
*/
|
||
public void setCurrencycode(String pCurrencycode) {
|
||
this.currencycode = pCurrencycode;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de adjustmenttype
|
||
*
|
||
* @return valor de adjustmenttype
|
||
*/
|
||
public String getAdjustmenttype() {
|
||
return this.adjustmenttype;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de adjustmenttype
|
||
*
|
||
* @param pAdjustmenttype nuevo Valor de adjustmenttype
|
||
*/
|
||
public void setAdjustmenttype(String pAdjustmenttype) {
|
||
this.adjustmenttype = pAdjustmenttype;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de manualprovisionpercent
|
||
*
|
||
* @return valor de manualprovisionpercent
|
||
*/
|
||
public BigDecimal getManualprovisionpercent() {
|
||
return this.manualprovisionpercent;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de manualprovisionpercent
|
||
*
|
||
* @param pManualprovisionpercent nuevo Valor de manualprovisionpercent
|
||
*/
|
||
public void setManualprovisionpercent(BigDecimal pManualprovisionpercent) {
|
||
this.manualprovisionpercent = pManualprovisionpercent;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de journalid
|
||
*
|
||
* @return valor de journalid
|
||
*/
|
||
public String getJournalid() {
|
||
return this.journalid;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de journalid
|
||
*
|
||
* @param pJournalid nuevo Valor de journalid
|
||
*/
|
||
public void setJournalid(String pJournalid) {
|
||
this.journalid = pJournalid;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de filename
|
||
*
|
||
* @return valor de filename
|
||
*/
|
||
public String getFilename() {
|
||
return this.filename;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de filename
|
||
*
|
||
* @param pFilename nuevo Valor de filename
|
||
*/
|
||
public void setFilename(String pFilename) {
|
||
this.filename = pFilename;
|
||
}
|
||
|
||
/**
|
||
* Obtiene el valor de status
|
||
*
|
||
* @return valor de status
|
||
*/
|
||
public String getStatus() {
|
||
return this.status;
|
||
}
|
||
|
||
/**
|
||
* Fija el valor de status
|
||
*
|
||
* @param pStatus nuevo Valor de status
|
||
*/
|
||
public void setStatus(String pStatus) {
|
||
this.status = pStatus;
|
||
}
|
||
|
||
@Override
|
||
public boolean equals(Object rhs) {
|
||
if (rhs == null) {
|
||
return false;
|
||
}
|
||
if (!(rhs instanceof TgeneScoreAdjustment)) {
|
||
return false;
|
||
}
|
||
TgeneScoreAdjustment that = (TgeneScoreAdjustment) rhs;
|
||
if ((this.getPk() == null) || (that.getPk() == null)) {
|
||
return false;
|
||
}
|
||
return (this.getPk().equals(that.getPk()));
|
||
}
|
||
|
||
/**
|
||
* Implementacion del metodo hashCode de la la entidad TgeneScoreAdjustment
|
||
*
|
||
* @return el hashCode la instancia
|
||
*/
|
||
@Override
|
||
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 */
|
||
@Override
|
||
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 TgeneScoreAdjustment */
|
||
@Override
|
||
public Object createInstance() {
|
||
TgeneScoreAdjustment instance = new TgeneScoreAdjustment();
|
||
instance.setPk(new TgeneScoreAdjustmentKey());
|
||
return instance;
|
||
}
|
||
|
||
/**
|
||
* Clona la entidad TgeneScoreAdjustment
|
||
*
|
||
* @see com.fp.dto.hb.HibernateBean#cloneMe()
|
||
*/
|
||
@Override
|
||
public Object cloneMe() throws CloneNotSupportedException {
|
||
TgeneScoreAdjustment p = (TgeneScoreAdjustment) this.clone();
|
||
p.setPk((TgeneScoreAdjustmentKey) this.pk.cloneMe());
|
||
return p;
|
||
}
|
||
|
||
public Object getId() {
|
||
return this.pk;
|
||
}
|
||
|
||
/**
|
||
*
|
||
* METODOS MANUALES
|
||
*
|
||
*/
|
||
|
||
/**
|
||
* Sentencia para buscar los registros asociados a un scoredate
|
||
*/
|
||
private static final String JPQL_ACCOUNT_SCOREDATE = "from TgeneScoreAdjustment tsol "
|
||
+ " where tsol.pk.dateto = :dateto "
|
||
+ " and tsol.pk.companycode = :companycode "
|
||
+ " and tsol.pk.scoredate in (select sh.pk.scoredate from TgeneScoreHeader sh "
|
||
+ " where sh.pk.companycode = :companycode "
|
||
+ " and sh.tabulated = :tabulated "
|
||
+ " and sh.pk.scoredate = :scoredate) ";
|
||
|
||
public static List<TgeneScoreAdjustment> findbyScoreDate(EntityManager pEntityManager, Integer company, String tabulated, Date scoredate)
|
||
throws Exception {
|
||
Query qry = pEntityManager.createQuery(TgeneScoreAdjustment.JPQL_ACCOUNT_SCOREDATE);
|
||
qry.setParameter("companycode", company);
|
||
qry.setParameter("dateto", Constant.getDefaultExpiryDate());
|
||
qry.setParameter("tabulated", tabulated);
|
||
qry.setParameter("scoredate", scoredate);
|
||
return qry.getResultList();
|
||
}
|
||
|
||
/* Calificaci<63>n por archivo */
|
||
|
||
/**
|
||
* Sentencia para buscar los registros que tienen el nombre de archivo dado
|
||
*/
|
||
private static final String JPQL_FILE = "select distinct t.filename " + " from TgeneScoreAdjustment t " + " where t.pk.companycode = :company"
|
||
+ " and t.filename = :filename";
|
||
|
||
/**
|
||
* M<>todo que selecciona los registros que tienen el nombre de archivo dado
|
||
*
|
||
* @param pEntityManager Referencia de la session a obtener datos del bean
|
||
* @param pCompany C<>digo de la compa<70>ia
|
||
* @param pFilename Nombre del archivo
|
||
* @return Nombre del archivo si existe, de lo contrario null
|
||
* @throws Exception
|
||
*/
|
||
public static String find(EntityManager pEntityManager, Integer pCompany, String pFilename) throws Exception {
|
||
try {
|
||
Query qry = pEntityManager.createQuery(TgeneScoreAdjustment.JPQL_FILE);
|
||
qry.setParameter("company", pCompany);
|
||
qry.setParameter("filename", pFilename);
|
||
|
||
return (String) qry.getSingleResult();
|
||
} catch (NoResultException e) {
|
||
return null;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Sentencia para buscar los registros asociados a una entidad financiera dada que no hayan sido procesados
|
||
*/
|
||
private static final String JPQL_BANK = "from TgeneScoreAdjustment t " + " where t.pk.companycode = :company ";
|
||
// + " and t.pk.bank = coalesce(:bank, t.pk.bank) ";
|
||
|
||
// /**
|
||
// * M<>todo que selecciona los registros asociados a una entidad financiera dada que no hayan sido procesados
|
||
// *
|
||
// * @param pEntityManager Referencia de la session a obtener datos del bean
|
||
// * @param pCompany Nombre de la compa<70>ia
|
||
// * @param pBank C<>digo del banco
|
||
// * @return Lista de registro de TloanPaymentAccoBank
|
||
// * @throws Exception
|
||
// */
|
||
// @SuppressWarnings("unchecked")
|
||
// public static List<TgeneScoreAdjustment> findByBank(EntityManager pEntityManager, Integer pCompany, String pBank)
|
||
// throws Exception {
|
||
// Query qry = pEntityManager.createQuery(JPQL_BANK);
|
||
// qry.setParameter("company", pCompany);
|
||
// qry.setParameter("bank", pBank);
|
||
//
|
||
// return qry.getResultList();
|
||
// }
|
||
//
|
||
// /**
|
||
// * Sentencia para buscar los registros asociados a una cuenta dada que no hayan sido procesados
|
||
// */
|
||
// private static final String JPQL_ACCOUNT = "from TgeneScoreAdjustment t " + " where t.pk.companycode = :company "
|
||
// + " and t.pk.account = :account " + " and t.status = 'N' " ;
|
||
//
|
||
// /**
|
||
// * M<>todo que selecciona los registros asociados a una cuenta dada que no hayan sido procesados
|
||
// *
|
||
// * @param pEntityManager Referencia de la session a obtener datos del bean
|
||
// * @param pCompany Nombre de la compa<70>ia
|
||
// * @param pAccount C<>digo de la cuenta
|
||
// * @return Lista de registro de TloanPaymentAccoBank
|
||
// * @throws Exception
|
||
// */
|
||
// @SuppressWarnings("unchecked")
|
||
// public static List<TgeneScoreAdjustment> findByAccount(EntityManager pEntityManager, Integer pCompany, String
|
||
// pAccount) throws Exception {
|
||
// Query qry = pEntityManager.createQuery(JPQL_ACCOUNT);
|
||
// qry.setParameter("company", pCompany);
|
||
// qry.setParameter("account", pAccount);
|
||
//
|
||
// return qry.getResultList();
|
||
// }
|
||
}
|