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

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
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
 * 税务管理软件E6
 * 深圳航天信息研制
 * 版本号 3.0.21.112
 * 版本类型 Excel&Txt组件接口版
 * 导入用 行数据
 * @email linjinyu@avic-s.com
 * @date 2021-03-16 17:29:47
 */
@Data
@ToString
public class InvoiceInvoicedParam implements Serializable {

	@ApiModelProperty("")
	private Long id;

	@ApiModelProperty("发票编号")
	@ExcelProperty(value = "发票编号", index = 0)
	private String invoiceSequenceNumber;
	@ApiModelProperty("ERP单据编号")
	@ExcelProperty(value = "ERP单据编号", index = 1)
	private String erpDocumentNumber;
	@ApiModelProperty("发票种类")
	@ExcelProperty(value = "发票种类", index = 2)
	private String invoiceType;
	@ApiModelProperty("类别代码 - 发票代码 - 这个是发票上的那个发票代码 eg 4403202130")
	@ExcelProperty(value = "类别代码", index = 3)
	private String categoryCode;
	@ApiModelProperty("发票号码")
	@ExcelProperty(value = "发票号码", index = 4)
	private String invoiceNumber;
	@ApiModelProperty("开票机号")
	@ExcelProperty(value = "开票机号", index = 5)
	private String billingMachineNumber;

	@ApiModelProperty("购方名称")
	@ExcelProperty(value = "购方名称", index = 6)
	private String purchaserCompanyName;
	@ApiModelProperty("购方税号")
	@ExcelProperty(value = "购方税号", index = 7)
	private String purchaserTaxpayersIDCode;
	@ApiModelProperty("购方地址电话")
	@ExcelProperty(value = "购方地址电话", index = 8)
	private String purchaserAddressPhone;

	@ApiModelProperty("购方电话----add")
	private String purchaserPhone;
	@ApiModelProperty("购方地址----add")
	private String purchaserAddress;

	@ApiModelProperty("购方银行帐号")
	@ExcelProperty(value = "购方银行帐号", index = 9)
	private String purchaserBankAccountNumber;

	@ApiModelProperty("销方名称")
	@ExcelProperty(value = "销方名称", index = 10)
	private String sellerCompanyName;
	@ApiModelProperty("销方税号")
	@ExcelProperty(value = "销方税号", index = 11)
	private String sellerTaxpayersIDCode;
	@ApiModelProperty("销方地址电话")
	@ExcelProperty(value = "销方地址电话", index = 12)
	private String sellerAddressPhone;


	@ApiModelProperty("销方地址----add")
	private String sellerAddress;
	@ApiModelProperty("销方电话----add")
	private String sellerPhone;


	@ApiModelProperty("销方银行帐号")
	@ExcelProperty(value = "销方银行帐号", index = 13)
	private String  sellerBankAccountNumber;
	@ApiModelProperty("加密版本号")
	@ExcelProperty(value = "加密版本号", index = 14)
	private String  encryptedVersionNumber;
	@ApiModelProperty("开票日期 eg 2021-03-03 10:02:34")
	@ExcelProperty(value = "开票日期", index = 15)
	private Date    invoicedDate;
	@ApiModelProperty("所属月份 eg 3")
	@ExcelProperty(value = "所属月份", index = 16)
	private Integer reportingPeriod;


	/****************************************** 会计格式 双精度 start ******************************************/
	@ApiModelProperty("合计金额 eg ￥3,126.11")
	@ExcelProperty(value = "合计金额", index = 17)
	@NumberFormat("\u00A4#,###,###.00")
	private BigDecimal totalAmount;

	@ApiModelProperty("税率 eg 0.13")
	@ExcelProperty(value = "税率", index = 18)
//	@NumberFormat("#.##%")
	@NumberFormat("0.00")
	private BigDecimal taxRate;


	@ApiModelProperty("合计税额 eg ￥406.39")
	@ExcelProperty(value = "合计税额", index = 19)
	@NumberFormat("\u00A4#,###,###.00")
	private BigDecimal totalTax;

	@ApiModelProperty("含税总金额 eg ￥3,532.50")
	@ExcelProperty(value = "含税总金额", index = 20)
	@NumberFormat("\u00A4#,###,###.00")
	private BigDecimal totalAmountIncludingTax;
	/****************************************** 会计格式 双精度   end ******************************************/

	@ApiModelProperty("主要商品名称")
	@ExcelProperty(value = "主要商品名称", index = 21)
	private String     mainGoodsName;
	@ApiModelProperty("商品税目")
	@ExcelProperty(value = "商品税目", index = 22)
	private String     goodsTaxItem;
	@ApiModelProperty("备注")
	@ExcelProperty(value = "备注", index = 23)
	private String     remarks;


	@ApiModelProperty("开票人")
	@ExcelProperty(value = "开票人", index = 24)
	private String personNameInvoice;
	@ApiModelProperty("复核人")
	@ExcelProperty(value = "复核人", index = 25)
	private String personNameReview;
	@ApiModelProperty("收款人")
	@ExcelProperty(value = "收款人", index = 26)
	private String personNameCashier;

	@ApiModelProperty("开票人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdInvoice;
	@ApiModelProperty("复核人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdReview;
	@ApiModelProperty("收款人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdCashier;


	@ApiModelProperty("清单标志 eg True TRUE False FALSE")
	@ExcelProperty(value = "清单标志", index = 27)
	private String flagList;
	@ApiModelProperty("作废标志 eg True TRUE False FALSE")
	@ExcelProperty(value = "作废标志", index = 28)
	private String flagVoidSign;
	@ApiModelProperty("修复标志 eg True TRUE False FALSE")
	@ExcelProperty(value = "修复标志", index = 29)
	private String flagRepair;

	@ApiModelProperty("申请人 eg 空串")
	@ExcelProperty(value = "申请人", index = 30)
	private String personNameApplicant;

	@ApiModelProperty("申请人 - 统一订单 sys_user_id ---- add")
	private Long sysUserIdApplicant;

	@ApiModelProperty("自定义项 eg 空串")
	@ExcelProperty(value = "自定义项", index = 31)
	private String customItem;
	@ApiModelProperty("单据编号 eg 2021030301 与 ERP单据编号 是同一个东西吗？")
	@ExcelProperty(value = "单据编号", index = 32)
	private String documentNumber;
	@ApiModelProperty("自定义项2 eg 空串")
	@ExcelProperty(value = "自定义项2", index = 33)
	private String customItem2;
	@ApiModelProperty("开票方式 eg 空串")
	@ExcelProperty(value = "开票方式", index = 34)
	private String invoicedMethod;

	@ApiModelProperty("硬件销售额 eg 0")
	@ExcelProperty(value = "硬件销售额", index = 35)
	private String hardwareSalesVolume;
	@ApiModelProperty("软件销售额 eg 0")
	@ExcelProperty(value = "软件销售额", index = 36)
	private String softwareSalesVolume;


}