package com.fp.dto.batch;

import java.io.Serializable;
import java.sql.Date;
import java.util.HashMap;

public class BatchAccountRequest extends HashMap<String, Object> implements Cloneable, Serializable {

    private static final long serialVersionUID = -9161287129394163022L;

    /** Número de cuenta a la cual se va a ejecutar el proceso de fin de dia. */
    private String account;

    /** Código de compania a la cual se va a proceder a ejecutar el fin de día. */
    private Integer company;

    /** Fecha contable en la cual se ejecuta el proceso de fin de dia, esta fecha pasa a la tabla de journal. */
    private Date accountingDate;

    /** Fecha de trabajo de la aplicacion. */
    private Date workingingDate;

    /** Fecha contable anterior a la fecha contable. */
    private Date previousDccountingDate;

    /** Proxima fecha contable */
    private Date nextAccountingDate;

    /** Modulo asociado a la cuenta a la cual se va a proceder a realizar el cierre de fin de día. */
    private String accountModule;

    /** Numero de hilo con el cual se ejecuta el proceso batch. */
    private Integer threadnumber;

    /** Codigo de modulo al que pertenece la transaccion con la cual se ejecuta el proceso de fin de dia. */
    private String transactionModule;

    /** Codigo de transaccion que origina la ejecucion del batch. */
    private Integer transactionCode;

    /** Version de transaccion que origina la ejecucion del batch. */
    private Integer transactionVersion;

    /** Codigo del modulo. */
    private String modulecode;

    /**
     * Devuelve un clon del objeto.
     * 
     * @return BatchAccountRequest
     * @throws CloneNotSupportedException
     */
    public BatchAccountRequest cloneMe() throws CloneNotSupportedException {
        return (BatchAccountRequest) this.clone();
    }

    /**
     * Entrega el valor de: account
     * 
     * @return String
     */
    public String getAccount() {
        return this.account;
    }

    /**
     * Fija el valor de account
     * 
     * @param account value to set
     */
    public void setAccount(String account) {
        this.account = account;
    }

    /**
     * Entrega el valor de: company
     * 
     * @return Integer
     */
    public Integer getCompany() {
        return this.company;
    }

    /**
     * Fija el valor de company
     * 
     * @param company value to set
     */
    public void setCompany(Integer company) {
        this.company = company;
    }

    /**
     * Entrega el valor de: accountingDate
     * 
     * @return Date
     */
    public Date getAccountingDate() {
        return this.accountingDate;
    }

    /**
     * Fija el valor de accountingDate
     * 
     * @param accountingDate value to set
     */
    public void setAccountingDate(Date accountingDate) {
        this.accountingDate = accountingDate;
    }

    /**
     * Entrega el valor de: workingingDate
     * 
     * @return Date
     */
    public Date getWorkingingDate() {
        return this.workingingDate;
    }

    /**
     * Fija el valor de workingingDate
     * 
     * @param workingingDate value to set
     */
    public void setWorkingingDate(Date workingingDate) {
        this.workingingDate = workingingDate;
    }

    /**
     * Entrega el valor de: previousDccountingDate
     * 
     * @return Date
     */
    public Date getPreviousDccountingDate() {
        return this.previousDccountingDate;
    }

    /**
     * Fija el valor de previousDccountingDate
     * 
     * @param previousDccountingDate value to set
     */
    public void setPreviousDccountingDate(Date previousDccountingDate) {
        this.previousDccountingDate = previousDccountingDate;
    }

    /**
     * Entrega el valor de: nextAccountingDate
     * 
     * @return Date
     */
    public Date getNextAccountingDate() {
        return this.nextAccountingDate;
    }

    /**
     * Fija el valor de nextAccountingDate
     * 
     * @param nextAccountingDate value to set
     */
    public void setNextAccountingDate(Date nextAccountingDate) {
        this.nextAccountingDate = nextAccountingDate;
    }

    /**
     * Entrega el valor de: accountModule
     * 
     * @return String
     */
    public String getAccountModule() {
        return this.accountModule;
    }

    /**
     * Fija el valor de accountModule
     * 
     * @param accountModule value to set
     */
    public void setAccountModule(String accountModule) {
        this.accountModule = accountModule;
    }

    /**
     * Entrega el valor de: threadnumber
     * 
     * @return Integer
     */
    public Integer getThreadnumber() {
        return this.threadnumber;
    }

    /**
     * Fija el valor de: threadnumber
     * 
     * @param threadnumber
     */
    public void setThreadnumber(Integer threadnumber) {
        this.threadnumber = threadnumber;
    }

    /**
     * Entrega el valor de: transactionModule
     * 
     * @return String
     */
    public String getTransactionModule() {
        return this.transactionModule;
    }

    /**
     * Fija el valor de: transactionModule
     * 
     * @param transactionModule
     */
    public void setTransactionModule(String transactionModule) {
        this.transactionModule = transactionModule;
    }

    /**
     * Entrega el valor de: transactionCode
     * 
     * @return Integer
     */
    public Integer getTransactionCode() {
        return this.transactionCode;
    }

    /**
     * Fija el valor de: transactionCode
     * 
     * @param transactionCode
     */
    public void setTransactionCode(Integer transactionCode) {
        this.transactionCode = transactionCode;
    }

    /**
     * Entrega el valor de: transactionVersion
     * 
     * @return Integer
     */
    public Integer getTransactionVersion() {
        return this.transactionVersion;
    }

    /**
     * Fija el valor de: transactionVersion
     * 
     * @param transactionVersion
     */
    public void setTransactionVersion(Integer transactionVersion) {
        this.transactionVersion = transactionVersion;
    }

    /**
     * Entrega el valor de: transactionVersion
     * 
     * @return Integer
     */
    public String getModuleCode() {
        return this.modulecode;
    }

    /**
     * Fija el valor de: transactionVersion
     * 
     * @param transactionVersion
     */
    public void setModuleCode(String modulecode) {
        this.modulecode = modulecode;
    }

}
