package com.dxhy.erp.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

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

/**
 * @author dxhy
 */
@TableName("t_dx_invoice")
@Data
public class InvoiceElectron extends BasePojo {

    /**
     * 
     */
    private static final long serialVersionUID = -2403216992096244262L;

    // ============== 可直接获取的属性
    /** 扫描备注 */
    private String notes;
    /** 发票代码 */
    private String invoiceCode;
    /** 发票号码 */
    private String invoiceNo;
    /** 数电号码 */
    private String eleInvoiceNo;
    /** 购方税号 */
    private String gfTaxNo;
    /** 购方名称 */
    private String gfName;
    /** 金额 */
    private BigDecimal invoiceAmount;
    /** 税额 */
    private BigDecimal taxAmount;
    /** 价税合计 */
    private BigDecimal totalAmount;
    /** 销方税号 */
    private String xfTaxNo;
    /** 开票日期 */
    private Date invoiceDate;

    // ============== 由参数传递的属性
    /** 扫描路径id */
    @TableField(exist = false)
    private Long scanPathId;

    /** 扫描流水号 */
    private Long invoiceSerialNo;
    /** 发票类型 */
    private String invoiceType;
    /**
     * 发票来源 0-税控发票 1-全电发票
     **/
    private String invoiceSource;
    /** 签收状态 */
    private String qsStatus;
    /** 唯一索引 */
    private String uuid;
    /** 用户账号 */
    private String userAccount;
    /** 用户姓名 */
    private String userName;
    /** 创建时间 */
    private Date createDate;
    /** id */
    @TableId
    private Long id;
    /** 签收时间 */
    private Date qsDate;

    private Date updateDate;

    /** 扫描唯一识别码 */
    private String scanId;

    private String checkCode;

    private String checkReturnCode;

    private String requestId;

    private String vendorId;

    private String qsType;

    private String company;

    private String valid;

    private String xfName;

    private String invoiceStatus;

    private String batchNo;

    private String invoiceRemark;
    private String qsName;

    @TableField(exist = false)
    private String checkInvoiceDate;

    private String voucherNumber;

    public String getVoucherNumber() {
        return voucherNumber;
    }

    public void setVoucherNumber(String voucherNumber) {
        this.voucherNumber = voucherNumber;
    }

    public String getQsName() {
        return qsName;
    }

    public void setQsName(String qsName) {
        this.qsName = qsName;
    }

    public String getCheckInvoiceDate() {
        return checkInvoiceDate;
    }

    public void setCheckInvoiceDate(String invoiceRemark) {
        this.checkInvoiceDate = checkInvoiceDate;
    }

    public String getInvoiceRemark() {
        return invoiceRemark;
    }

    public void setInvoiceRemark(String invoiceRemark) {
        this.invoiceRemark = invoiceRemark;
    }

    public String getCheckReturnCode() {
        return checkReturnCode;
    }

    public void setCheckReturnCode(String checkReturnCode) {
        this.checkReturnCode = checkReturnCode;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getVendorId() {
        return vendorId;
    }

    public void setVendorId(String vendorId) {
        this.vendorId = vendorId;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    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 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 BigDecimal getInvoiceAmount() {
        return invoiceAmount;
    }

    public void setInvoiceAmount(BigDecimal invoiceAmount) {
        this.invoiceAmount = invoiceAmount;
    }

    public BigDecimal getTaxAmount() {
        return taxAmount;
    }

    public void setTaxAmount(BigDecimal taxAmount) {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getXfTaxNo() {
        return xfTaxNo;
    }

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

    public Date getInvoiceDate() {
        return invoiceDate;
    }

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

    public Long getScanPathId() {
        return scanPathId;
    }

    public void setScanPathId(Long scanPathId) {
        this.scanPathId = scanPathId;
    }

    public Long getInvoiceSerialNo() {
        return invoiceSerialNo;
    }

    public void setInvoiceSerialNo(Long invoiceSerialNo) {
        this.invoiceSerialNo = invoiceSerialNo;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

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

    public String getQsStatus() {
        return qsStatus;
    }

    public void setQsStatus(String qsStatus) {
        this.qsStatus = qsStatus;
    }

    public String getUuid() {
        return uuid;
    }

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

    public String getUserAccount() {
        return userAccount;
    }

    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getCreateDate() {
        return createDate;
    }

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

    public Long getId() {
        return id;
    }

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

    public Date getQsDate() {
        return qsDate;
    }

    public void setQsDate(Date qsDate) {
        this.qsDate = qsDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

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

    public String getScanId() {
        return scanId;
    }

    public void setScanId(String scanId) {
        this.scanId = scanId;
    }

    public String getCheckCode() {
        return checkCode;
    }

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

    public String getQsType() {
        return qsType;
    }

    public void setQsType(String qsType) {
        this.qsType = qsType;
    }

    public String getCompany() {
        return company;
    }

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

    public String getValid() {
        return valid;
    }

    public void setValid(String valid) {
        this.valid = valid;
    }

    public String getXfName() {
        return xfName;
    }

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

    public String getInvoiceStatus() {
        return invoiceStatus;
    }

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

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    @Override
    public String toString() {
        return "InvoiceElectron [notes=" + notes + ", invoiceCode=" + invoiceCode + ", invoiceNo=" + invoiceNo
            + ", gfTaxNo=" + gfTaxNo + ", gfName=" + gfName + ", invoiceAmount=" + invoiceAmount + ", taxAmount="
            + taxAmount + ", totalAmount=" + totalAmount + ", xfTaxNo=" + xfTaxNo + ", invoiceDate=" + invoiceDate
            + ", scanPathId=" + scanPathId + ", invoiceSerialNo=" + invoiceSerialNo + ", invoiceType=" + invoiceType
            + ", qsStatus=" + qsStatus + ", uuid=" + uuid + ", userAccount=" + userAccount + ", userName=" + userName
            + ", createDate=" + createDate + ", id=" + id + ", qsDate=" + qsDate + ", scanId=" + scanId + ", checkCode="
            + checkCode + "]";
    }

}
