maia/.svn/pristine/7f/7ffdb70f323fb4d8c8adec2ae14...

351 lines
13 KiB
Plaintext
Executable File

package com.fp.base.persistence.util.helper;
import com.fp.base.persistence.util.db.DataHelper;
import com.fp.common.helper.Constant;
import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.pcustomer.gene.TcustPersonAddress;
import com.fp.persistence.pcustomer.gene.TcustPersonDetail;
import com.fp.persistence.pgeneral.acco.TgeneAccount;
import com.fp.persistence.pgeneral.acco.TgeneAccountKey;
import com.fp.persistence.pgeneral.acco.TgeneAccountStatus;
import com.fp.persistence.pgeneral.acco.TgeneAccountStatusKey;
import com.fp.persistence.pgeneral.gene.*;
import com.fp.persistence.pgeneral.installment.TgeneInstallmentType;
import com.fp.persistence.pgeneral.product.TgeneModule;
import com.fp.persistence.pgeneral.product.TgeneProduct;
import com.fp.persistence.pgeneral.product.TgeneSubProduct;
import com.fp.persistence.pgeneral.safe.TsafeUser;
import com.fp.persistence.pgeneral.trans.TgeneTransaction;
import com.fp.persistence.pgeneral.trans.TgeneTransactionItem;
/**
* Clase utilitaria que entrega las descripciones generales, de productos, monedas, tipos de credito, adicionalmente
* completa descripciones en tgeneaccount, tgenesolicitude.
*
* @author Jorge Vaca
* @version 2.1
*/
public class GeneralDescriptions {
/**
* Metodo que completa descripciones de cuenta.
*
* @param pTgeneAccount Datos generales de la cuenta.
* @throws Exception
*/
public static void completeAccountDescriptions(TgeneAccount pTgeneAccount) throws Exception {
pTgeneAccount.addAddtionalInfo("moduledesc", GeneralDescriptions.getModuledesc(pTgeneAccount.getModulecode()));
pTgeneAccount.addAddtionalInfo("productdesc",
GeneralDescriptions.getProductdesc(pTgeneAccount.getModulecode(), pTgeneAccount.getProductcode()));
pTgeneAccount.addAddtionalInfo(
"subproductdesc",
GeneralDescriptions.getSubProductdesc(pTgeneAccount.getModulecode(), pTgeneAccount.getProductcode(),
pTgeneAccount.getSubproductcode()));
pTgeneAccount.addAddtionalInfo("currencydesc", GeneralDescriptions.getCurrencydesc(pTgeneAccount.getCurrencycode()));
pTgeneAccount.addAddtionalInfo("statusdesc",
GeneralDescriptions.getStatusdesc(pTgeneAccount.getModulecode(), pTgeneAccount.getAccountstatuscode()));
}
/**
* Metodo que completa descripciones de uan solicitud.
*
* @param pTgeneSolicitude Datos generales de una solicitud.
* @throws Exception
*/
public static void completeSolicitudeDescriptions(TgeneSolicitude pTgeneSolicitude) throws Exception {
pTgeneSolicitude.addAddtionalInfo("moduledesc", GeneralDescriptions.getModuledesc(pTgeneSolicitude.getModulecode()));
pTgeneSolicitude.addAddtionalInfo("productdesc",
GeneralDescriptions.getProductdesc(pTgeneSolicitude.getModulecode(), pTgeneSolicitude.getProductcode()));
pTgeneSolicitude.addAddtionalInfo(
"subproductdesc",
GeneralDescriptions.getSubProductdesc(pTgeneSolicitude.getModulecode(), pTgeneSolicitude.getProductcode(),
pTgeneSolicitude.getSubproductcode()));
pTgeneSolicitude.addAddtionalInfo("currencydesc", GeneralDescriptions.getCurrencydesc(pTgeneSolicitude.getCurrencycode()));
}
/**
* Metodo que entrega la descripcion del detalle de catalogo.
*
* @param pCatalog Codigo de tiposobregiro, base de calculo, destiono de fondos etc.
* @param pCatalogcode Codigo de catalogo.
* @return String.
* @throws Exception
*/
public static String getCatalogdetaildesc(String pCatalog, String pCatalogcode) throws Exception {
TgeneCatalogDetail detail = com.fp.persistence.commondb.db.DataHelper.getInstance().getTgeneCatalogDetail(pCatalog, pCatalogcode);
return detail.getDescription();
}
/**
* Metodo que entrega la descripcion de tipo de credito.
*
* @param pCredittype Codigo de tipo de credito.
* @return String.
* @throws Exception
*/
public static String getCredittypedesc(String pCredittype) throws Exception {
if (pCredittype == null) {
return "";
}
TgeneCreditType ctype = DataHelper.getInstance().getTgeneCreditType(pCredittype);
return ctype.getDescription();
}
/**
* Metodo que entrega la descripcion del tipo de tabla de amortizacion.
*
* @param pInstallmenttype Codigo de tipo de tabla de amortizacion.
* @return String.
* @throws Exception
*/
public static String getInstallmettypedesc(String pInstallmenttype, String pModule) throws Exception {
if (pInstallmenttype == null) {
return "";
}
TgeneInstallmentType itype = DataHelper.getInstance().getTgeneInstallmentType(pInstallmenttype, pModule);
return itype.getDescription();
}
/**
* Metodo que entrega la descripcion de la frequencia.
*
* @param pFrequencycode Codigo de frequencia.
* @return String.
* @throws Exception
*/
public static String getFrequencydesc(Integer pFrequencycode) throws Exception {
if (pFrequencycode == null) {
return "";
}
TgeneFrequency frequency = DataHelper.getInstance().getTgeneFrecuency(pFrequencycode);
return frequency.getDescription();
}
/**
* Metodo que entrega el nombre del oficial de cuenta.
*
* @param pUser Codigo de usuario.
* @return String.
* @throws Exception
*/
public static String getOfficername(String pUser) throws Exception {
if (pUser == null) {
return "";
}
TsafeUser user = DataHelper.getInstance().getTsafeUser(pUser);
return GeneralDescriptions.getPersonname(user.getPersoncode());
}
/**
* Metodo que entrega el nombre del usuario.
*
* @param pUser Codigo de usuario.
* @return String.
* @throws Exception
*/
public static String getUsername(String pUser) throws Exception {
if (pUser == null) {
return "";
}
TsafeUser user = DataHelper.getInstance().getTsafeUser(pUser);
return GeneralDescriptions.getPersonname(user.getPersoncode());
}
/**
* Metodo que entrega el email de un usuario.s
*
* @param pUser Codigo de usuario.
* @return String.
* @throws Exception
*/
public static String getEmailByUser(String pUser) throws Exception {
if (pUser == null) {
return "";
}
TsafeUser user = DataHelper.getInstance().getTsafeUser(pUser);
return GeneralDescriptions.getEmail(user.getPersoncode());
}
/**
* Metodo que entrega el email de una persona
*
* @param pPersoncode Codigo de persona a obtener el email.
* @return String.
* @throws Exception
*/
public static String getEmail(Integer pPersoncode) throws Exception {
return TcustPersonAddress.getEmail(PersistenceHelper.getEntityManager(), pPersoncode);
}
/**
* Metodo que entrega el nombre de una persona.
*
* @param pPersoncode Codigo de persona a obtener el nombre.
* @return String.
* @throws Exception
*/
public static String getPersonname(Integer pPersoncode) throws Exception {
return TcustPersonDetail.find(PersistenceHelper.getEntityManager(), pPersoncode).getName();
}
/**
* Metodo que entrega la descripcion de la moneda.
*
* @param pBranch Codigo de sucursal.
* @param company Compania a la que pertenece la sucursal
* @return String.
* @throws Exception
*/
public static String getBranchdesc(Integer pBranch, Integer company) throws Exception {
return TgeneBranch.find(PersistenceHelper.getEntityManager(), pBranch, company).getDescription();
}
/**
* Metodo que entrega la descripcion de la Etiqueta.
*
* @param pBranch Codigo de sucursal.
* @param company Compania a la que pertenece la sucursal
* @return String.
* @throws Exception
*/
public static String getLabel(String pLabel, String pLanguagecode, String pChannelcode) throws Exception {
TgeneLabelKey k = new TgeneLabelKey(pLabel, pLanguagecode, pChannelcode);
TgeneLabel label = TgeneLabel.find(PersistenceHelper.getEntityManager(), k);
if (label == null) {
return pLabel;
}
return label.getDescription();
}
/**
* Metodo que entrega la descripcion de la moneda.
*
* @param pOffice Codigo de oficina.
* @param pBranch Codigo de sucursal.
* @param pCompany Codigo de compania.
* @return String.
* @throws Exception
*/
public static String getOfficedesc(Integer pOffice, Integer pBranch, Integer pCompany) throws Exception {
TgeneOfficeKey tgeneOfficeKey = new TgeneOfficeKey(pOffice, pBranch, pCompany);
TgeneOffice office = TgeneOffice.find(PersistenceHelper.getEntityManager(), tgeneOfficeKey);
return office.getDescription();
}
/**
* Metodo que entrega la descripcion de la moneda.
*
* @param pCurrency Codigo de moneda.
* @return String.
* @throws Exception
*/
public static String getCurrencydesc(String pCurrency) throws Exception {
TgeneCurrency currency = DataHelper.getInstance().getTgeneCurrency(pCurrency);
return currency.getDescription();
}
/**
* Metodo que entrega la descripcion del status de la cuenta.
*
* @param pModule Codigo de modulo.
* @param pStatus Codigo de status.
* @return String
* @throws Exception
*/
public static String getStatusdesc(String pModule, String pStatus) throws Exception {
TgeneAccountStatusKey key = new TgeneAccountStatusKey(pModule, pStatus);
TgeneAccountStatus status = TgeneAccountStatus.find(PersistenceHelper.getEntityManager(), key);
return status.getDescription();
}
/**
* Metodo que entrega la descripcion del modulo.
*
* @param pModule Codigo de modulo.
* @return String.
* @throws Exception
*/
public static String getModuledesc(String pModule) throws Exception {
return TgeneModule.find(PersistenceHelper.getEntityManager(), pModule).getDescription();
}
/**
* Metodo que entrega la descripcion del producto.
*
* @param pModule Codigo de modulo.
* @param pProduct Codigo de producto.
* @return String
* @throws Exception
*/
public static String getProductdesc(String pModule, String pProduct) throws Exception {
if (pProduct == null) {
return "";
}
return TgeneProduct.find(PersistenceHelper.getEntityManager(), pModule, pProduct).getDescription();
}
/**
* Metodo que entrega la descripcion del subproducto.
*
* @param pModule Codigo de modulo.
* @param pProduct Codigo de producto.
* @param pSubProduct Codigo de subproducto.
* @return String
* @throws Exception
*/
public static String getSubProductdesc(String pModule, String pProduct, String pSubProduct) throws Exception {
if (pSubProduct == null) {
return "";
}
return TgeneSubProduct.find(PersistenceHelper.getEntityManager(), pModule, pProduct, pSubProduct).getDescription();
}
/**
* Metodo que devuelve el nombre o descripcion de la tranbsaccion
*
* @param transactionmodule Codigo modulo
* @param transactioncode Codigo transaccion
* @param transactionversion Codigo version
* @return
* @throws Exception
*/
public static String getTransactiondesc(String transactionmodule, Integer transactioncode, Integer transactionversion) throws Exception {
TgeneTransaction tgeneTransaction = com.fp.persistence.commondb.db.DataHelper.getInstance().getTgeneTransaction(transactionmodule,
transactioncode, transactionversion);
if (tgeneTransaction == null) {
return "TRANSACCION NO DEFINIDA";
}
return tgeneTransaction.getName();
}
/**
* Metodo que devuelve la descripcion del rubro de una transaccion
*
* @param transactionmodule Modulo de la transaccion
* @param transactioncode Codigo de la transaccion
* @param transactionversion Version de la transaccion
* @param itemcode Rubro de la transaccion
* @return
* @throws Exception
*/
public static String getTransactionItemdesc(String transactionmodule, Integer transactioncode, Integer transactionversion, Integer itemcode)
throws Exception {
TgeneTransactionItem tgeneTransactionItem = DataHelper.getInstance().getTgeneTransactionItem(transactionmodule, transactioncode,
transactionversion, itemcode);
return tgeneTransactionItem.getDescription();
}
/**
* Metodo que devuelve el nombre de una cuenta
*
* @param account Numero de cuenta
* @param company Compania ala que pertenece la cuenta
* @return
* @throws Exception
*/
public static String getAccountName(String account, Integer company) throws Exception {
TgeneAccountKey key = new TgeneAccountKey(account, company, Constant.getDefaultExpiryTimestamp());
return TgeneAccount.find(PersistenceHelper.getEntityManager(), key).getAccountname();
}
}