package com.jianshui.invoice.domain.dto.api.aisino.console;

import cn.hutool.core.annotation.Alias;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

/**
 * 红字上传
 * @author dxk
 * @date 2023年02月27日 10:52
 */
@Data
public class AisinoConsoleInvoiceRedUploadDTO {

    @Alias("reqnsrsbh")
    @NotEmpty
    @ApiModelProperty(value = "申请方税号")
    @Size(max = 20)
    private String ReqNsrsbh;

    @Alias("fjh")
    @NotEmpty
    @ApiModelProperty(value = "申请方开票点号")
    private String Kpjh;

    @Alias("jspbh")
    @NotEmpty
    @ApiModelProperty(value = "申请方设备编号")
    @Size(max = 12)
    private String Sbbh;

    @Alias("outTradeOrderno")
    @NotEmpty
    @ApiModelProperty(value = "信息表流水号:4位申请单号(12位设备编号+12位时间)12位时间是申请时的时间YYMMDDhhmmss")
    @Size(max = 24)
    private String ReqBillNo;

    @Alias("redInfoType")
    @NotEmpty
    @ApiModelProperty(value = "信息表类型")
    @Size(max = 2)
    private String BillType;

    @Alias("originFpdm")
    @NotEmpty
    @ApiModelProperty(value = "对应蓝代码")
    private String TypeCode;

    @Alias("originFphm")
    @NotEmpty
    @ApiModelProperty(value = "对应蓝票号")
    private String InvNo;

    @Alias("billInputTime")
    @NotEmpty
    @ApiModelProperty(value = "对应蓝字发票填开日期")
    private String Kprq;

    @Alias("taxType")
    @NotEmpty
    @ApiModelProperty(value = "税种类别")
    @Size(max = 2)
    private String Szlb;

    @Alias("multTaxRate")
    @NotEmpty
    @ApiModelProperty(value = "多税率标志")
    @Size(max = 2)
    private String IsMutiRate;

    @NotEmpty
    @ApiModelProperty(value = "填开日期")
    @Size(max = 10)
    private String Date;

    @Alias("buyerName")
    @NotEmpty
    @ApiModelProperty(value = "购方名称")
    private String BuyerName;

    @Alias("buyerTaxnum")
    @NotEmpty
    @ApiModelProperty(value = "购方税号")
    @Size(max = 20)
    private String BuyTaxCode;

    @Alias("sellerName")
    @NotEmpty
    @ApiModelProperty(value = "销方名称")
    private String SellerName;

    @Alias("sellerTaxnum")
    @NotEmpty
    @ApiModelProperty(value = "销方税号")
    @Size(max = 20)
    private String SellTaxCode;

    @NotEmpty
    @ApiModelProperty(value = "合计金额")
    private String Amount;

    @Alias("taxrate")
    @NotEmpty
    @ApiModelProperty(value = "税率")
    private String TaxRate;

    @Alias("tax")
    @NotEmpty
    @ApiModelProperty(value = "合计税额")
    private String Tax;

    @Alias("applyRemark")
    @NotEmpty
    @ApiModelProperty(value = "申请说明")
    private String ReqMemo;

    @Alias("bmbbh")
    @NotEmpty
    @ApiModelProperty(value = "商品编码版本号")
    private String SPBMBBH;

    @NotEmpty
    @ApiModelProperty(value = "含税税率标识")
    private String SLBZ;



}
