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

import cn.superdesk.uniorder.common.excel.model.ExcelRow;
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;

/**
 * mark Excel import
 *
 * @Description: 亿企助手3.0
 * 导入用 行数据
 * @Author: linjinyu
 * @CreateDate: 2021/4/19 下午3:26
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/4/19 下午3:26
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
@ToString
public class TaxationYqzs17WinV30ExcelRow extends ExcelRow implements Serializable {

	@ApiModelProperty("序号")
	@ExcelProperty(value = "序号", index = 0)
	private String index;

	@ApiModelProperty("发票种类-eg 增值税专用发票 增值税电子普通发票 ")
	@ExcelProperty(value = "发票种类", index = 1) // ---- 对映 @ExcelProperty(value = "发票种类", index = 2)
	private String invoiceType;

	@ApiModelProperty("发票代码-这个是发票上的那个发票代码 eg 4403202130 --- 已经与董祖芳确认")
	@ExcelProperty(value = "发票代码", index = 2) // ---- 对映 @ExcelProperty(value = "发票编号", index = 0)
//	private String invoiceSequenceNumber;
	private String categoryCode;

	@ApiModelProperty("发票号码 eg 32055597")
	@ExcelProperty(value = "发票号码", index = 3) // ---- 对映 @ExcelProperty(value = "发票号码", index = 4)
	private String invoiceNumber;

	@ApiModelProperty("开票日期 eg 2021-03-02")
	@ExcelProperty(value = "开票日期", index = 4) // ---- 对映 @ExcelProperty(value = "开票日期", index = 15)
	private Date invoicedDate;

	@ApiModelProperty("购方名称 eg 中航物业管理有限公司长沙分公司")
	@ExcelProperty(value = "购方名称", index = 5) // ---- 对映 @ExcelProperty(value = "购方名称", index = 6)
	private String purchaserCompanyName;

	private String sellerCompanyName;

	@ApiModelProperty("货物、应税劳务及服务 eg *日用杂品*3CE 高清日光智能led化妆镜子带灯礼盒214情人节礼物送女生女朋友结婚纪念日")
	@ExcelProperty(value = "货物、应税劳务及服务", index = 6) // ---- 对映 @ExcelProperty(value = "主要商品名称", index = 21)
	private String mainGoodsName;

	// 是不包含税的
	@ApiModelProperty("金额 eg 934.51")
	@ExcelProperty(value = "金额", index = 7) // ---- 对映 @ExcelProperty(value = "合计金额", index = 17)
	private BigDecimal totalAmount;

	@ApiModelProperty("税率 eg 13%")
	@ExcelProperty(value = "税率", index = 8) // ---- 对映 @ExcelProperty(value = "税率", index = 18)
	@NumberFormat("#.##%")
	private BigDecimal taxRate;

	@ApiModelProperty("税额 eg 121.49")
	@ExcelProperty(value = "税额", index = 9) // ---- 对映 @ExcelProperty(value = "合计税额", index = 19)
	private BigDecimal totalTax;

	@ApiModelProperty("价税合计 eg 2409.46")
	@ExcelProperty(value = "价税合计", index = 10) // ---- 对映 @ExcelProperty(value = "含税总金额", index = 20)
	@NumberFormat("\u00A4#,###,###.00")
	private BigDecimal totalAmountIncludingTax;

	@ApiModelProperty("备注 eg 2021.02月湘江银行")
	@ExcelProperty(value = "备注", index = 11) // ---- 对映 @ExcelProperty(value = "备注", index = 23)
	private String remarks;

	@ApiModelProperty("是否作废 eg 是 否")
	@ExcelProperty(value = "是否作废", index = 12) // ---- 对映 @ExcelProperty(value = "作废标志", index = 28)
	private String flagVoidSign;

	@ApiModelProperty("计税方式 eg 一般计税")
	@ExcelProperty(value = "计税方式", index = 13) // ---- 目前没有
	private String taxCalculationMethod;

	@ApiModelProperty("征税项目 eg 货物 应税服务")
	@ExcelProperty(value = "征税项目", index = 14) // ---- 目前没有
	private String taxItems;

	@ApiModelProperty("是否出口票 eg 是 否")
	@ExcelProperty(value = "是否出口票", index = 15) // ---- 目前没有
	private String flagExport;

	@ApiModelProperty("购方识别号 eg 91440300MA5EU2E154")
	@ExcelProperty(value = "购方识别号", index = 16) // ---- 对映 @ExcelProperty(value = "购方税号", index = 7)
	private String purchaserTaxpayersIDCode;

	@ApiModelProperty("凭证号 eg 目前为空串")
	@ExcelProperty(value = "凭证号", index = 17) // ---- 不一定对 @ExcelProperty(value = "ERP单据编号", index = 1)
	private String erpDocumentNumber;

	@ApiModelProperty("补全状态 eg 查验补全成功")
	@ExcelProperty(value = "补全状态 ", index = 18) // ---- 目前没有
	private String stateSupplement;
	@ApiModelProperty("核票状态 eg 未核票")
	@ExcelProperty(value = "核票状态", index = 19) // ---- 目前没有
	private String stateInvoiceChecked;


}
