package pwc.taxtech.atms.vat.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import pwc.taxtech.atms.entity.BaseEntity;

/**
 *
 * This class was generated by MyBatis Generator.
 * This class corresponds to the database table cash_flow
 *
 * @mbg.generated do_not_delete_during_merge
 */
public class CashFlow extends BaseEntity implements Serializable {
    /**
     * Database Column Remarks:
     *   唯一编号 系统唯一编号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.id
     *
     * @mbg.generated
     */
    private Long id;

    /**
     * Database Column Remarks:
     *   机构id
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.organization_id
     *
     * @mbg.generated
     */
    private String organizationId;

    /**
     * Database Column Remarks:
     *   卡片id
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.project_id
     *
     * @mbg.generated
     */
    private String projectId;

    /**
     * Database Column Remarks:
     *   数据日期
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.date
     *
     * @mbg.generated
     */
    private Date date;

    /**
     * Database Column Remarks:
     *   数据来源GL
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.source
     *
     * @mbg.generated
     */
    private String source;

    /**
     * Database Column Remarks:
     *   税务系统期间 yyyyMM
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.tms_period
     *
     * @mbg.generated
     */
    private Integer tmsPeriod;

    /**
     * Database Column Remarks:
     *   期间 YYYY-MM
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.period
     *
     * @mbg.generated
     */
    private Integer period;

    /**
     * Database Column Remarks:
     *   关账标识 Y/N
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.status
     *
     * @mbg.generated
     */
    private String status;

    /**
     * Database Column Remarks:
     *   账套ID
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.ledger_id
     *
     * @mbg.generated
     */
    private String ledgerId;

    /**
     * Database Column Remarks:
     *   账套名称
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.ledger_name
     *
     * @mbg.generated
     */
    private String ledgerName;

    /**
     * Database Column Remarks:
     *   账套币种
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.ledger_currency_code
     *
     * @mbg.generated
     */
    private String ledgerCurrencyCode;

    /**
     * Database Column Remarks:
     *   机构编码
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.entity_code
     *
     * @mbg.generated
     */
    private String entityCode;

    /**
     * Database Column Remarks:
     *   机构名称
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.entity_name
     *
     * @mbg.generated
     */
    private String entityName;

    /**
     * Database Column Remarks:
     *   主体性质(单体/合并)
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.category
     *
     * @mbg.generated
     */
    private String category;

    /**
     * Database Column Remarks:
     *   频度(固定值M,
仅期间(月度含13期)报表数据)
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.frequency
     *
     * @mbg.generated
     */
    private String frequency;

    /**
     * Database Column Remarks:
     *   项目中文名称
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.item_name
     *
     * @mbg.generated
     */
    private String itemName;

    /**
     * Database Column Remarks:
     *   项目英文名称
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.item_name2
     *
     * @mbg.generated
     */
    private String itemName2;

    /**
     * Database Column Remarks:
     *   本期发生
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.period_amt
     *
     * @mbg.generated
     */
    private BigDecimal periodAmt;

    /**
     * Database Column Remarks:
     *   本年累计
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.ytd_amt
     *
     * @mbg.generated
     */
    private BigDecimal ytdAmt;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.create_time
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.update_time
     *
     * @mbg.generated
     */
    private Date updateTime;

    /**
     * Database Column Remarks:
     *   同步用于标记不同分页的数据,避免重复删除
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column cash_flow.task_id
     *
     * @mbg.generated
     */
    private String taskId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table cash_flow
     *
     * @mbg.generated
     */
    private static final long serialVersionUID = 1L;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.id
     *
     * @return the value of cash_flow.id
     *
     * @mbg.generated
     */
    public Long getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.id
     *
     * @param id the value for cash_flow.id
     *
     * @mbg.generated
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.organization_id
     *
     * @return the value of cash_flow.organization_id
     *
     * @mbg.generated
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.organization_id
     *
     * @param organizationId the value for cash_flow.organization_id
     *
     * @mbg.generated
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId == null ? null : organizationId.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.project_id
     *
     * @return the value of cash_flow.project_id
     *
     * @mbg.generated
     */
    public String getProjectId() {
        return projectId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.project_id
     *
     * @param projectId the value for cash_flow.project_id
     *
     * @mbg.generated
     */
    public void setProjectId(String projectId) {
        this.projectId = projectId == null ? null : projectId.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.date
     *
     * @return the value of cash_flow.date
     *
     * @mbg.generated
     */
    public Date getDate() {
        return date;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.date
     *
     * @param date the value for cash_flow.date
     *
     * @mbg.generated
     */
    public void setDate(Date date) {
        this.date = date;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.source
     *
     * @return the value of cash_flow.source
     *
     * @mbg.generated
     */
    public String getSource() {
        return source;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.source
     *
     * @param source the value for cash_flow.source
     *
     * @mbg.generated
     */
    public void setSource(String source) {
        this.source = source == null ? null : source.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.tms_period
     *
     * @return the value of cash_flow.tms_period
     *
     * @mbg.generated
     */
    public Integer getTmsPeriod() {
        return tmsPeriod;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.tms_period
     *
     * @param tmsPeriod the value for cash_flow.tms_period
     *
     * @mbg.generated
     */
    public void setTmsPeriod(Integer tmsPeriod) {
        this.tmsPeriod = tmsPeriod;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.period
     *
     * @return the value of cash_flow.period
     *
     * @mbg.generated
     */
    public Integer getPeriod() {
        return period;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.period
     *
     * @param period the value for cash_flow.period
     *
     * @mbg.generated
     */
    public void setPeriod(Integer period) {
        this.period = period;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.status
     *
     * @return the value of cash_flow.status
     *
     * @mbg.generated
     */
    public String getStatus() {
        return status;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.status
     *
     * @param status the value for cash_flow.status
     *
     * @mbg.generated
     */
    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.ledger_id
     *
     * @return the value of cash_flow.ledger_id
     *
     * @mbg.generated
     */
    public String getLedgerId() {
        return ledgerId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.ledger_id
     *
     * @param ledgerId the value for cash_flow.ledger_id
     *
     * @mbg.generated
     */
    public void setLedgerId(String ledgerId) {
        this.ledgerId = ledgerId == null ? null : ledgerId.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.ledger_name
     *
     * @return the value of cash_flow.ledger_name
     *
     * @mbg.generated
     */
    public String getLedgerName() {
        return ledgerName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.ledger_name
     *
     * @param ledgerName the value for cash_flow.ledger_name
     *
     * @mbg.generated
     */
    public void setLedgerName(String ledgerName) {
        this.ledgerName = ledgerName == null ? null : ledgerName.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.ledger_currency_code
     *
     * @return the value of cash_flow.ledger_currency_code
     *
     * @mbg.generated
     */
    public String getLedgerCurrencyCode() {
        return ledgerCurrencyCode;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.ledger_currency_code
     *
     * @param ledgerCurrencyCode the value for cash_flow.ledger_currency_code
     *
     * @mbg.generated
     */
    public void setLedgerCurrencyCode(String ledgerCurrencyCode) {
        this.ledgerCurrencyCode = ledgerCurrencyCode == null ? null : ledgerCurrencyCode.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.entity_code
     *
     * @return the value of cash_flow.entity_code
     *
     * @mbg.generated
     */
    public String getEntityCode() {
        return entityCode;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.entity_code
     *
     * @param entityCode the value for cash_flow.entity_code
     *
     * @mbg.generated
     */
    public void setEntityCode(String entityCode) {
        this.entityCode = entityCode == null ? null : entityCode.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.entity_name
     *
     * @return the value of cash_flow.entity_name
     *
     * @mbg.generated
     */
    public String getEntityName() {
        return entityName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.entity_name
     *
     * @param entityName the value for cash_flow.entity_name
     *
     * @mbg.generated
     */
    public void setEntityName(String entityName) {
        this.entityName = entityName == null ? null : entityName.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.category
     *
     * @return the value of cash_flow.category
     *
     * @mbg.generated
     */
    public String getCategory() {
        return category;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.category
     *
     * @param category the value for cash_flow.category
     *
     * @mbg.generated
     */
    public void setCategory(String category) {
        this.category = category == null ? null : category.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.frequency
     *
     * @return the value of cash_flow.frequency
     *
     * @mbg.generated
     */
    public String getFrequency() {
        return frequency;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.frequency
     *
     * @param frequency the value for cash_flow.frequency
     *
     * @mbg.generated
     */
    public void setFrequency(String frequency) {
        this.frequency = frequency == null ? null : frequency.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.item_name
     *
     * @return the value of cash_flow.item_name
     *
     * @mbg.generated
     */
    public String getItemName() {
        return itemName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.item_name
     *
     * @param itemName the value for cash_flow.item_name
     *
     * @mbg.generated
     */
    public void setItemName(String itemName) {
        this.itemName = itemName == null ? null : itemName.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.item_name2
     *
     * @return the value of cash_flow.item_name2
     *
     * @mbg.generated
     */
    public String getItemName2() {
        return itemName2;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.item_name2
     *
     * @param itemName2 the value for cash_flow.item_name2
     *
     * @mbg.generated
     */
    public void setItemName2(String itemName2) {
        this.itemName2 = itemName2 == null ? null : itemName2.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.period_amt
     *
     * @return the value of cash_flow.period_amt
     *
     * @mbg.generated
     */
    public BigDecimal getPeriodAmt() {
        return periodAmt;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.period_amt
     *
     * @param periodAmt the value for cash_flow.period_amt
     *
     * @mbg.generated
     */
    public void setPeriodAmt(BigDecimal periodAmt) {
        this.periodAmt = periodAmt;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.ytd_amt
     *
     * @return the value of cash_flow.ytd_amt
     *
     * @mbg.generated
     */
    public BigDecimal getYtdAmt() {
        return ytdAmt;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.ytd_amt
     *
     * @param ytdAmt the value for cash_flow.ytd_amt
     *
     * @mbg.generated
     */
    public void setYtdAmt(BigDecimal ytdAmt) {
        this.ytdAmt = ytdAmt;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.create_time
     *
     * @return the value of cash_flow.create_time
     *
     * @mbg.generated
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.create_time
     *
     * @param createTime the value for cash_flow.create_time
     *
     * @mbg.generated
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.update_time
     *
     * @return the value of cash_flow.update_time
     *
     * @mbg.generated
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.update_time
     *
     * @param updateTime the value for cash_flow.update_time
     *
     * @mbg.generated
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column cash_flow.task_id
     *
     * @return the value of cash_flow.task_id
     *
     * @mbg.generated
     */
    public String getTaskId() {
        return taskId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column cash_flow.task_id
     *
     * @param taskId the value for cash_flow.task_id
     *
     * @mbg.generated
     */
    public void setTaskId(String taskId) {
        this.taskId = taskId == null ? null : taskId.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table cash_flow
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", organizationId=").append(organizationId);
        sb.append(", projectId=").append(projectId);
        sb.append(", date=").append(date);
        sb.append(", source=").append(source);
        sb.append(", tmsPeriod=").append(tmsPeriod);
        sb.append(", period=").append(period);
        sb.append(", status=").append(status);
        sb.append(", ledgerId=").append(ledgerId);
        sb.append(", ledgerName=").append(ledgerName);
        sb.append(", ledgerCurrencyCode=").append(ledgerCurrencyCode);
        sb.append(", entityCode=").append(entityCode);
        sb.append(", entityName=").append(entityName);
        sb.append(", category=").append(category);
        sb.append(", frequency=").append(frequency);
        sb.append(", itemName=").append(itemName);
        sb.append(", itemName2=").append(itemName2);
        sb.append(", periodAmt=").append(periodAmt);
        sb.append(", ytdAmt=").append(ytdAmt);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", taskId=").append(taskId);
        sb.append("]");
        return sb.toString();
    }
}