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_export_invoice
 *
 * @author dxhy
 */
@TableName("t_dx_export_invoice")
public class TdxExportInvoice implements Serializable {
    private static final long serialVersionUID = 1L;
    private Long id;
    /**
     * 出口转内销证明编号
     */
    private String exportNo;
    /**
     * 发票代码
     */
    private String invoiceCode;
    /**
     * 发票号码
     */
    private String invoiceNo;
    /**
     * 发票类型，01专票，03机动车，08电子专票，04普票，10电票，11卷票，14通行费，17海关缴款书，
     */
    private String invoiceType;
    /**
     * 发票状态0-正常 1-失控 2-作废 3-红冲 4-异常
     */
    private String invoiceStatus;
    /**
     * 开票日期
     */
    private Date invoiceDate;
    /**
     * 购方税号
     */
    private String gfTaxNo;
    /**
     * 购方名称
     */
    private String gfName;
    /**
     * 销方税号
     */
    private String xfTaxNo;
    /**
     * 销方名称
     */
    private String xfName;
    /**
     * 转内销金额
     */
    private BigDecimal exportAmount;
    /**
     * 转内销税额
     */
    private BigDecimal exportTaxAmount;
    /**
     * 转内销有效税额
     */
    private BigDecimal exportYxse;
    /**
     * 认证时间
     */
    private Date rzhDate;
    /**
     * 实际认证归属期
     */
    private String rzhBelongDate;
    /**
     * 认证确认时间
     */
    private Date confirmDate;
    /**
     * 是否认证 0-未认证 1-已认证抵扣，2-已认证不抵扣,
     */
    private String rzhYesorno;
    /**
     * 发票代码+发票号码 唯一索引 防重复
     */
    private String uuid;
    /**
     * 创建时间
     */
    private Date createDate;
    /**
     * 更新时间
     */
    private Date updateDate;
    /**
     * 认证结果回传信息
     */
    private String rzhBackMsg;
    /**
     * 校验码
     */
    private String checkCode;
    /**
     * 通行费标志(Y-可抵扣通行费，N-不可抵扣通行费)
     */
    private String txfbz;
    /**
     * 零税率标志 (空:非零税率，1:税率栏位显示“免税”，2:税率栏位显示“不征收”，3:零税率
     */
    private String lslbz;
    /**
     * 确认人
     */
    private String confirmUser;
    /**
     * 管理状态 0正常1异常
     */
    private String glzt;
    /**
     * 信息来源 0扫描认证 1系统推送 2出口转内销
     */
    private String xxly;
    /**
     * 逾期可勾选标志 0默认值，1可勾选逾期
     */
    private String yqkgxbz;
    /**
     * 集团编码
     */
    private String company;
    /**
     * 撤销认证处理状态0未撤销，1申请撤销，2发送撤销，4撤销成功，5撤销失败
     */
    private String cxrzStatus;
    /**
     * 撤销认证操作时间
     */
    private Date cxrzDate;
    /**
     * 认证类型，1认证抵扣，2认证不抵扣
     */
    private String bdkStatus;
    /**
     * 撤销认证申请属期
     */
    private String cxrzCurrentPeriod;
    /**
     * 不抵扣申请属期
     */
    private String bdkCurrentPeriod;
    /**
     * 撤销不抵扣处理状态0未申请，1申请，2发送申请，4申请成功，5申请失败
     */
    private String cxbdkStatus;
    /**
     * 撤销不抵扣操作时间
     */
    private Date cxbdkDate;
    /**
     * 认证处理状态0-未认证 1-已勾选未确认，2已确认 3 已发送认证 4 认证成功 5 认证失败6撤销认证
     */
    private String authStatus;
    private String rzlx;

    public Long getId() {
        return id;
    }

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

    public String getRzlx() {
        return rzlx;
    }

    public void setRzlx(String rzlx) {
        this.rzlx = rzlx;
    }

    public String getExportNo() {
        return exportNo;
    }

    public void setExportNo(String exportNo) {
        this.exportNo = exportNo;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceStatus() {
        return invoiceStatus;
    }

    public void setInvoiceStatus(String invoiceStatus) {
        this.invoiceStatus = invoiceStatus;
    }

    public Date getInvoiceDate() {
        return invoiceDate;
    }

    public void setInvoiceDate(Date invoiceDate) {
        this.invoiceDate = invoiceDate;
    }

    public String getGfTaxNo() {
        return gfTaxNo;
    }

    public void setGfTaxNo(String gfTaxNo) {
        this.gfTaxNo = gfTaxNo;
    }

    public String getGfName() {
        return gfName;
    }

    public void setGfName(String gfName) {
        this.gfName = gfName;
    }

    public String getXfTaxNo() {
        return xfTaxNo;
    }

    public void setXfTaxNo(String xfTaxNo) {
        this.xfTaxNo = xfTaxNo;
    }

    public String getXfName() {
        return xfName;
    }

    public void setXfName(String xfName) {
        this.xfName = xfName;
    }

    public BigDecimal getExportAmount() {
        return exportAmount;
    }

    public void setExportAmount(BigDecimal exportAmount) {
        this.exportAmount = exportAmount;
    }

    public BigDecimal getExportTaxAmount() {
        return exportTaxAmount;
    }

    public void setExportTaxAmount(BigDecimal exportTaxAmount) {
        this.exportTaxAmount = exportTaxAmount;
    }

    public BigDecimal getExportYxse() {
        return exportYxse;
    }

    public void setExportYxse(BigDecimal exportYxse) {
        this.exportYxse = exportYxse;
    }

    public Date getRzhDate() {
        return rzhDate;
    }

    public void setRzhDate(Date rzhDate) {
        this.rzhDate = rzhDate;
    }

    public String getRzhBelongDate() {
        return rzhBelongDate;
    }

    public void setRzhBelongDate(String rzhBelongDate) {
        this.rzhBelongDate = rzhBelongDate;
    }

    public Date getConfirmDate() {
        return confirmDate;
    }

    public void setConfirmDate(Date confirmDate) {
        this.confirmDate = confirmDate;
    }

    public String getRzhYesorno() {
        return rzhYesorno;
    }

    public void setRzhYesorno(String rzhYesorno) {
        this.rzhYesorno = rzhYesorno;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getRzhBackMsg() {
        return rzhBackMsg;
    }

    public void setRzhBackMsg(String rzhBackMsg) {
        this.rzhBackMsg = rzhBackMsg;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getTxfbz() {
        return txfbz;
    }

    public void setTxfbz(String txfbz) {
        this.txfbz = txfbz;
    }

    public String getLslbz() {
        return lslbz;
    }

    public void setLslbz(String lslbz) {
        this.lslbz = lslbz;
    }

    public String getConfirmUser() {
        return confirmUser;
    }

    public void setConfirmUser(String confirmUser) {
        this.confirmUser = confirmUser;
    }

    public String getGlzt() {
        return glzt;
    }

    public void setGlzt(String glzt) {
        this.glzt = glzt;
    }

    public String getXxly() {
        return xxly;
    }

    public void setXxly(String xxly) {
        this.xxly = xxly;
    }

    public String getYqkgxbz() {
        return yqkgxbz;
    }

    public void setYqkgxbz(String yqkgxbz) {
        this.yqkgxbz = yqkgxbz;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getCxrzStatus() {
        return cxrzStatus;
    }

    public void setCxrzStatus(String cxrzStatus) {
        this.cxrzStatus = cxrzStatus;
    }

    public Date getCxrzDate() {
        return cxrzDate;
    }

    public void setCxrzDate(Date cxrzDate) {
        this.cxrzDate = cxrzDate;
    }

    public String getBdkStatus() {
        return bdkStatus;
    }

    public void setBdkStatus(String bdkStatus) {
        this.bdkStatus = bdkStatus;
    }

    public String getCxrzCurrentPeriod() {
        return cxrzCurrentPeriod;
    }

    public void setCxrzCurrentPeriod(String cxrzCurrentPeriod) {
        this.cxrzCurrentPeriod = cxrzCurrentPeriod;
    }

    public String getBdkCurrentPeriod() {
        return bdkCurrentPeriod;
    }

    public void setBdkCurrentPeriod(String bdkCurrentPeriod) {
        this.bdkCurrentPeriod = bdkCurrentPeriod;
    }

    public String getCxbdkStatus() {
        return cxbdkStatus;
    }

    public void setCxbdkStatus(String cxbdkStatus) {
        this.cxbdkStatus = cxbdkStatus;
    }

    public Date getCxbdkDate() {
        return cxbdkDate;
    }

    public void setCxbdkDate(Date cxbdkDate) {
        this.cxbdkDate = cxbdkDate;
    }

    public String getAuthStatus() {
        return authStatus;
    }

    public void setAuthStatus(String authStatus) {
        this.authStatus = authStatus;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        TdxExportInvoice other = (TdxExportInvoice)that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getExportNo() == null ? other.getExportNo() == null
                : this.getExportNo().equals(other.getExportNo()))
            && (this.getInvoiceCode() == null ? other.getInvoiceCode() == null
                : this.getInvoiceCode().equals(other.getInvoiceCode()))
            && (this.getInvoiceNo() == null ? other.getInvoiceNo() == null
                : this.getInvoiceNo().equals(other.getInvoiceNo()))
            && (this.getInvoiceType() == null ? other.getInvoiceType() == null
                : this.getInvoiceType().equals(other.getInvoiceType()))
            && (this.getInvoiceStatus() == null ? other.getInvoiceStatus() == null
                : this.getInvoiceStatus().equals(other.getInvoiceStatus()))
            && (this.getInvoiceDate() == null ? other.getInvoiceDate() == null
                : this.getInvoiceDate().equals(other.getInvoiceDate()))
            && (this.getGfTaxNo() == null ? other.getGfTaxNo() == null : this.getGfTaxNo().equals(other.getGfTaxNo()))
            && (this.getGfName() == null ? other.getGfName() == null : this.getGfName().equals(other.getGfName()))
            && (this.getXfTaxNo() == null ? other.getXfTaxNo() == null : this.getXfTaxNo().equals(other.getXfTaxNo()))
            && (this.getXfName() == null ? other.getXfName() == null : this.getXfName().equals(other.getXfName()))
            && (this.getExportAmount() == null ? other.getExportAmount() == null
                : this.getExportAmount().equals(other.getExportAmount()))
            && (this.getExportTaxAmount() == null ? other.getExportTaxAmount() == null
                : this.getExportTaxAmount().equals(other.getExportTaxAmount()))
            && (this.getExportYxse() == null ? other.getExportYxse() == null
                : this.getExportYxse().equals(other.getExportYxse()))
            && (this.getRzhDate() == null ? other.getRzhDate() == null : this.getRzhDate().equals(other.getRzhDate()))
            && (this.getRzhBelongDate() == null ? other.getRzhBelongDate() == null
                : this.getRzhBelongDate().equals(other.getRzhBelongDate()))
            && (this.getConfirmDate() == null ? other.getConfirmDate() == null
                : this.getConfirmDate().equals(other.getConfirmDate()))
            && (this.getRzhYesorno() == null ? other.getRzhYesorno() == null
                : this.getRzhYesorno().equals(other.getRzhYesorno()))
            && (this.getUuid() == null ? other.getUuid() == null : this.getUuid().equals(other.getUuid()))
            && (this.getCreateDate() == null ? other.getCreateDate() == null
                : this.getCreateDate().equals(other.getCreateDate()))
            && (this.getUpdateDate() == null ? other.getUpdateDate() == null
                : this.getUpdateDate().equals(other.getUpdateDate()))
            && (this.getRzhBackMsg() == null ? other.getRzhBackMsg() == null
                : this.getRzhBackMsg().equals(other.getRzhBackMsg()))
            && (this.getCheckCode() == null ? other.getCheckCode() == null
                : this.getCheckCode().equals(other.getCheckCode()))
            && (this.getTxfbz() == null ? other.getTxfbz() == null : this.getTxfbz().equals(other.getTxfbz()))
            && (this.getLslbz() == null ? other.getLslbz() == null : this.getLslbz().equals(other.getLslbz()))
            && (this.getConfirmUser() == null ? other.getConfirmUser() == null
                : this.getConfirmUser().equals(other.getConfirmUser()))
            && (this.getGlzt() == null ? other.getGlzt() == null : this.getGlzt().equals(other.getGlzt()))
            && (this.getXxly() == null ? other.getXxly() == null : this.getXxly().equals(other.getXxly()))
            && (this.getYqkgxbz() == null ? other.getYqkgxbz() == null : this.getYqkgxbz().equals(other.getYqkgxbz()))
            && (this.getCompany() == null ? other.getCompany() == null : this.getCompany().equals(other.getCompany()))
            && (this.getCxrzStatus() == null ? other.getCxrzStatus() == null
                : this.getCxrzStatus().equals(other.getCxrzStatus()))
            && (this.getCxrzDate() == null ? other.getCxrzDate() == null
                : this.getCxrzDate().equals(other.getCxrzDate()))
            && (this.getBdkStatus() == null ? other.getBdkStatus() == null
                : this.getBdkStatus().equals(other.getBdkStatus()))
            && (this.getCxrzCurrentPeriod() == null ? other.getCxrzCurrentPeriod() == null
                : this.getCxrzCurrentPeriod().equals(other.getCxrzCurrentPeriod()))
            && (this.getBdkCurrentPeriod() == null ? other.getBdkCurrentPeriod() == null
                : this.getBdkCurrentPeriod().equals(other.getBdkCurrentPeriod()))
            && (this.getCxbdkStatus() == null ? other.getCxbdkStatus() == null
                : this.getCxbdkStatus().equals(other.getCxbdkStatus()))
            && (this.getCxbdkDate() == null ? other.getCxbdkDate() == null
                : this.getCxbdkDate().equals(other.getCxbdkDate()))
            && (this.getAuthStatus() == null ? other.getAuthStatus() == null
                : this.getAuthStatus().equals(other.getAuthStatus()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getExportNo() == null) ? 0 : getExportNo().hashCode());
        result = prime * result + ((getInvoiceCode() == null) ? 0 : getInvoiceCode().hashCode());
        result = prime * result + ((getInvoiceNo() == null) ? 0 : getInvoiceNo().hashCode());
        result = prime * result + ((getInvoiceType() == null) ? 0 : getInvoiceType().hashCode());
        result = prime * result + ((getInvoiceStatus() == null) ? 0 : getInvoiceStatus().hashCode());
        result = prime * result + ((getInvoiceDate() == null) ? 0 : getInvoiceDate().hashCode());
        result = prime * result + ((getGfTaxNo() == null) ? 0 : getGfTaxNo().hashCode());
        result = prime * result + ((getGfName() == null) ? 0 : getGfName().hashCode());
        result = prime * result + ((getXfTaxNo() == null) ? 0 : getXfTaxNo().hashCode());
        result = prime * result + ((getXfName() == null) ? 0 : getXfName().hashCode());
        result = prime * result + ((getExportAmount() == null) ? 0 : getExportAmount().hashCode());
        result = prime * result + ((getExportTaxAmount() == null) ? 0 : getExportTaxAmount().hashCode());
        result = prime * result + ((getExportYxse() == null) ? 0 : getExportYxse().hashCode());
        result = prime * result + ((getRzhDate() == null) ? 0 : getRzhDate().hashCode());
        result = prime * result + ((getRzhBelongDate() == null) ? 0 : getRzhBelongDate().hashCode());
        result = prime * result + ((getConfirmDate() == null) ? 0 : getConfirmDate().hashCode());
        result = prime * result + ((getRzhYesorno() == null) ? 0 : getRzhYesorno().hashCode());
        result = prime * result + ((getUuid() == null) ? 0 : getUuid().hashCode());
        result = prime * result + ((getCreateDate() == null) ? 0 : getCreateDate().hashCode());
        result = prime * result + ((getUpdateDate() == null) ? 0 : getUpdateDate().hashCode());
        result = prime * result + ((getRzhBackMsg() == null) ? 0 : getRzhBackMsg().hashCode());
        result = prime * result + ((getCheckCode() == null) ? 0 : getCheckCode().hashCode());
        result = prime * result + ((getTxfbz() == null) ? 0 : getTxfbz().hashCode());
        result = prime * result + ((getLslbz() == null) ? 0 : getLslbz().hashCode());
        result = prime * result + ((getConfirmUser() == null) ? 0 : getConfirmUser().hashCode());
        result = prime * result + ((getGlzt() == null) ? 0 : getGlzt().hashCode());
        result = prime * result + ((getXxly() == null) ? 0 : getXxly().hashCode());
        result = prime * result + ((getYqkgxbz() == null) ? 0 : getYqkgxbz().hashCode());
        result = prime * result + ((getCompany() == null) ? 0 : getCompany().hashCode());
        result = prime * result + ((getCxrzStatus() == null) ? 0 : getCxrzStatus().hashCode());
        result = prime * result + ((getCxrzDate() == null) ? 0 : getCxrzDate().hashCode());
        result = prime * result + ((getBdkStatus() == null) ? 0 : getBdkStatus().hashCode());
        result = prime * result + ((getCxrzCurrentPeriod() == null) ? 0 : getCxrzCurrentPeriod().hashCode());
        result = prime * result + ((getBdkCurrentPeriod() == null) ? 0 : getBdkCurrentPeriod().hashCode());
        result = prime * result + ((getCxbdkStatus() == null) ? 0 : getCxbdkStatus().hashCode());
        result = prime * result + ((getCxbdkDate() == null) ? 0 : getCxbdkDate().hashCode());
        result = prime * result + ((getAuthStatus() == null) ? 0 : getAuthStatus().hashCode());
        return result;
    }

    @Override
    public String toString() {
        String sb = getClass().getSimpleName() + " [" + "Hash = " + hashCode() + ", id=" + id + ", exportNo=" + exportNo
            + ", invoiceCode=" + invoiceCode + ", invoiceNo=" + invoiceNo + ", invoiceType=" + invoiceType
            + ", invoiceStatus=" + invoiceStatus + ", invoiceDate=" + invoiceDate + ", gfTaxNo=" + gfTaxNo + ", gfName="
            + gfName + ", xfTaxNo=" + xfTaxNo + ", xfName=" + xfName + ", exportAmount=" + exportAmount
            + ", exportTaxAmount=" + exportTaxAmount + ", exportYxse=" + exportYxse + ", rzhDate=" + rzhDate
            + ", rzhBelongDate=" + rzhBelongDate + ", confirmDate=" + confirmDate + ", rzhYesorno=" + rzhYesorno
            + ", uuid=" + uuid + ", createDate=" + createDate + ", updateDate=" + updateDate + ", rzhBackMsg="
            + rzhBackMsg + ", checkCode=" + checkCode + ", txfbz=" + txfbz + ", lslbz=" + lslbz + ", confirmUser="
            + confirmUser + ", glzt=" + glzt + ", xxly=" + xxly + ", yqkgxbz=" + yqkgxbz + ", company=" + company
            + ", cxrzStatus=" + cxrzStatus + ", cxrzDate=" + cxrzDate + ", bdkStatus=" + bdkStatus
            + ", cxrzCurrentPeriod=" + cxrzCurrentPeriod + ", bdkCurrentPeriod=" + bdkCurrentPeriod + ", cxbdkStatus="
            + cxbdkStatus + ", cxbdkDate=" + cxbdkDate + ", authStatus=" + authStatus + ", serialVersionUID="
            + serialVersionUID + "]";
        return sb;
    }
}
