package com.dxhy.erp.entity;

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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Getter;
import lombok.Setter;

/**
 * 发票底账实体 Created by 田继东 on 2016/11/24
 * 
 * @author dxhy
 */
@Getter
@Setter
@TableName("t_dx_record_invoice")
public class RecordInvoice extends BasePojo {
    private static final long serialVersionUID = -2496130397993637282L;

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

    /**
     * 发票类型
     */
    private String invoiceType;

    /**
     * 发票代码
     */
    private String invoiceCode;

    /**
     * 发票号码
     */
    private String invoiceNo;

    /**
     * 开票日期
     */
    private Date invoiceDate;

    /**
     * 购方税号
     */
    private String gfTaxNo;

    /**
     * 购方名称
     */
    private String gfName;

    /**
     * 购方地址及电话
     */
    private String gfAddressAndPhone;

    /**
     * 购方开户行及银行账号
     */
    private String gfBankAndNo;

    /**
     * 销方税号
     */
    private String xfTaxNo;

    /**
     * 销方名称
     */
    private String xfName;

    /**
     * 销方地址电话
     */
    private String xfAddressAndPhone;

    /**
     * 销方开户行及电话
     */
    private String xfBankAndNo;

    /**
     * 金额
     */
    private BigDecimal invoiceAmount;

    /**
     * 税额
     */
    private BigDecimal taxAmount;

    /**
     * 价格合计
     */
    private BigDecimal totalAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 底账状态
     */
    private String invoiceStatus;
    /**
     * 底账状态 最后更新时间
     */
    private Date lastUpdateDate;

    /**
     * 认证时间
     */
    private Date confirmDate;
    /**
     * 签收时间
     */
    private Date qsDate;
    /**
     * 最后一个有效归属期 格式 yyyyMM
     */
    private Integer rzhBelongDateLate;
    /**
     * 实际认证的归属期 格式 yyyyMM
     */
    private Integer rzhBelongDate;
    /**
     * 认证方式
     */
    private String rzhType;
    /**
     * 是否认证
     */
    private String rzhYesorno;
    /**
     * 操作人
     */
    private String gxUserAccount;
    private String gxUserName;

    /**
     * 底账来源
     */
    private String sourceSystem;

    /**
     * 是否有效
     * 
     */
    private String valid;

    private String uuid;

    /**
     * 数据产生日期
     */
    private Date createDate;

    /**
     * 当前税款所属期
     */
    private String dqskssq;
    @TableField(exist = false)
    private ArrayList<RecordInvoiceDetail> detailList;

    /**
     * 税率
     */
    @TableField(exist = false)
    private Integer theOnlyTax;

    /**
     * 是否存入明细 0 无明细 1 有明细
     */
    private Integer detailYesorno;

    /**
     * 发票签收处理状态
     */
    private String authStatus;
    /**
     * 发票认证处理状态
     */
    @TableField(exist = false)
    private String scanStatus;

    /**
     * 校验码
     */
    private String checkCode;
    /**
     * 扫描人名称
     */
    @TableField(exist = false)
    private String userName;
    /**
     * 扫描日期
     */
    @TableField(exist = false)
    private Date scanDate;
    @TableField(exist = false)
    private String node;

    private String requestId;
    private String vendorId;
    @TableField(exist = false)
    private String userAccount;

    private String qsType;

    private String qsStatus;

    private String qsName;

    private String company;

    private String scanId;
    private String txfbz;
    private String machinecode;

}
