package com.pnkx.domain.po;

import com.pnkx.common.annotation.Excel;
import com.pnkx.common.core.domain.BaseEntity;

import java.util.Objects;

/**
 * 账本分类对象 px_bookkeeping_classification
 *
 * @author pnkx
 * @date 2021-11-18
 */
public class PxBookkeepingClassification extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 版本号
     */
    private String version;

    /**
     * 种类图标
     */
    @Excel(name = "种类图标")
    private String typeIcon;

    /**
     * 排序
     */
    private Integer orderNum;

    /**
     * 种类名称
     */
    @Excel(name = "种类名称")
    private String typeName;

    /**
     * 种类等级，0：一级，1：二级
     */
    @Excel(name = "种类等级，0：一级，1：二级")
    private String typeLevel;

    /**
     * 种类parentId
     */
    @Excel(name = "种类parentId")
    private Long typeParentId;

    /**
     * 种类区分，0：收入，1：支出
     */
    @Excel(name = "种类区分，0：收入，1：支出")
    private String typeDifference;

    /**
     * 收入统计与支出统计
     */
    @Excel(name = "收入统计与支出统计")
    private String statistics;

    /**
     * 删除标志
     */
    private Boolean delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getVersion() {
        return version;
    }

    public void setTypeIcon(String typeIcon) {
        this.typeIcon = typeIcon;
    }

    public String getTypeIcon() {
        return typeIcon;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeLevel(String typeLevel) {
        this.typeLevel = typeLevel;
    }

    public String getTypeLevel() {
        return typeLevel;
    }

    public void setTypeParentId(Long typeParentId) {
        this.typeParentId = typeParentId;
    }

    public Long getTypeParentId() {
        return typeParentId;
    }

    public void setTypeDifference(String typeDifference) {
        this.typeDifference = typeDifference;
    }

    public String getTypeDifference() {
        return typeDifference;
    }

    public void setStatistics(String statistics) {
        this.statistics = statistics;
    }

    public String getStatistics() {
        return statistics;
    }

    public Boolean getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Boolean delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public String toString() {
        return "PxBookkeepingClassification{" +
                "id=" + id +
                ", version='" + version + '\'' +
                ", typeIcon='" + typeIcon + '\'' +
                ", orderNum=" + orderNum +
                ", typeName='" + typeName + '\'' +
                ", typeLevel='" + typeLevel + '\'' +
                ", typeParentId='" + typeParentId + '\'' +
                ", typeDifference='" + typeDifference + '\'' +
                ", statistics='" + statistics + '\'' +
                ", delFlag=" + delFlag +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        PxBookkeepingClassification that = (PxBookkeepingClassification) o;
        return Objects.equals(id, that.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }
}
