package com.jianshui.income.domain.entity;

import com.jianshui.common.annotation.Excel;
import com.jianshui.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 发票查验对象 invoice_check
 *
 * @author yuqz
 * @date 2021-08-10
 */
public class InvoiceCheckEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增id
     */
    private Integer id;

    /**
     * company_id
     */
    private Long companyId;

    /**
     * 批次号，为null则不是通过批量查询接口查询的数据
     */
    private String pch;

    /**
     * 查验结果
     */
    @Excel(name = "查验结果  ")
    private String cyjg;

    /**
     * 查验结果信息   查询结果的信息
     */
    @Excel(name = "查验结果信息   查询结果的信息")
    private String cyjgxx;

    /**
     * 发票种类
     */
    @Excel(name = "发票种类")
    private String fpzl;

    /**
     * 发票代码
     */
    @Excel(name = "发票代码")
    private String fpdm;

    /**
     * 发票号码
     */
    @Excel(name = "发票号码")
    private String fphm;

    /**
     * 查验次数
     */
    @Excel(name = "查验次数")
    private String cycs;

    /**
     * 销售方名称
     */
    @Excel(name = "销售方名称")
    private String xhfmc;

    /**
     * 销售方识别号
     */
    private String xhfsbh;

    /**
     * 销售方地址电
     */
    private String xhfdzdh;

    /**
     * 销售方开户行
     */
    private String xhfyhzh;

    /**
     * 购买方识别号
     */
    private String gmfsbh;

    /**
     * 购买方名称
     */
    @Excel(name = "购买方名称")
    private String gmfmc;

    /**
     * 购方地址、电话
     */
    private String gmfdzdh;

    /**
     * 购买方开户行及账号
     */
    private String gmfyhzh;

    /**
     * 开票日期   格式 YYYYMMDD
     */
    @Excel(name = "开票日期 格式 YYYYMMDD")
    private String kprq;

    /**
     * 发票金额   发票种类为 01，02，03，14 时不可为空，填写发票不含税金额
     */
    @Excel(name = "发票金额   发票种类为 01，02，03，14 时不可为空，填写发票不含税金额")
    private String fpje;

    /**
     * 发票税额
     */
    @Excel(name = "发票税额")
    private String fpse;

    /**
     * 价税合计
     */
    @Excel(name = "价税合计")
    private String jshj;

    /**
     * 备注
     */
    private String bz;

    /**
     * 机器编号
     */
    private String jqbh;

    /**
     * 开票人
     */
    private String kpr;

    /**
     * 收款人
     */
    private String skr;

    /**
     * 复核人
     */
    private String fhr;

    /**
     * 校验码，这里大象的文档写着32位，但是测试还有不满足的情况
     */
    private String jym;

    /**
     * 作废标志   Y:已作废 H:已冲红 N：未作废
     */
    private String zfbz;

    /**
     * 状态，0未查询，1已查询
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 当前税款所属期
     */
    private String dqskssq;

    /**
     * 当前税款所属期勾选截止日
     */
    private String gxjzr;

    /**
     * 当前税款所属期可勾选发票开票日期起
     */
    private String gxrqq;

    /**
     * 当前税款所属期可勾选发票开票日期止
     */
    private String gxrqz;

    /**
     * 发票状态0-正常 1-失控 2-作废 3-红冲 4-异常
     */
    private String fpzt;

    /**
     * 认证状态0-未认证 1-已认证
     */
    private String rzzt;

    /**
     * 认证日期
     */
    private String rzrq;

    /**
     * 认证归属期(机动车：税款所属期)
     */
    private String rzsq;

    /**
     * 认证类型0-未抵扣
     * 1-抵扣
     * 2-退税
     * 3-代理退税
     * 4-不抵扣
     */
    private String rzlx;

    /**
     * 信息来源0扫描认证
     * 1系统推送
     * 2出口转内销
     */
    private String xxly;

    /**
     * 有效税额当RZLX=1(抵扣)、4(不抵扣)、时不为空
     */
    private String yxse;

    /**
     * 逾期可勾选标志逾期可勾选标志0默认值
     * 1 可勾选逾期
     */
    private String yqkgxbz;

    /**
     * 管理状态0 正常1 异常
     */
    private String glzt;

    /**
     * 认证处理状态 0未认证1待认证2系统认证中3第三方认证中4认证成功5认证失败
     */
    private String rzclzt;

    /**
     * 1 成功2 无此票3 该票异常无法认证4 该票已认证5 该票已经逾期无法认证6 该票已经申请认证7 申请认证月份不匹配8 其他异常9 该票未到期10 红票无法认证11 认证类型不匹配12 信用等级异常13 token 超过五天未获取14 该票不可勾选为逾期15 有效税额异常（有效税额大 于实际税额）16 当期已锁定17 逾期不可勾选18 发票未勾选（确认）19 取消操作不匹配98 管理状态异常
     */
    private String sbyy;

    // 详情子类
    private List<InvoiceCheckDetail> invoiceCheckDetail;

    public List<InvoiceCheckDetail> getInvoiceCheckDetail() {
        return invoiceCheckDetail;
    }

    public void setInvoiceCheckDetail(List<InvoiceCheckDetail> invoiceCheckDetail) {
        this.invoiceCheckDetail = invoiceCheckDetail;
    }

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

    public Integer getId() {
        return id;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setPch(String pch) {
        this.pch = pch;
    }

    public String getPch() {
        return pch;
    }

    public void setCyjg(String cyjg) {
        this.cyjg = cyjg;
    }

    public String getCyjg() {
        return cyjg;
    }

    public void setCyjgxx(String cyjgxx) {
        this.cyjgxx = cyjgxx;
    }

    public String getCyjgxx() {
        return cyjgxx;
    }

    public void setFpzl(String fpzl) {
        this.fpzl = fpzl;
    }

    public String getFpzl() {
        return fpzl;
    }

    public void setFpdm(String fpdm) {
        this.fpdm = fpdm;
    }

    public String getFpdm() {
        return fpdm;
    }

    public void setFphm(String fphm) {
        this.fphm = fphm;
    }

    public String getFphm() {
        return fphm;
    }

    public void setCycs(String cycs) {
        this.cycs = cycs;
    }

    public String getCycs() {
        return cycs;
    }

    public void setXhfmc(String xhfmc) {
        this.xhfmc = xhfmc;
    }

    public String getXhfmc() {
        return xhfmc;
    }

    public void setXhfsbh(String xhfsbh) {
        this.xhfsbh = xhfsbh;
    }

    public String getXhfsbh() {
        return xhfsbh;
    }

    public void setXhfdzdh(String xhfdzdh) {
        this.xhfdzdh = xhfdzdh;
    }

    public String getXhfdzdh() {
        return xhfdzdh;
    }

    public void setXhfyhzh(String xhfyhzh) {
        this.xhfyhzh = xhfyhzh;
    }

    public String getXhfyhzh() {
        return xhfyhzh;
    }

    public void setGmfsbh(String gmfsbh) {
        this.gmfsbh = gmfsbh;
    }

    public String getGmfsbh() {
        return gmfsbh;
    }

    public void setGmfmc(String gmfmc) {
        this.gmfmc = gmfmc;
    }

    public String getGmfmc() {
        return gmfmc;
    }

    public void setGmfdzdh(String gmfdzdh) {
        this.gmfdzdh = gmfdzdh;
    }

    public String getGmfdzdh() {
        return gmfdzdh;
    }

    public void setGmfyhzh(String gmfyhzh) {
        this.gmfyhzh = gmfyhzh;
    }

    public String getGmfyhzh() {
        return gmfyhzh;
    }

    public void setKprq(String kprq) {
        this.kprq = kprq;
    }

    public String getKprq() {
        return kprq;
    }

    public void setFpje(String fpje) {
        this.fpje = fpje;
    }

    public String getFpje() {
        return fpje;
    }

    public void setFpse(String fpse) {
        this.fpse = fpse;
    }

    public String getFpse() {
        return fpse;
    }

    public void setJshj(String jshj) {
        this.jshj = jshj;
    }

    public String getJshj() {
        return jshj;
    }

    public void setBz(String bz) {
        this.bz = bz;
    }

    public String getBz() {
        return bz;
    }

    public void setJqbh(String jqbh) {
        this.jqbh = jqbh;
    }

    public String getJqbh() {
        return jqbh;
    }

    public void setKpr(String kpr) {
        this.kpr = kpr;
    }

    public String getKpr() {
        return kpr;
    }

    public void setSkr(String skr) {
        this.skr = skr;
    }

    public String getSkr() {
        return skr;
    }

    public void setFhr(String fhr) {
        this.fhr = fhr;
    }

    public String getFhr() {
        return fhr;
    }

    public void setJym(String jym) {
        this.jym = jym;
    }

    public String getJym() {
        return jym;
    }

    public void setZfbz(String zfbz) {
        this.zfbz = zfbz;
    }

    public String getZfbz() {
        return zfbz;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setDqskssq(String dqskssq) {
        this.dqskssq = dqskssq;
    }

    public String getDqskssq() {
        return dqskssq;
    }

    public void setGxjzr(String gxjzr) {
        this.gxjzr = gxjzr;
    }

    public String getGxjzr() {
        return gxjzr;
    }

    public void setGxrqq(String gxrqq) {
        this.gxrqq = gxrqq;
    }

    public String getGxrqq() {
        return gxrqq;
    }

    public void setGxrqz(String gxrqz) {
        this.gxrqz = gxrqz;
    }

    public String getGxrqz() {
        return gxrqz;
    }

    public void setFpzt(String fpzt) {
        this.fpzt = fpzt;
    }

    public String getFpzt() {
        return fpzt;
    }

    public void setRzzt(String rzzt) {
        this.rzzt = rzzt;
    }

    public String getRzzt() {
        return rzzt;
    }

    public void setRzrq(String rzrq) {
        this.rzrq = rzrq;
    }

    public String getRzrq() {
        return rzrq;
    }

    public void setRzsq(String rzsq) {
        this.rzsq = rzsq;
    }

    public String getRzsq() {
        return rzsq;
    }

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

    public String getRzlx() {
        return rzlx;
    }

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

    public String getXxly() {
        return xxly;
    }

    public void setYxse(String yxse) {
        this.yxse = yxse;
    }

    public String getYxse() {
        return yxse;
    }

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

    public String getYqkgxbz() {
        return yqkgxbz;
    }

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

    public String getGlzt() {
        return glzt;
    }

    public void setRzclzt(String rzclzt) {
        this.rzclzt = rzclzt;
    }

    public String getRzclzt() {
        return rzclzt;
    }

    public void setSbyy(String sbyy) {
        this.sbyy = sbyy;
    }

    public String getSbyy() {
        return sbyy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("companyId", getCompanyId())
                .append("pch", getPch())
                .append("cyjg", getCyjg())
                .append("cyjgxx", getCyjgxx())
                .append("fpzl", getFpzl())
                .append("fpdm", getFpdm())
                .append("fphm", getFphm())
                .append("cycs", getCycs())
                .append("xhfmc", getXhfmc())
                .append("xhfsbh", getXhfsbh())
                .append("xhfdzdh", getXhfdzdh())
                .append("xhfyhzh", getXhfyhzh())
                .append("gmfsbh", getGmfsbh())
                .append("gmfmc", getGmfmc())
                .append("gmfdzdh", getGmfdzdh())
                .append("gmfyhzh", getGmfyhzh())
                .append("kprq", getKprq())
                .append("fpje", getFpje())
                .append("fpse", getFpse())
                .append("jshj", getJshj())
                .append("bz", getBz())
                .append("jqbh", getJqbh())
                .append("kpr", getKpr())
                .append("skr", getSkr())
                .append("fhr", getFhr())
                .append("jym", getJym())
                .append("zfbz", getZfbz())
                .append("status", getStatus())
                .append("createdAt", getCreatedAt())
                .append("dqskssq", getDqskssq())
                .append("gxjzr", getGxjzr())
                .append("gxrqq", getGxrqq())
                .append("gxrqz", getGxrqz())
                .append("fpzt", getFpzt())
                .append("rzzt", getRzzt())
                .append("rzrq", getRzrq())
                .append("rzsq", getRzsq())
                .append("rzlx", getRzlx())
                .append("xxly", getXxly())
                .append("yxse", getYxse())
                .append("yqkgxbz", getYqkgxbz())
                .append("glzt", getGlzt())
                .append("rzclzt", getRzclzt())
                .append("sbyy", getSbyy())
                .toString();
    }
}
