package cn.superdesk.uniorder.dto.param.invoice.common;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

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

/**
 * @author linjinyu
 * @email linjinyu@avic-s.com
 * @date 2021-07-23 15:30:45
 */
@Data
@ToString
public class InvoiceBankInfoParam implements Serializable {

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

	/**
	 * 收款方名称
	 */
	@ApiModelProperty(value = "收款方名称")
	private String companyName;

	/**
	 * 纳税人识别号
	 */
	@ApiModelProperty(value = "纳税人识别号")
	private String taxpayersIDCode;

	/**
	 * 开户行账号
	 */
	@ApiModelProperty(value = "开户行账号")
	private String bankAccount;

	/**
	 * 开户行名称
	 */
	@ApiModelProperty(value = "开户行名称")
	private String bankName;

	/**
	 * 供货单位
	 */
	@ApiModelProperty(value = "供货单位")
	private String supplyName;

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

	/**
	 * 地址
	 */
	@ApiModelProperty(value = "地址")
	private String address;

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

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

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

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

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

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

	/**
	 * 是否默认:0-正常;1-默认;
	 */
	@ApiModelProperty(value = "是否默认:0-正常;1-默认;")
	private Integer isDefault;

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

	/**
	 * 软删除:0-未删除;1-已删除
	 */
	@ApiModelProperty(value = "软删除:0-未删除;1-已删除")
	private Integer deleted;

	/**
	 * 开票人
	 */
	@ApiModelProperty(value = "开票人")
	private String personNameInvoice;

	/**
	 * 复核人
	 */
	@ApiModelProperty(value = "复核人")
	private String personNameReview;

	/**
	 * 收款人
	 */
	@ApiModelProperty(value = "收款人")
	private String personNameCashier;

	/**
	 * 开票人 - 统一订单 sys_user_id ---- add
	 */
	@ApiModelProperty(value = "开票人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdInvoice;

	/**
	 * 复核人 - 统一订单 sys_user_id ---- add
	 */
	@ApiModelProperty(value = "复核人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdReview;

	/**
	 * 收款人 - 统一订单 sys_user_id ---- add
	 */
	@ApiModelProperty(value = "收款人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdCashier;

	/**
	 * 单张票面最大限额(不含税)-增值税电子普通发票
	 */
	@ApiModelProperty(value = "单张票面最大限额(不含税)-增值税电子普通发票")
	private BigDecimal singleInvoiceMaxAmount1;

	/**
	 * 单张票面最大限额(不含税)-增值税专用发票
	 */
	@ApiModelProperty(value = "单张票面最大限额(不含税)-增值税专用发票")
	private BigDecimal singleInvoiceMaxAmount2;

	/**
	 * 单张票面最大限额(不含税)-增值税普通发票
	 */
	@ApiModelProperty(value = "单张票面最大限额(不含税)-增值税普通发票")
	private BigDecimal singleInvoiceMaxAmount3;

	/**
	 * 单张票面最大限额(不含税)-增值税电子专用发票
	 */
	@ApiModelProperty(value = "单张票面最大限额(不含税)-增值税电子专用发票")
	private BigDecimal singleInvoiceMaxAmount4;

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

	/**
	 * 1-普通发票;2-增值税发票;注:与invoice_type表是对不上的,预留而已
	 */
	@ApiModelProperty(value = "1-普通发票;2-增值税发票;注:与invoice_type表是对不上的,预留而已")
	private Integer invoiceType;

	/**
	 * 增值票收票人姓名 备注:当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;

	/**
	 * 增值票收票人所在省(京东地址编码) 备注:当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;

	/**
	 * 增值票开户银行 就是字段 bank_name 统一名称前先预留
	 */
	@ApiModelProperty(value = "增值票开户银行 就是字段 bank_name 统一名称前先预留")
	private String invoiceBank;

	/**
	 * 增值票开户帐号 就是字段 bank_account 统一名称前先预留
	 */
	@ApiModelProperty(value = "增值票开户帐号 就是字段 bank_account 统一名称前先预留")
	private String invoiceAccount;

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

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

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



	@ApiModelProperty("操作人 sysUserName")
	private String createUserName;
	@ApiModelProperty("操作人 sysUserName")
	private String updateUserName;


}
