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(); } }