package cn.com.ty.lift.ud.payment.mapper.entity;

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

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import cn.com.ty.lift.ud.common.BaseEntity;
import cn.com.ty.lift.ud.userInvoice.mapper.entity.UserInvoice;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 申请发票 
 * 
 * @author Xson
 * @date 2020-04-22
 */
@ApiModel(description="申请发票 ")
@TableName(value= "apply_invoice")
@Data
public class ApplyInvoiceEntity extends BaseEntity {

	/**
     * 发票抬头
     */
    @ApiModelProperty("发票抬头")
    private Long userInvoiceId;
    
    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    private String email;

    /**
     * 关联用户
     */
    @ApiModelProperty("关联用户")
    @JsonSerialize(using=ToStringSerializer.class)
     private Long userId;

    /**
     * 发票请求流水号
     */
    @ApiModelProperty("发票请求流水号")
    private String fpqqlsh;

    /**
     * 开票类型 0蓝字1红字
     */
    @ApiModelProperty("开票类型 0蓝字1红字")
    private String kplx;

    /**
     * 纳税人识别码
     */
    @ApiModelProperty("纳税人识别码")
     private String gmfNsrsbm;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
     private String gmfMc;

    /**
     * 开票人
     */
    @ApiModelProperty("开票人")
    private String kpr;

    /**
     * 收款人
     */
    @ApiModelProperty("收款人")
    private String skr;

    /**
     * 复核人
     */
    @ApiModelProperty("复核人")
    private String fhr;

    /**
     * 价税合计
     */
    @ApiModelProperty("价税合计")
    private BigDecimal jshj;

    /**
     * 合计金额
     */
    @ApiModelProperty("合计金额")
    private BigDecimal hjje;

    /**
     * 合计税额
     */
    @ApiModelProperty("合计税额")
    private BigDecimal hjse;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String bz;

    /**
     * 发票代码
     */
    @ApiModelProperty("发票代码")
    private String dm;

    /**
     * 发票号码
     */
    @ApiModelProperty("发票号码")
    private String hm;

    /**
     * 开票日期
     */
    @ApiModelProperty("开票日期")
    private Date kqrq;

    /**
     * 发票秘文
     */
    @ApiModelProperty("发票秘文")
    private String fpmw;

    /**
     * 校验码
     */
    @ApiModelProperty("校验码")
    private String jym;

    /**
     * 二维码
     */
    @ApiModelProperty("二维码")
    private String ewm;

    /**
     * 状态
     */
    @ApiModelProperty("状态")
    private Integer statuz;
    
    /**
     * 驳回原因
     */
    @ApiModelProperty("驳回原因")
    private String reason;
    
    /**
     * 审核 0通过1未通过2待审核
     */
    @ApiModelProperty("审核 1通过0未通过2待审核")
     private Integer checkFlag;
    
    /**
     * 发票类型 1：个人2企业
     */
    @ApiModelProperty("发票类型 1：个人2企业")
    private Integer type;
    
    
    /**
     * 开户银行
     */
    @ApiModelProperty("开户银行")	
    private String gmfYh;
    
    /**
     * 账号
     */
    @ApiModelProperty("银行账号")	
    private String gmfZh;
    
    /**
     * 驳回原因
     */
    @ApiModelProperty("公司地址")
    private String gmfDz;
    
    /**
     * 驳回原因
     */
    @ApiModelProperty("公司电话")
    private String gmfDh;
    
    /**
     * 发票种类 1：电子发票 2专用发票
     */
    @ApiModelProperty("发票种类 1：电子发票 2专用发票")
    private String invoiceType;
    
    /**
     * 收票人
     */
    @ApiModelProperty("收票人")
    private String receiveTicket;
    
    /**
     * 收票人电话
     */
    @ApiModelProperty("收票人电话")
    private String receiveMebile;
    
    /**
     * 收票人地址
     */
    @ApiModelProperty("收票人地址")
    private String receiveAddress;
    

    private transient List<ApplyInvoiceImgEntity> invoiceImg;
    
    private transient  List<ApplyInvoiceItemEntity> invoiceItem;
    
    private transient  UserInvoice userInvoice;
    
}
