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

import cn.hutool.core.annotation.Alias;
import lombok.Data;

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

/**
 * 开票-入参总表
 *
 * @author dxk
 * @date 2022年06月27日 17:30
 */
@Data
public class AisinoConsoleInvoiceAddSendDTO {

    /**
     * 0 专票 2 普票
     */
    private Integer invoiceType;

    /**
     * 购方名称
     */
    @NotEmpty
    @Alias("buyerName")
    private String customerName;

    /**
     * 购方税号
     */
    @Alias("buyerTaxnum")
    private String customerTaxNr;

    /**
     * 购方地址电话
     */
    private String customerAddressTel;

    /**
     * 购方银行账户
     */
    private String customerBankAccountNr;

    /**
     * 备注
     */
    @Alias("message")
    private String memo;

    /**
     * 付款人
     */
    @Alias("payee")
    private String payee;

    /**
     * 审核人
     */
    @Alias("checker")
    private String checker;

    /**
     * 开票人
     */
    @NotEmpty
    @Alias("clerk")
    private String issuer;

    /**
     * 销方银行账户
     */
    private String sellerBankAccountNr;

    /**
     * 销方地址电话
     */
    private String sellerAddressTel;

    /**
     * 是否是清单:当发票明细行超出 8 行时，即使 listed 设置为 false，也自动开具清单（纸质发票最多打
     * 印 8 行明细）
     */
    private Boolean listed;

    /**
     * 销售单号
     */
    private String documentNr;

    /**
     * 1 标识校验，0 标识开票
     */
    @NotNull
    private Integer CheckEWM;

    /**
     * 税额
     */
    private Double tax;

    /**
     * 数量
     */
    private Double quantity;



    /**
     * 发票明细
     */
    List<AisinoConsoleInvoiceAddDetailDTO> invoiceItems;


}
