package com.dxhy.portrait.business.entity;

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

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

import lombok.Data;

/**
 *
 * **************************************************************************** 底账表
 *
 * @author xuyongyun
 * @date 2019年4月25日
 ******************************************************************************
 */
@SuppressWarnings("AlibabaClassNamingShouldBeCamel")
@Data
@TableName("t_dx_record_invoice")
public class TDxRecordInvoice implements Serializable {

    private static final long serialVersionUID = 6086166653761632484L;

    /**
     * id
     */
    private Long id;

    /**
     * 发票类型 01-增值税专用发票 03-机动车销售统一发票 04-增值税普通发票 10-电子发票 11-卷票 14-通行费发票
     */
    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;

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

    /**
     * 发票状态修改时间
     */
    private Date statusUpdateDate;

    /**
     * 发票状态最后修改时间
     */
    private Date lastUpdateDate;

    /**
     * 认证时间
     */
    private Date rzhDate;

    /**
     * 签收时间
     */
    private Date qsDate;

    /**
     * 最晚认证归属期 yyyymm
     */
    private String rzhBelongDateLate;

    /**
     * 实际认证归属期 yyyymm
     */
    private String rzhBelongDate;

    /**
     * 认证确认时间
     */
    private Date confirmDate;

    /**
     * 认证方式 1-勾选认证 2-扫描认证
     */
    private String rzhType;

    /**
     * 是否认证 0-未认证 1-已认证
     */
    private String rzhYesorno;

    /**
     * 提交认证操作人账号
     */
    private String gxUserAccount;

    /**
     * 提交认证操作人
     */
    private String gxUserName;

    /**
     * 底账来源 0-采集 1-查验
     */
    private String sourceSystem;

    /**
     * 是否有效 1-有效 0-无效
     */
    private String valid;

    /**
     * 发票代码+发票号码 唯一索引 防重复
     */
    private String uuid;

    /**
     * 采集时间
     */
    private Date createDate;

    /**
     * 勾选时间
     */
    private Date gxDate;

    /**
     * 认证结果回传信息
     */
    private String rzhBackMsg;

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

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

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

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

    /**
     * 是否已勾选
     */
    private String sfygx;

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

    /**
     * 勾选方式(0-手工勾选 1-扫码勾选 2-导入勾选 3- 智能勾选 4-手工认证 5-扫码认证 6-导入认证)
     */
    private String gxType;

    /**
     * 认证处理状态 0-未认证 1-已勾选未确认，2已确认 3 已发送认证 4 认证成功 5 认证失败
     */
    private String authStatus;

    /**
     * 发送认证时间
     */
    private Date sendDate;

    /**
     * 认证类型(1-抵扣 2-退税 3-代理退税 4-不抵扣 5逾期 发票已认证、已勾选有该标签）
     */
    private String rzlx;

    /**
     * 是否代办退税(0：否 1：是)
     */
    private String sfdbts;

    /**
     * 签收方式（0-扫码签收 1-扫描仪签收 2-app签收 3-导入签收 4-手工签收5-pdf上传签收
     */
    private String qsType;

    /**
     * 签收结果（0-未签收 1-已签收）
     */
    private String qsStatus;

    /**
     * 校验码
     */
    private String checkCode;

    /**
     * 通行费标志(y-可抵扣通行费，n-不可抵扣通行费)
     */
    private String txfbz;

    /**
     * 零税率标志 (空:非零税率，1:税率栏位显示“免税”，2:税率栏位显示“不征收”，3:零税率
     */
    private String lslbz;

    /**
     * 转出状态 0-未转出 1-全部转出 2-部分转出
     */
    private String outStatus;

    /**
     * 转出金额
     */
    @TableField(fill = FieldFill.UPDATE)
    private BigDecimal outInvoiceAmout;

    /**
     * 转出税额
     */
    @TableField(fill = FieldFill.UPDATE)
    private BigDecimal outTaxAmount;

    /**
     * 转出原因1-免税项目用 ；2-集体福利，个人消费；3-非正常损失；4-简易计税方法征税项目用；5-免抵退税办法不得抵扣的进项税额；6-纳税检查调减进项税额；7-红字专用发票通知单注明的进项税额；8-上期留抵税额抵减欠税
     */
    @TableField(fill = FieldFill.UPDATE)
    private String outReason;

    /**
     * 转出备注
     */
    @TableField(fill = FieldFill.UPDATE)
    private String outRemark;

    /**
     * 转出日期
     */
    @TableField(fill = FieldFill.UPDATE)
    private Date outDate;

    /**
     * 转出人
     */
    @TableField(fill = FieldFill.UPDATE)
    private String outBy;

    /**
     * 确认人
     */
    private String confirmUser;

    /**
     * 机器编号 collate utf32_general_ci
     */
    private String machinecode;

    /**
     * 部门id
     */
    private String deptId;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 结算单号
     */
    private String settlementNo;

    /**
     * 是否结算（0未结算1已结算）
     */
    private String settlementStatus;

    /**
     * 结算单来源
     */
    private String settleSource;

    /**
     * 付款状态（0-付款成功 1-付款失败） collate utf8_bin
     */
    private String paymentStatus;

    /**
     * 付款日期
     */
    private String paymentDate;

    /**
     * 凭证号
     */
    private String voucherNumber;

    /**
     * 付款金额
     */
    private String paymentSum;

    /**
     * 签收人
     */
    private String qsName;

    /**
     * 逾期申请结果
     */
    private String yqsqMsg;

    /**
     * 逾期申请标志 0-未申请 1--已申请 默认为空
     */
    private String yqsqStatus;
    /**
     * 逾期申请属期
     */
    private String yqCurrentPeriod;

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

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

    /**
     * 抵扣税额
     */
    private BigDecimal dkTaxAmount;

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

    /**
     * 异常类型 0发票状态异常1申报用途变更（抵扣变代办退税）2管理状态异常、注：发票状态为正常时为空
     */
    private String yclx;

    /**
     * 逾期审核状态 0--未审核 1--已审核 默认为空
     */
    private String yqshzt;

    /**
     * 撤销认证处理状态0未撤销1撤销申请2发送撤销4撤销成功5撤销失败
     */
    private String cxrzStatus;
    /**
     * 撤销认证操作时间
     */
    private Date cxrzDate;
    /**
     * 撤销认证属期
     */
    private String cxrzCurrentPeriod;
    /**
     * 不认证处理状态0未申请，1申请，2发送申请，4申请成功，5申请失败
     */
    private String bdkStatus;
    /**
     * 撤销不认证处理0未申请，1申请，2发送申请，4申请成功，5申请失败
     */
    private String cxbdkStatus;
    /**
     * 逾期申请日期
     */
    private Date yqsqDate;
    /**
     * 集团编码
     */
    private String company;
}
