package com.dxhy.domestic.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;

/**
 * t_dx_tax_current
 *
 * @author dxhy
 */
@TableName("t_dx_tax_current")
public class TdxTaxCurrent implements Serializable {
    private static final long serialVersionUID = 1L;
    private Long id;
    /**
     * 税号
     */
    private String taxno;
    /**
     * 企业名称
     */
    private String taxname;
    /**
     * 当前税款所属期
     */
    private String currentTaxPeriod;
    /**
     * 当前税款所属期可勾选发票的起始开票日期
     */
    private String selectStartDate;
    /**
     * 当前税款所属期可勾选发票的截止开票日期
     */
    private String selectEndDate;
    /**
     * 当前税款所属期可勾选发票操作截止日期
     */
    private String operationEndDate;
    /**
     * 企业旧税号
     */
    private String oldTaxNo;
    /**
     * 申报周期，值为3-季度/1-月
     */
    private String declarePeriod;
    /**
     * 信用等级，值为A/B/C/D或者空
     */
    private String creditRating;
    private Date updateTime;
    private Date createTime;
    /**
     * 锁定状态：0否；1是
     */
    private String latchStatus;
    /**
     * 抵扣限额
     */
    private BigDecimal limitDkse;
    /**
     * 业务密码
     */
    private String bussiPwd;
    /**
     * 新密码
     */
    private String newBussiPwd;
    /**
     * 公司类型：SC或ZC生产企业；WM外贸企业；ZF外综服企业；QT其他 
     */
    private String companyType;
    /**
     * 油类企业类型YLF非成品油企业；YLJX成品油经销企业；YLSC成品油生产企业
     */
    private String oilType;
    /**
     * 纳税人资格 01增值税一般纳税人；02辅导期一般纳税人；04特定征收部门；05转登记纳税人；08小规模纳税人
     */
    private String taxpayerType;
    /**
     * 档案同步时间
     */
    private String syncTime;
    /**
     * 所属期-申报状态；自然月-申报状态（0未申报，1已申报，2未知状态）
     */
    private String indexInfo;
    /**
     * 所属期-申报状态（0未申报，1已申报，2未知状态）
     */
    private String periodIndexInfo;
    /**
     * 自然月-申报状态（0未申报，1已申报，2未知状态）
     */
    private String monthIndexInfo;

    public Long getId() {
        return id;
    }

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

    public String getTaxno() {
        return taxno;
    }

    public void setTaxno(String taxno) {
        this.taxno = taxno;
    }

    public String getTaxname() {
        return taxname;
    }

    public void setTaxname(String taxname) {
        this.taxname = taxname;
    }

    public String getCurrentTaxPeriod() {
        return currentTaxPeriod;
    }

    public void setCurrentTaxPeriod(String currentTaxPeriod) {
        this.currentTaxPeriod = currentTaxPeriod;
    }

    public String getSelectStartDate() {
        return selectStartDate;
    }

    public void setSelectStartDate(String selectStartDate) {
        this.selectStartDate = selectStartDate;
    }

    public String getSelectEndDate() {
        return selectEndDate;
    }

    public void setSelectEndDate(String selectEndDate) {
        this.selectEndDate = selectEndDate;
    }

    public String getOperationEndDate() {
        return operationEndDate;
    }

    public void setOperationEndDate(String operationEndDate) {
        this.operationEndDate = operationEndDate;
    }

    public String getOldTaxNo() {
        return oldTaxNo;
    }

    public void setOldTaxNo(String oldTaxNo) {
        this.oldTaxNo = oldTaxNo;
    }

    public String getDeclarePeriod() {
        return declarePeriod;
    }

    public void setDeclarePeriod(String declarePeriod) {
        this.declarePeriod = declarePeriod;
    }

    public String getCreditRating() {
        return creditRating;
    }

    public void setCreditRating(String creditRating) {
        this.creditRating = creditRating;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getLatchStatus() {
        return latchStatus;
    }

    public void setLatchStatus(String latchStatus) {
        this.latchStatus = latchStatus;
    }

    public BigDecimal getLimitDkse() {
        return limitDkse;
    }

    public void setLimitDkse(BigDecimal limitDkse) {
        this.limitDkse = limitDkse;
    }

    public String getBussiPwd() {
        return bussiPwd;
    }

    public void setBussiPwd(String bussiPwd) {
        this.bussiPwd = bussiPwd;
    }

    public String getNewBussiPwd() {
        return newBussiPwd;
    }

    public void setNewBussiPwd(String newBussiPwd) {
        this.newBussiPwd = newBussiPwd;
    }

    public String getCompanyType() {
        return companyType;
    }

    public void setCompanyType(String companyType) {
        this.companyType = companyType;
    }

    public String getOilType() {
        return oilType;
    }

    public void setOilType(String oilType) {
        this.oilType = oilType;
    }

    public String getTaxpayerType() {
        return taxpayerType;
    }

    public void setTaxpayerType(String taxpayerType) {
        this.taxpayerType = taxpayerType;
    }

    public String getSyncTime() {
        return syncTime;
    }

    public void setSyncTime(String syncTime) {
        this.syncTime = syncTime;
    }

    public String getIndexInfo() {
        return indexInfo;
    }

    public void setIndexInfo(String indexInfo) {
        this.indexInfo = indexInfo;
    }

    public String getPeriodIndexInfo() {
        return periodIndexInfo;
    }

    public void setPeriodIndexInfo(String periodIndexInfo) {
        this.periodIndexInfo = periodIndexInfo;
    }

    public String getMonthIndexInfo() {
        return monthIndexInfo;
    }

    public void setMonthIndexInfo(String monthIndexInfo) {
        this.monthIndexInfo = monthIndexInfo;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        TdxTaxCurrent other = (TdxTaxCurrent)that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getTaxno() == null ? other.getTaxno() == null : this.getTaxno().equals(other.getTaxno()))
            && (this.getTaxname() == null ? other.getTaxname() == null : this.getTaxname().equals(other.getTaxname()))
            && (this.getCurrentTaxPeriod() == null ? other.getCurrentTaxPeriod() == null
                : this.getCurrentTaxPeriod().equals(other.getCurrentTaxPeriod()))
            && (this.getSelectStartDate() == null ? other.getSelectStartDate() == null
                : this.getSelectStartDate().equals(other.getSelectStartDate()))
            && (this.getSelectEndDate() == null ? other.getSelectEndDate() == null
                : this.getSelectEndDate().equals(other.getSelectEndDate()))
            && (this.getOperationEndDate() == null ? other.getOperationEndDate() == null
                : this.getOperationEndDate().equals(other.getOperationEndDate()))
            && (this.getOldTaxNo() == null ? other.getOldTaxNo() == null
                : this.getOldTaxNo().equals(other.getOldTaxNo()))
            && (this.getDeclarePeriod() == null ? other.getDeclarePeriod() == null
                : this.getDeclarePeriod().equals(other.getDeclarePeriod()))
            && (this.getCreditRating() == null ? other.getCreditRating() == null
                : this.getCreditRating().equals(other.getCreditRating()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null
                : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null
                : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getLatchStatus() == null ? other.getLatchStatus() == null
                : this.getLatchStatus().equals(other.getLatchStatus()))
            && (this.getLimitDkse() == null ? other.getLimitDkse() == null
                : this.getLimitDkse().equals(other.getLimitDkse()))
            && (this.getBussiPwd() == null ? other.getBussiPwd() == null
                : this.getBussiPwd().equals(other.getBussiPwd()))
            && (this.getNewBussiPwd() == null ? other.getNewBussiPwd() == null
                : this.getNewBussiPwd().equals(other.getNewBussiPwd()))
            && (this.getCompanyType() == null ? other.getCompanyType() == null
                : this.getCompanyType().equals(other.getCompanyType()))
            && (this.getOilType() == null ? other.getOilType() == null : this.getOilType().equals(other.getOilType()))
            && (this.getTaxpayerType() == null ? other.getTaxpayerType() == null
                : this.getTaxpayerType().equals(other.getTaxpayerType()))
            && (this.getSyncTime() == null ? other.getSyncTime() == null
                : this.getSyncTime().equals(other.getSyncTime()))
            && (this.getIndexInfo() == null ? other.getIndexInfo() == null
                : this.getIndexInfo().equals(other.getIndexInfo()))
            && (this.getPeriodIndexInfo() == null ? other.getPeriodIndexInfo() == null
                : this.getPeriodIndexInfo().equals(other.getPeriodIndexInfo()))
            && (this.getMonthIndexInfo() == null ? other.getMonthIndexInfo() == null
                : this.getMonthIndexInfo().equals(other.getMonthIndexInfo()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getTaxno() == null) ? 0 : getTaxno().hashCode());
        result = prime * result + ((getTaxname() == null) ? 0 : getTaxname().hashCode());
        result = prime * result + ((getCurrentTaxPeriod() == null) ? 0 : getCurrentTaxPeriod().hashCode());
        result = prime * result + ((getSelectStartDate() == null) ? 0 : getSelectStartDate().hashCode());
        result = prime * result + ((getSelectEndDate() == null) ? 0 : getSelectEndDate().hashCode());
        result = prime * result + ((getOperationEndDate() == null) ? 0 : getOperationEndDate().hashCode());
        result = prime * result + ((getOldTaxNo() == null) ? 0 : getOldTaxNo().hashCode());
        result = prime * result + ((getDeclarePeriod() == null) ? 0 : getDeclarePeriod().hashCode());
        result = prime * result + ((getCreditRating() == null) ? 0 : getCreditRating().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getLatchStatus() == null) ? 0 : getLatchStatus().hashCode());
        result = prime * result + ((getLimitDkse() == null) ? 0 : getLimitDkse().hashCode());
        result = prime * result + ((getBussiPwd() == null) ? 0 : getBussiPwd().hashCode());
        result = prime * result + ((getNewBussiPwd() == null) ? 0 : getNewBussiPwd().hashCode());
        result = prime * result + ((getCompanyType() == null) ? 0 : getCompanyType().hashCode());
        result = prime * result + ((getOilType() == null) ? 0 : getOilType().hashCode());
        result = prime * result + ((getTaxpayerType() == null) ? 0 : getTaxpayerType().hashCode());
        result = prime * result + ((getSyncTime() == null) ? 0 : getSyncTime().hashCode());
        result = prime * result + ((getIndexInfo() == null) ? 0 : getIndexInfo().hashCode());
        result = prime * result + ((getPeriodIndexInfo() == null) ? 0 : getPeriodIndexInfo().hashCode());
        result = prime * result + ((getMonthIndexInfo() == null) ? 0 : getMonthIndexInfo().hashCode());
        return result;
    }

    @Override
    public String toString() {
        String sb = getClass().getSimpleName() + " [" + "Hash = " + hashCode() + ", id=" + id + ", taxno=" + taxno
            + ", taxname=" + taxname + ", currentTaxPeriod=" + currentTaxPeriod + ", selectStartDate=" + selectStartDate
            + ", selectEndDate=" + selectEndDate + ", operationEndDate=" + operationEndDate + ", oldTaxNo=" + oldTaxNo
            + ", declarePeriod=" + declarePeriod + ", creditRating=" + creditRating + ", updateTime=" + updateTime
            + ", createTime=" + createTime + ", latchStatus=" + latchStatus + ", limitDkse=" + limitDkse + ", bussiPwd="
            + bussiPwd + ", newBussiPwd=" + newBussiPwd + ", companyType=" + companyType + ", oilType=" + oilType
            + ", taxpayerType=" + taxpayerType + ", syncTime=" + syncTime + ", indexInfo=" + indexInfo
            + ", periodIndexInfo=" + periodIndexInfo + ", monthIndexInfo=" + monthIndexInfo + ", serialVersionUID="
            + serialVersionUID + "]";
        return sb;
    }
}
