package com.fitbank.installment; import java.math.BigDecimal; import java.sql.Date; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import com.fitbank.common.AccountOrSolicitudeTypes; import com.fitbank.common.BeanManager; import com.fitbank.common.QuotaBean; import com.fitbank.common.QuotaCategoryBean; import com.fitbank.common.RequestData; import com.fitbank.common.dtoutils.RecordUtil; import com.fitbank.common.exception.FitbankException; import com.fitbank.common.hb.UtilHB; import com.fitbank.common.helper.CalculationBase; import com.fitbank.common.helper.Constant; import com.fitbank.common.logger.FitbankLogger; import com.fitbank.dto.management.Field; import com.fitbank.dto.management.Record; import com.fitbank.dto.management.Table; import com.fitbank.hb.persistence.acco.loan.Tquotasaccount; import com.fitbank.hb.persistence.acco.loan.Tquotascategoriesaccount; import com.fitbank.hb.persistence.quota.Tquotatypeid; import com.fitbank.hb.persistence.soli.Tcategoryquotasolicitude; import com.fitbank.hb.persistence.soli.Tquotasolicitude; /** * Clase utilitaria que crea almacena una tabla de pagos, con la cabecera y el * detalle. * * @author Soft WareHouse S.A. * */ public class InstallmentTable { protected static final Logger LOG = FitbankLogger.getLogger(); /** * Compania a la que pertenece la cuenta asciada a la tabla de pagos. */ private Integer company; /** Codigo de sucursal asociada a la cuenta o a la solicitud. */ private Integer branch; /** Codigo de oficina asociada a la cuenta o a la solicitud. */ private Integer office; /** * Numero de solicitud a la cual se asocia el calendario de pagos. */ private Long csolicitud; /** * Numero de cuenta a generar solicitud, si existe una cuenta se genera la * solicitud en tcuentacuotas y tcuentacuotascategorias. */ public String accountnumber; /** Codigo de subsistema asociado a la tabla de amortizacion. */ public String subsystem; /** * Fecha contable nacional. */ private Integer secuencia; /** * Fecha contable nacional. */ private Date accountingdate; /** * Moneda en la asociada a la tabla de pagos, si se envia una cuenta la * moneda tiene que ser la de la cuenta. */ private String currency; /** * Tipo de cuota, amortizacion gradual, tabla de interes, al venciminto. * etc. */ private String quotatype; /** * Monto origial sobre el cual se genera la tabla de pagos. */ private BigDecimal amount; /** * Tasa anual de comision. */ private BigDecimal commissionrate; /** * Indica si la cuota se paga en un dia fijo. */ private boolean fixday; /** * Dia de pago de una cuota. */ private Integer payday; /** * Numero de dias de la cuota. */ private int daysperperiod; /** * Fecha de inici de pagos. */ private Date firstpaymetdate; /** * Numero de periodos de gracia. */ private int graceperiod = 0; /** * Numero de cuotas totales. */ private int totalperiod; /** * Cuota desde la cual se inicial la generacion de la tabla. */ private int begincalculationperiod = 1; /** * Fecha de finalizacion de pago. */ private Date endpaydate; /** * Numero de dias totales del credito. */ private int totaldays; /** * Type de la base de calculo. */ private CalculationBase calculationBase; /** * Plazo de la operacion. */ private Integer term; /** * Frecuencia de pago de Capital. */ private Integer capitalFrequency; /** * Frecuencia de pago de Capital. */ private Integer intrestFrequency; /** * Valor de cuota fija. */ private BigDecimal fixquota; /** * Indica si se ajusta el valor de la cuota fija. */ private boolean adjustquota = false; /** * Tasa total del credito incluye tasa mas comisiones. */ private BigDecimal totalrate; /** Lista de tcuentacuotas */ private List lQuotaBean = new ArrayList(); /** Lista de tcuentacuotascategorias */ private List lQuotaCategoryBean = new ArrayList(); /** Map de categorias de interes, comision, seguros a calcular. */ private Map>> mRates; /** * Indica si la tabla de pagos se almacena en la tabla de pagos o tabla de * cuenta. */ private AccountOrSolicitudeTypes accountOrSolicitudeTypes; /** * Tasa de interes final con la que se podra obtener el valor de la cuota * fija. */ private BigDecimal finalrate; /** * Indica que la tabla de amortizaciongradual respeta el valor de cuota y * conte valor genera un numero de cuotas. */ private boolean fixedQuota = true;; private static final String HQL_QUOTA_TYPE = "from com.fitbank.hb.persistence.quota.Tquotatypeid q where q.pk = :quotatype "; /** * Otros cargos asociados a la cuota: seguros, comisiones, etc que no son * tipo tasa */ private List otherCharges = new ArrayList(); /** Valor total de cargos fijos que se cobran en la cuota */ private BigDecimal totalFixedValue = Constant.BD_ZERO; /** Indica que se calcula intereses anticipados. */ private boolean calculatePresentValue = false; /** Map que almacena informacion para generar cuotas especiales o manuales. */ public Map> mspecial; /** Para los logger */ private String[] numeracion = {"QUO001", "QUO002", "QUO003", "QUO004", "QUO006", "QUO007", "QUO009"}; private String[] detNum = { "COMANDO PARA GENERAR TABLA DEL TIIPO DE CUOTA {0} NO DEFINIDO", "COMANDO {0} A EJECUTAR NO EXISTE", "BASE DE CALCULO {0} OBLIGA UN DIA FIJO Y UN DIA DE PAGO ESPECIFICO", "FECHA CONTABLE REQUERIDA PARA GENERAR TABLA DE PAGOS", "TASA REQUERIDA PARA GENERAR TABLA DE PAGOS", "NUMERO DE CUOTAS REQUERIDO PARA GENERAR TABLA DE PAGOS", "FECHA DE PRIMER PAGO {0} DEBE SER MAYOR A HOY {1}"}; /** * Fecha de Vencimiento de la primera cuota - calculado * * */ private Date firstDateCalculated; /** * Constructores * */ public InstallmentTable(BigDecimal pCapital, Map>> mCapitalRates, List pOtherCharges, String pQuotatype, String pCalculationbase, int pDaysperperiod, Date pAccountingdate, String pCurrency) throws Exception { this.amount = pCapital; this.mRates = mCapitalRates; this.otherCharges = pOtherCharges; this.quotatype = pQuotatype; this.calculationBase = CalculationBase .getCalculationBase(pCalculationbase); this.daysperperiod = pDaysperperiod; this.accountingdate = pAccountingdate; this.currency = pCurrency; this.calculateFinalRate(); this.calculateFixedValue(); } /** * Inicio de Metodos * */ /** * Obtiene la clase especifica que genera la tabla de pagos y la ejecuta, * ejemplo amortiguacion gradual, tabla de interes, Etc... */ public void generate() throws Exception { // Realiza validaciones del negocio para permitir generar correctamente // la tabla de pagos this.beginValidations(); // Solo si en la solicitud no se define un valor de cuota fija se // obtiene el valor de cuota fija if (this.fixquota == null) { this.calculateFixquota(); fixedQuota = false; } // Obtiene el comando o metodo a ejecutar acorde al tipo de cuota // definido en la solicitud Tquotatypeid tquotatypeid = this.getTquotatypeid(); try { ttquotatypeid(tquotatypeid); // Ejecuta el metodo definido para el tipo de cuota de la solicitud AbstractQuota command = (AbstractQuota) Class.forName( tquotatypeid.getComando()).newInstance(); command.calculate(this); } catch (ClassNotFoundException e) { throw new FitbankException(numeracion[1], detNum[1], e, tquotatypeid.getComando()); } this.setTableGeneralData(); } private void ttquotatypeid(Tquotatypeid tquotatypeid) throws Exception { if (tquotatypeid.getComando() == null) { throw new FitbankException(numeracion[1], detNum[1]); } } public boolean isFixedQuota() { return fixedQuota; } private void setTableGeneralData() throws Exception { this.endpaydate = this.lQuotaBean.get(this.lQuotaBean.size() - 1) .getFvencimiento(); firstDateCalculated = this.lQuotaBean.get(0).getFvencimiento(); this.totaldays = 0; for (QuotaBean q : this.lQuotaBean) { this.totaldays += q.getNumerodiasprovision(); } } public Date getFirstDateCalculated() { return firstDateCalculated; } public void setFirstDateCalculated(Date firstDateCalculated) { this.firstDateCalculated = firstDateCalculated; } /** * Obtiene la clase especifica que genera la tabla de pagos. * * @return tquotatypeid * @throws Exception */ private Tquotatypeid getTquotatypeid() throws Exception { Tquotatypeid tquotatypeid = null; UtilHB utilHB = new UtilHB(); utilHB.setSentence(HQL_QUOTA_TYPE); utilHB.setString("quotatype", this.quotatype); tquotatypeid = (Tquotatypeid) utilHB.getObject(); if (tquotatypeid == null || tquotatypeid.getComando() == null) { throw new FitbankException(numeracion[0], detNum[0], this.quotatype); } return tquotatypeid; } /** * Ejecuta validaciones de base de calculo y dias fijos de pago. * * @throws Exception */ private void beginValidations() throws Exception { beginNextValidations(); } private void beginNextValidations() throws Exception { if (this.accountingdate == null) { throw new FitbankException(numeracion[3], detNum[3]); } if (this.totalperiod <= 0) { throw new FitbankException(numeracion[5], detNum[5]); } } /** * Entrega el valor de la cuota fija, si no tiene una la calcula. * * @throws Exception */ private void calculateFixquota() throws Exception { FixedInstallment fixCuota = new FixedInstallment(calculationBase); if (this.finalrate == null) { throw new FitbankException("QUO006", "TASA REQUERIDA PARA GENERAR TABLA DE PAGOS"); } if (this.getFixquota() == null) { this.setFixquota(fixCuota.calculate(amount, finalrate, totalFixedValue, daysperperiod, totalperiod, currency)); } this.setTotalrate(finalrate); } /** * Calcula la tasa total de la operacioon. * * @throws Exception */ private void calculateFinalRate() throws Exception { Iterator>> itr = mRates.values() .iterator(); while (itr.hasNext()) { Map> mCategoryRates = itr.next(); Iterator> itr_categoryrates = mCategoryRates .values().iterator(); while (itr_categoryrates.hasNext()) { for (CategoryRate categoryRate : itr_categoryrates.next()) { if (this.finalrate == null) { this.finalrate = BigDecimal.ZERO; } this.finalrate = this.finalrate.add(categoryRate.getRate()); LOG.info("Categoria " + categoryRate.getCategory() + " \tGrupoBalance " + categoryRate.getCbalanceGroup() + ": " + categoryRate.getRate()); } } } LOG.info("Tasa Final Sumarizada: " + this.finalrate); } /** * Calcula la tasa total de la operacioon. * * @throws Exception */ private void calculateFixedValue() throws Exception { this.totalFixedValue = this.totalFixedValue.add(getOtherChargesQuota()); LOG.info("Valor cargos fijos: " + this.finalrate); } /** * Entrega el valor de cargo fijos a incluir en la cuenta. * * @return BigDecimal * @throws Exception */ public BigDecimal getOtherChargesQuota() throws Exception { BigDecimal charges = Constant.BD_ZERO; for (ChargeValues chargeValues : otherCharges) { if (this.finalrate == null) { this.finalrate = BigDecimal.ZERO; } if (chargeValues.getInCuota().compareTo("1") != 0) { continue; } charges = charges.add(chargeValues.getValue()); } return charges; } /** * Completa la tabla de pagos de la solicitud. * * @throws Exception */ public void solicitudeInstallmentToDetail() throws Exception { Table tablesolicitude = new Table("TSOLICITUDCUOTAS", "TSOLICITUDCUOTAS"); for (QuotaBean obj : lQuotaBean) { RecordUtil record = new RecordUtil(obj); tablesolicitude.addRecord(record.getRecord()); } Table tablecategorysolicitude = new Table("TSOLICITUDCUOTASCATEGORIAS", "TSOLICITUDCUOTASCATEGORIAS"); for (QuotaCategoryBean obj : lQuotaCategoryBean) { RecordUtil record = new RecordUtil(obj); tablecategorysolicitude.addRecord(record.getRecord()); } RequestData.getDetail().addTable(tablesolicitude); RequestData.getDetail().addTable(tablecategorysolicitude); } /** * Completa informacion para ser desplegada en simulacion en tabla de * cuotas. * * @throws Exception */ public void solicitudeInstallmentSimulation() throws Exception { Table tablesolicitude = RequestData.getDetail().findTableByAlias( "TSOLICITUDCUOTAS"); tablesolicitude.clearRecords(); int counter = 0; for (QuotaBean obj : lQuotaBean) { counter++; Record record = new Record(); Field fcapital = new Field("CAPITAL",(String) BeanManager.convertObject(obj.getCapital(),String.class)); record.addField(fcapital); Field finteres = new Field("INTERES",(String) BeanManager.convertObject(obj.getInteres(), String.class)); record.addField(finteres); Field fcomision = new Field("COMISION",(String) BeanManager.convertObject(obj.getComision(), String.class)); record.addField(fcomision); Field fcargo = new Field("CARGO",(String) BeanManager.convertObject(obj.getCargo(), String.class)); record.addField(fcargo); Field capitalreducido = new Field("CAPITALREDUCIDO", (String) BeanManager.convertObject( obj.getCapitalreducido(), String.class)); record.addField(capitalreducido); Field fechavencimiento = new Field("FVENCIMIENTO", (String) BeanManager.convertObject(obj.getFvencimiento(), String.class)); record.addField(fechavencimiento); Field acciones = new Field("ACCIONES", (String) BeanManager.convertObject(obj.getAcciones(), String.class)); record.addField(acciones); Field seguro = new Field("SEGURO", (String) BeanManager.convertObject(obj.getSeguro(), String.class)); record.addField(seguro); Field ftotalcuota = new Field("TCUOTA",(String) BeanManager.convertObject(obj.getCapital().add(obj.getInteres()).add(obj.getComision()).add(obj.getSeguro()).add(obj.getCargo()), String.class)); record.addField(ftotalcuota); Field subcuenta = new Field("SUBCUENTA", String.valueOf(counter)); record.addField(subcuenta); Field numerodiasprovision = new Field("NUMERODIASPROVISION", (Integer) BeanManager.convertObject( obj.getNumerodiasprovision(), Integer.class)); record.addField(numerodiasprovision); tablesolicitude.addRecord(record); } RequestData.getDetail().addTable(tablesolicitude); } /** * Adiciona una cuota a la tabla de pagos. * * @param tquota * Datos de una cuota. * @throws Exception */ public void addQuotaBean(QuotaBean pQuotaBean) throws Exception { this.lQuotaBean.add(pQuotaBean); } /** * Entrega un objeto QuotaBean dado el numero de cuota. * * @param pQuotaNumber * Numero de cuota. * @return QuotaBean * @throws Exception */ public QuotaBean getQuotaBean(Integer pQuotaNumber) throws Exception { QuotaBean quotaBean = null; for (QuotaBean obj : lQuotaBean) { if (obj instanceof Tquotasolicitude) { Tquotasolicitude object = (Tquotasolicitude) obj; if (object.getPk().getSubcuenta().compareTo(pQuotaNumber) != 0) { continue; } } else { Tquotasaccount object = (Tquotasaccount) obj; if (object.getPk().getSubcuenta().compareTo(pQuotaNumber) != 0) { continue; } } quotaBean = obj; break; } return quotaBean; } /** * Entrega un objeto QuotaCategoryBean dado el numero de cuota. * * @param pQuotaNumber * Numero de cuota. * @return QuotaCategoryBean * @throws Exception */ public QuotaCategoryBean getQuotaCategoryBean(Integer pQuotaNumber, String pCategory, String pBalanceGroup) throws Exception { QuotaCategoryBean bean = null; for (QuotaCategoryBean obj : lQuotaCategoryBean) { if (!this.verifyQuotaCategoryBean(obj, pQuotaNumber, pCategory, pBalanceGroup)) { continue; } bean = obj; } return bean; } private boolean verifyQuotaCategoryBean(QuotaCategoryBean pObj, Integer pQuotaNumber, String pCategory, String pBalanceGroup) throws Exception { if (pObj instanceof Tcategoryquotasolicitude) { Tcategoryquotasolicitude object = (Tcategoryquotasolicitude) pObj; if (object.getPk().getSubcuenta().compareTo(pQuotaNumber) != 0) { return false; } if (object.getPk().getCategoria().compareTo(pCategory) != 0) { return false; } if (object.getPk().getCategoria().compareTo(pBalanceGroup) != 0) { return false; } } else { Tquotascategoriesaccount object = (Tquotascategoriesaccount) pObj; if (object.getPk().getSubcuenta().compareTo(pQuotaNumber) != 0) { return false; } if (object.getPk().getCategoria().compareTo(pCategory) != 0) { return false; } if (object.getPk().getCategoria().compareTo(pBalanceGroup) != 0) { return false; } } return true; } /** * Adiciona una categoria a la cuota de la tabla de pagos. * * @param tquota * Datos de una cuota. * @throws Exception */ public void addQuotaCategoryBean(QuotaCategoryBean pQuotaCategoryBean) throws Exception { this.lQuotaCategoryBean.add(pQuotaCategoryBean); } /** * Entrega el capital original de la operacion. * * @return amount */ public BigDecimal getAmount() { return amount; } /** * Fija el valor original de la opercion. * * @param amount */ public void setAmount(BigDecimal amount) { this.amount = amount; } /** * Entrega el numero de cuota desde la cual se genera la tabla de pagos. * * @return begincalculationperiod */ public int getBegincalculationperiod() { return begincalculationperiod; } /** * Fija el numero de cuota desde la cual se calcula la tabla de pagos. * * @param begincalculationperiod */ public void setBegincalculationperiod(int begincalculationperiod) { this.begincalculationperiod = begincalculationperiod; } /** * Entrega la enumeracion de la base de calculo. * * @return calculationBase. */ public CalculationBase getCalculationBase() { return calculationBase; } /** * Fija la enumeracion de la base de calculo. * * @param calculationBase * . */ public void setCalculationBase(CalculationBase calculationBase) { this.calculationBase = calculationBase; } /** * Entrega la tasa de comision. * * @return commisionrate */ public BigDecimal getCommissionrate() { return commissionrate; } /** * Fija la tasa de comision. * * @param commisionrate */ public void setCommissionrate(BigDecimal commisionrate) { this.commissionrate = commisionrate; } /** * Entrega la ultima fecha de pago de una cuota o la fecha de vencimiento de * la operacion. * * @return endpaydate */ public Date getEndpaydate() { return endpaydate; } /** * Fija la fecha de vencimiento de la operacion. * * @param endpaydate */ public void setEndpaydate(Date endpaydate) { this.endpaydate = endpaydate; } /** * Entrega la fecha de inicio de pagos. * * @return firstpaymetdate */ public Date getFirstpaymetdate() { return firstpaymetdate; } /** * Fija la fecha de inicio de pagos de la peimera cuota que se genera. * * @param firstpaymetdate */ public void setFirstpaymetdate(Date firstpaymetdate) { this.firstpaymetdate = firstpaymetdate; } /** * Indica si las cuotas vencen en dia fijo. * * @return fixday */ public boolean isFixday() { return fixday; } /** * Fija el valor de cuota fija. * * @param fixday */ public void setFixday(boolean fixday) { this.fixday = fixday; } /** * Entrega el numero de periodos de gracia de la operacion, en estos priodos * unicamente se cobra el interes. * * @return graceperiod */ public int getGraceperiod() { return graceperiod; } /** * Fija el numero de peridos de gracia. * * @param graceperiod */ public void setGraceperiod(int graceperiod) { this.graceperiod = graceperiod; } /** * Entrega la lista de cuotas que forman parte de la tabla de pagos. * * @return quotas */ public List getQuotasBean() { return this.lQuotaBean; } /** * Fija una lista de cuotas. * * @param quotas */ public void setQuotaBean(List pQuotaBean) { this.lQuotaBean = pQuotaBean; } /** * Entrega el tipo de cuota. * * @return quotatype */ public String getQuotatype() { return quotatype; } /** * Fija el tipo de cuota de la tabla. * * @param quotatype */ public void setQuotatype(String quotatype) { this.quotatype = quotatype; } /** * Entrega el numero de dias total de la operacion. * * @return totaldays */ public int getTotaldays() { return totaldays; } /** * Fija el numero de dias total de la operacion. * * @param totaldays */ public void setTotaldays(int totaldays) { this.totaldays = totaldays; } /** * Entrega el numeor de cuotas o periodos de la operacion. * * @return */ public int getTotalperiod() { return totalperiod; } /** * Fija el numero de periodos de la operacion. * * @param totalperiod */ public void setTotalperiod(int totalperiod) { this.totalperiod = totalperiod; } /** * Enrega la cuenta a la cual se asocia una tabla de pagos. * * @return account. */ public Long getCsolicitud() { return this.csolicitud; } /** * Fija el valor de cuenta a la que asocia una tabla de pagos. * * @param account */ public void setCsolicitud(Long csolicitud) { this.csolicitud = csolicitud; } /** * Entrega el valor de la compania a la que pertenece una cuenta. * * @return company. */ public Integer getCompany() { return company; } /** * Fija el valor de la compania a la que pertenece una cuenta. * * @param company * . */ public void setCompany(Integer company) { this.company = company; } /** * Entrega el valor de: branch * * @return Integer */ public Integer getBranch() { return branch; } /** * Fija el valor de: branch * * @param branch * valor de branch a almacenar. */ public void setBranch(Integer branch) { this.branch = branch; } /** * Entrega el valor de: office * * @return Integer */ public Integer getOffice() { return office; } /** * Fija el valor de: office * * @param office * valor de office a almacenar. */ public void setOffice(Integer office) { this.office = office; } /** * Entrega el valor la moneda de la tabla de pagos. * * @return currency. */ public String getCurrency() { return currency; } /** * Fija el valor de moneda en la cual se genera la tabla de pagos. * * @param currency * The currency to set. */ public void setCurrency(String currency) { this.currency = currency; } /** * Entrega el numeor de dis de cada cuota. * * @return daysperperiod. */ public int getDaysperperiod() { return daysperperiod; } /** * Fija el numero de dias de cada cuota. * * @param daysperperiod */ public void setDaysperperiod(int daysperperiod) { this.daysperperiod = daysperperiod; } /** * Entrega el dia de pago de una cuota. * * @return payday. */ public Integer getPayday() { return payday; } /** * Fija el dia de pago de una cuota. * * @param payday * . */ public void setPayday(Integer payday) { this.payday = payday; } /** * @return Returns the hQL_QUOTA_TYPE. */ /* * public static String getHQL_QUOTA_TYPE() { return HQL_QUOTA_TYPE; } */ /** * @param hql_quota_type * The hQL_QUOTA_TYPE to set. */ /* * public static void setHQL_QUOTA_TYPE(String hql_quota_type) { * HQL_QUOTA_TYPE = hql_quota_type; } */ /** * Entrega la fecha contable. * * @return */ public Date getAccountingdate() { return accountingdate; } /** * Fija la fecha contabe. * * @param accountingdate * . */ public void setAccountingdate(Date accountingdate) { this.accountingdate = accountingdate; } /** * Entrega el valor de la cuota fija. * * @return fixquota. */ public BigDecimal getFixquota() { return fixquota; } /** * Fija el valor de la cuota fija. * * @param fixquota */ public void setFixquota(BigDecimal fixquota) { this.fixquota = fixquota; } /** * Entrega la tasa total del credito. * * @return totalrate. */ public BigDecimal getTotalrate() { return totalrate; } /** * Fija la tasa total del credito. * * @param totalrate * . */ private void setTotalrate(BigDecimal totalrate) { this.totalrate = totalrate; } /** * Entrega el valor de adjustquota * * @return the adjustquota */ public boolean isAdjustquota() { return adjustquota; } /** * Fija el valor de adjustquota * * @param adjustquota */ public void setAdjustquota(boolean adjustquota) { this.adjustquota = adjustquota; } /** * Fija el valor de finalrate * * @return the finalrate */ public BigDecimal getFinalrate() { return this.finalrate; } /** * Entrega el valor de finalrate * * @param finalrate * the finalrate to set */ public void setFinalrate(BigDecimal finalrate) { this.finalrate = finalrate; } /** * Fija el valor de secuencia * * @return the secuencia */ public Integer getSecuencia() { return this.secuencia; } /** * Entrega el valor de secuencia * * @param secuencia * the secuencia to set */ public void setSecuencia(Integer secuencia) { this.secuencia = secuencia; } /** * Fija el valor de capitalFrequency * * @return the capitalFrequency */ public Integer getCapitalFrequency() { return this.capitalFrequency; } /** * Entrega el valor de capitalFrequency * * @param capitalFrequency * the capitalFrequency to set */ public void setCapitalFrequency(Integer capitalFrequency) { this.capitalFrequency = capitalFrequency; } /** * Fija el valor de intrestFrequency * * @return the intrestFrequency */ public Integer getIntrestFrequency() { return this.intrestFrequency; } /** * Entrega el valor de intrestFrequency * * @param intrestFrequency * the intrestFrequency to set */ public void setIntrestFrequency(Integer intrestFrequency) { this.intrestFrequency = intrestFrequency; } /** * Fija el valor de term * * @return the term */ public Integer getTerm() { return this.term; } /** * Entrega el valor de term * * @param term * the term to set */ public void setTerm(Integer term) { this.term = term; } /** * Fija el valor de categoryquotasolicitude * * @return the categoryquotasolicitude */ public List getQuotaCategoryBean() { return this.lQuotaCategoryBean; } /** * Entrega el valor de categoryquotasolicitude * * @param categoryquotasolicitude * the categoryquotasolicitude to set */ public void setQuotaCategoryBean(List plQuotaCategoryBean) { this.lQuotaCategoryBean = plQuotaCategoryBean; } /** * Entrega el valor de mRates * * @return Map>> */ public Map>> getMRates() { return mRates; } /** * Fija el valor de mRates * * @param rates */ public void setMRates(Map>> rates) { mRates = rates; } /** * Fija el valor de accountnumber * * @param accountnumber */ public void setAccountnumber(String accountnumber) { this.accountnumber = accountnumber; } /** * Entrega el valor de accountnumber * * @return String */ public String getAccountnumber() { return accountnumber; } /** * Entrega el valor de accountOrSolicitudeTypes * * @return AccountOrSolicitudeTypes */ public AccountOrSolicitudeTypes getAccountOrSolicitudeTypes() { return accountOrSolicitudeTypes; } /** * Fija el valor de accountOrSolicitudeTypes * * @param accountOrSolicitudeTypes */ public void setAccountOrSolicitudeTypes( AccountOrSolicitudeTypes accountOrSolicitudeTypes) { this.accountOrSolicitudeTypes = accountOrSolicitudeTypes; } /** * Entrega la lista de cuotas * * @throws Exception */ public List getListQuotaBean() throws Exception { return lQuotaBean; } /** * Entrega la lista de Cuotascategoria * * @return * @throws Exception */ public List getListQuotaCategoryBean() throws Exception { return lQuotaCategoryBean; } public BigDecimal getTotalFixedValue() { return totalFixedValue; } public void setTotalFixedValue(BigDecimal totalFixedValue) { this.totalFixedValue = totalFixedValue; } public List getOtherCharges() { return otherCharges; } public void setOtherCharges(List otherCharges) { this.otherCharges = otherCharges; } /** * Entrega el valor de calculatePresentValue * * @return boolean */ public boolean isCalculatePresentValue() { return calculatePresentValue; } /** * Fija el valor de calculatePresentValue * * @param calculatePresentValue */ public void setCalculatePresentValue(boolean calculatePresentValue) { this.calculatePresentValue = calculatePresentValue; } /** * Entrega el valor de: mspecial * * @return Map> */ public Map> getMspecial() { return mspecial; } /** * Fija el valor de: mspecial * * @param mspecial * valor de mspecial a almacenar. */ public void setMspecial(Map> mspecial) { this.mspecial = mspecial; } }