package com.fitbank.installment;

import java.math.BigDecimal;

/**
 * Clase helper, se utiliza para adicionar cargos fijos por cuota.
 * 
 * @author Soft WareHouse S. A.
 * 
 */
public class ChargeValues {

    /**
     * Tasa del Tarifario
     */
    private BigDecimal tariffRate;

    /**
     * Categoria del cargo.
     */
    private String category;

    /**
     * Grupo de balance de la categoria de la tasa.
     */
    private String cbalanceGroup;

    /**
     * Valor del cargo
     */
    private BigDecimal value;
    /**
     * Indica si el cargo se incluye en la cuota de la operacion
     */
    private String inCuota;

    /**
     * Indica si el cargo se resta del monto del préstamo
     */
    private String discount;

    /**
     * Indica si el cargo se suma al monto del préstamo( es financiado)
     */
    private String increasing;

    /**
     * Subsistema de la operacion
     */
    private String subsistema;

    /**
     * Transaccion definida para el cobro del cargo
     */
    private String tranasccion;

    /**
     * Rubro definido para el cobro del cargo
     */
    private Integer rubro;

    /**
     * Version de la transaccion definida para el cobro del cargo
     */
    private String versionTranasccion;

    /**
     * Compania para la cual se definió el cargo
     */
    private Integer compania;

    /**
     * Registra saldo en creacion de cuenta o solo cuando se cobra
     */
    private String registraSaldo;
    /** Numero de cuota inicial a la cual se asocia el cargo. */
    private Integer beginQuota;
    /** Numero de cuota final a la cual se asocia el cargo. */
    private Integer endQuota;
    /**
     * True indica que el valor que llega se distribuye en las cuotas,
     * considerar cuota de inicio y cuota de finalizacion.
     */
    private boolean distribuyeencuotas = false;
    /**
     * Entrega el valor de category
     * 
     * @return String
     */
    public String getCategory() {
        return category;
    }
    /**
     * Fija el valor de category
     * 
     * @param category
     */
    public void setCategory(String category) {
        this.category = category;
    }
    /**
     * Entrega el valor de cbalanceGroup
     * 
     * @return String
     */
    public String getCbalanceGroup() {
        return cbalanceGroup;
    }
    /**
     * Fija el valor de cbalanceGroup
     * 
     * @param cbalanceGroup
     */
    public void setCbalanceGroup(String cbalanceGroup) {
        this.cbalanceGroup = cbalanceGroup;
    }
    /**
     * Entrega el valor de value
     * 
     * @return BigDecimal
     */
    public BigDecimal getValue() {
        return value;
    }
    /**
     * Fija el valor de value
     * 
     * @param value
     */
    public void setValue(BigDecimal value) {
        this.value = value;
    }
    /**
     * Entrega el valor de inCuota
     * 
     * @return String
     */
    public String getInCuota() {
        return inCuota;
    }
    /**
     * Fija el valor de inCuota
     * 
     * @param inCuota
     */
    public void setInCuota(String inCuota) {
        this.inCuota = inCuota;
    }
    /**
     * Entrega el valor de discount
     * 
     * @return String
     */
    public String getDiscount() {
        return discount;
    }
    /**
     * Fija el valor de discount
     * 
     * @param discount
     */
    public void setDiscount(String discount) {
        this.discount = discount;
    }
    /**
     * Entrega el valor de increasing
     * 
     * @return String
     */
    public String getIncreasing() {
        return increasing;
    }
    /**
     * Fija el valor de increasing
     * 
     * @param increasing
     */
    public void setIncreasing(String increasing) {
        this.increasing = increasing;
    }
    /**
     * Entrega el valor de subsistema
     * 
     * @return String
     */
    public String getSubsistema() {
        return subsistema;
    }
    /**
     * Fija el valor de subsistema
     * 
     * @param subsistema
     */
    public void setSubsistema(String subsistema) {
        this.subsistema = subsistema;
    }
    /**
     * Entrega el valor de tranasccion
     * 
     * @return String
     */
    public String getTranasccion() {
        return tranasccion;
    }
    /**
     * Fija el valor de tranasccion
     * 
     * @param tranasccion
     */
    public void setTranasccion(String tranasccion) {
        this.tranasccion = tranasccion;
    }
    /**
     * Entrega el valor de rubro
     * 
     * @return Integer
     */
    public Integer getRubro() {
        return rubro;
    }
    /**
     * Fija el valor de rubro
     * 
     * @param rubro
     */
    public void setRubro(Integer rubro) {
        this.rubro = rubro;
    }
    /**
     * Entrega el valor de versionTranasccion
     * 
     * @return String
     */
    public String getVersionTranasccion() {
        return versionTranasccion;
    }
    /**
     * Fija el valor de versionTranasccion
     * 
     * @param versionTranasccion
     */
    public void setVersionTranasccion(String versionTranasccion) {
        this.versionTranasccion = versionTranasccion;
    }
    /**
     * Entrega el valor de compania
     * 
     * @return Integer
     */
    public Integer getCompania() {
        return compania;
    }
    /**
     * Fija el valor de compania
     * 
     * @param compania
     */
    public void setCompania(Integer compania) {
        this.compania = compania;
    }
    /**
     * Entrega el valor de registraSaldo
     * 
     * @return String
     */
    public String getRegistraSaldo() {
        return registraSaldo;
    }
    /**
     * Fija el valor de registraSaldo
     * 
     * @param registraSaldo
     */
    public void setRegistraSaldo(String registraSaldo) {
        this.registraSaldo = registraSaldo;
    }
    /**
     * Entrega el valor de beginQuota
     * 
     * @return Integer
     */
    public Integer getBeginQuota() {
        return beginQuota;
    }
    /**
     * Fija el valor de beginQuota
     * 
     * @param beginQuota
     */
    public void setBeginQuota(Integer beginQuota) {
        this.beginQuota = beginQuota;
    }
    /**
     * Entrega el valor de endQuota
     * 
     * @return Integer
     */
    public Integer getEndQuota() {
        return endQuota;
    }
    /**
     * Fija el valor de endQuota
     * 
     * @param endQuota
     */
    public void setEndQuota(Integer endQuota) {
        this.endQuota = endQuota;
    }
    /**
     * Entrega el valor de: ChargeValues.java
     * 
     * @return boolean
     */
    public boolean isDistribuyeencuotas() {
        return distribuyeencuotas;
    }
    /**
     * Fija el valor de: ChargeValues.java
     * 
     * @param distribuyeencuotas
     *            valor de distribuyeencuotas a almacenar.
     */
    public void setDistribuyeencuotas(boolean distribuyeencuotas) {
        this.distribuyeencuotas = distribuyeencuotas;
    }

    /**
     * Entrega el valor de la tasa
     * 
     * @return BigDecimal
     */
    public BigDecimal getTariffRate() {
        return tariffRate;
    }

    /**
     * Fija el valor de la tasa
     * 
     * @param tariffRate
     */
    public void setTariffRate(BigDecimal tariffRate) {
        this.tariffRate = tariffRate;
    }

}
