package cn.superdesk.uniorder.dao.entity.organisation;

import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.ToString;

/**
 * @Description:
 * @Author: linjinyu
 * @CreateDate: 2021-11-29 16:08:25
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021-11-29 16:08:25
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
@ToString
public class SysSupplierExtInvoice implements Serializable {
    @ApiModelProperty(value = "")
    private Long id;

    @ApiModelProperty(value = "")
    private Integer serviceNo;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    private String serialNumber;

    /**
     * 统一订单 供应商|商户Id 自增长
     */
    @ApiModelProperty(value = "统一订单 供应商|商户Id 自增长")
    private Long sysSupplierId;

    /**
     * 外部系统 供应商|商户Id
     */
    @ApiModelProperty(value = "外部系统 供应商|商户Id")
    private Long outSaleId;

    /**
     * 开票方式(1为随货开票,0为订单预借,2为集中开票 )
     */
    @ApiModelProperty(value = "开票方式(1为随货开票,0为订单预借,2为集中开票 )")
    private Integer invoiceState;

    /**
     * 1普通发票 2增值税发票
     */
    @ApiModelProperty(value = "1普通发票 2增值税发票")
    private Integer invoiceType;

    /**
     * 发票种类:4个人,5单位
     */
    @ApiModelProperty(value = "发票种类:4个人,5单位")
    private Integer selectedInvoiceTitle;

    /**
     * 个人发票抬头
     */
    @ApiModelProperty(value = "个人发票抬头")
    private String realname;

    /**
     * 发票抬头  (如果selectedInvoiceTitle=5则此字段必须)
     */
    @ApiModelProperty(value = "发票抬头  (如果selectedInvoiceTitle=5则此字段必须)")
    private String companyName;

    /**
     * 纳税人识别码 备注 开企业抬头发票,请填写 纳税人识别号 ,以免影响您报销
     */
    @ApiModelProperty(value = "纳税人识别码 备注 开企业抬头发票,请填写 纳税人识别号 ,以免影响您报销")
    private String taxpayersIDCode;

    /**
     * 1:明细,3:电脑配件,19:耗材,22:办公用品 备注:若增值发票则只能选1 明细
     */
    @ApiModelProperty(value = "1:明细,3:电脑配件,19:耗材,22:办公用品 备注:若增值发票则只能选1 明细")
    private Integer invoiceContent;

    /**
     * 增值票收票人姓名 备注:当invoiceType=2 且invoiceState=1时则此字段必填
     */
    @ApiModelProperty(value = "增值票收票人姓名 备注:当invoiceType=2 且invoiceState=1时则此字段必填")
    private String invoiceName;

    /**
     * 增值票收票人电话 备注:当invoiceType=2 且invoiceState=1时则此字段必填
     */
    @ApiModelProperty(value = "增值票收票人电话 备注:当invoiceType=2 且invoiceState=1时则此字段必填")
    private String invoicePhone;

    @ApiModelProperty(value = "")
    private String invoiceEmail;

    /**
     * 联系人-名称
     */
    @ApiModelProperty(value = "联系人-名称")
    private String contactsName;

    /**
     * 联系人-邮箱
     */
    @ApiModelProperty(value = "联系人-邮箱")
    private String contactsEmail;

    /**
     * 联系人-电话
     */
    @ApiModelProperty(value = "联系人-电话")
    private String contactsPhone;

    /**
     * 增值票收票人所在省(京东地址编码) 备注:当invoiceType=2 且invoiceState=1时则此字段必填
     */
    @ApiModelProperty(value = "增值票收票人所在省(京东地址编码) 备注:当invoiceType=2 且invoiceState=1时则此字段必填")
    private Integer invoiceProvice;

    /**
     * 增值票收票人所在市(京东地址编码) 备注:当invoiceType=2 且invoiceState=1时则此字段必填
     */
    @ApiModelProperty(value = "增值票收票人所在市(京东地址编码) 备注:当invoiceType=2 且invoiceState=1时则此字段必填")
    private Integer invoiceCity;

    /**
     * 增值票收票人所在区/县(京东地址编码) 备注:当invoiceType=2 且invoiceState=1时则此字段必填
     */
    @ApiModelProperty(value = "增值票收票人所在区/县(京东地址编码) 备注:当invoiceType=2 且invoiceState=1时则此字段必填")
    private Integer invoiceCounty;

    /**
     * 增值票收票人所在地址 备注:当invoiceType=2 且invoiceState=1时则此字段必填
     */
    @ApiModelProperty(value = "增值票收票人所在地址 备注:当invoiceType=2 且invoiceState=1时则此字段必填")
    private String invoiceAddress;

    /**
     * 复合字段 地址电话
     */
    @ApiModelProperty(value = "复合字段 地址电话")
    private String invoiceAddressPhone;

    /**
     * 复合字段 银行名称与账号
     */
    @ApiModelProperty(value = "复合字段 银行名称与账号")
    private String invoiceBankAccountNumber;

    /**
     * 增值票开户银行
     */
    @ApiModelProperty(value = "增值票开户银行")
    private String invoiceBank;

    /**
     * 增值票开户帐号
     */
    @ApiModelProperty(value = "增值票开户帐号")
    private String invoiceAccount;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "")
    private Integer isDefault;

    @ApiModelProperty(value = "")
    private Integer deleted;

    /**
     * 是否启用:1-启用;0-禁用;
     */
    @ApiModelProperty(value = "是否启用:1-启用;0-禁用;")
    private Integer enabled;

    @ApiModelProperty(value = "")
    private Date createTime;

    @ApiModelProperty(value = "")
    private Long createUserId;

    @ApiModelProperty(value = "")
    private Date updateTime;

    @ApiModelProperty(value = "")
    private Long updateUserId;

    private static final long serialVersionUID = 1L;
}
