package com.jianshui.invoice.domain.dto.api.jcsk.add;

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

import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * 发票开具 2 DTO
 * @author kk
 * @date 2022年12月09日 17:16
 */
@Data
public class InvoiceAllAddInfoTwoDTO {

    /** message*/
    @Alias("message")
    @ApiModelProperty(value = "备注")
    private String bz;

    /** invoiceline*/
    @Alias("invoiceType")
    @NotEmpty
    @ApiModelProperty(value = "发票类型代码")
    private String fplxdm;

    /** fpqqlsh*/
    @NotEmpty
    @ApiModelProperty(value = "发票请求流水号")
    private String fpqqlsh;

    @ApiModelProperty(value = "购方信息确认")
    private String gfxxconfirm;

    /** address*/
    @Alias("buyerAddress")
    @ApiModelProperty(value = "购买方地址")
    private String gmfdz;

    /** buyerBank*/
    @Alias("buyerBank")
    @ApiModelProperty(value = "购买方开户行")
    private String gmfkhh;


    /** phone*/
    @Alias("buyerPhone")
    @ApiModelProperty(value = "购买方联系电话")
    private String gmflxdh;

    /** buyerName*/
    @Alias("buyerName")
    @NotEmpty
    @ApiModelProperty(value = "购买方名称")
    private String gmfmc;

    /** taxnum*/
    @Alias("buyerTaxnum")
    @ApiModelProperty(value = "购买方税号")
    private String gmfnsrsbh;

    /** fpqqlsh*/
    @Alias("buyerAccount")
    @ApiModelProperty(value = "购买方银行账号")
    private String gmfyhzh;

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

    @NotEmpty
    @ApiModelProperty(value = "合计税额")
    private String hjse;

    /** hsbz*/
    @NotEmpty
    @ApiModelProperty(value = "含税标志 1-不含税 2-含税")
    private String hsbz;

    @ApiModelProperty(value = "经办人姓名")
    private String jbrxm;

    @ApiModelProperty(value = "经办人证件号码")
    private String jbrzjhm;

    @ApiModelProperty(value = "经办人证件种类代码")
    private String jbrzjzldm;

    @ApiModelProperty(value = "经办人纳税人识别号")
    private String jrznsrsbh;

    @NotEmpty
    @ApiModelProperty(value = "价税合计")
    private String jshj;

    @ApiModelProperty(value = "放弃享受减按1%征收率原因")
    private String kjly;

//    特定业务必填
//    @NotEmpty
    @ApiModelProperty(value = "特定要素类型代码")
    private String tdyslxdm;

    /** saleaddress*/
    @Alias("sellerAddress")
    @NotEmpty
    @ApiModelProperty(value = "销方地址")
    private String xsfdz;

    /** sellerBank*/
    @Alias("sellerBank")
    @NotEmpty
    @ApiModelProperty(value = "销方开户行")
    private String xsfkhh;

    /** salephone*/
    @Alias("sellerTelephone")
    @NotEmpty
    @ApiModelProperty(value = "销方联系电话")
    private String xsflxdh;

    /** fpqqlsh*/
    @Alias("sellerName")
    @NotEmpty
    @ApiModelProperty(value = "销方名称")
    private String xsfmc;

    /** saletaxnum*/
    @Alias("sellerTaxnum")
    @NotEmpty
    @ApiModelProperty(value = "销方税号")
    private String xsfnsrsbh;

    /** saleaccount*/
    @Alias("sellerAccount")
    @NotEmpty
    @ApiModelProperty(value = "销方银行账号")
    private String xsfyhzh;


    List<InvoiceAllAddfjxxListTwoDTO> fjxxList;

    List<InvoiceAllAddmxListTwoDTO> mxList;

    List<InvoiceAllAddtdywxxTwoDTO> tdywxx;

    List<InvoiceAllAddextTwoDTO> ext;




}
