package com.trade.service.trade.purchaseorder.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.trade.service.filestorage.dto.FileAbstractDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * @description:
 * @Author: wanglang
 * @Date: 2024/9/24
 * @Version: 1.0
 */
@ApiModel(description = "采购订单发票信息")
@Data
public class PurchaseOrderInvoiceVo {

    @ApiModelProperty(name = "id", value = "发票id")
    private Long id;
    @ApiModelProperty(name = "currency", value = "币种")
    private String currency;
    @ApiModelProperty(name = "amount", value = "发票金额")
    private BigDecimal amount;
    @ApiModelProperty(name = "digitalInvoiceNumber", value = "数电发票号码")
    private String digitalInvoiceNumber;
    @ApiModelProperty(name = "purchaseOrderInvoice", value = "发票文件")
    private FileAbstractDto purchaseOrderInvoice;
    @ApiModelProperty(name = "invoiceCode", value = "发票代码")
    private String invoiceCode;
    @ApiModelProperty(name = "invoiceNumber", value = "发票号码")
    private String invoiceNumber;
    @ApiModelProperty(name = "invoiceType", value = "发票类型1增值税专用发票2增值税普通发票3增值税电子专用发票4增值税电子普通发票5数电票（增值税专用发票）6（数电票）增值税普通发票")
    private String invoiceType;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "invoicingDate", value = "开票日期")
    private LocalDate invoicingDate;
    @ApiModelProperty(name = "orderNo", value = "采购订单编号")
    private String orderNo;
    @ApiModelProperty(name = "taxAmount", value = "发票税额")
    private BigDecimal taxAmount;
    @ApiModelProperty(name = "agencyEnterpriseName", value = "代理公司名称")
    private String agencyEnterpriseName;
    @ApiModelProperty(name = "customerIdentifierNo", value = "客户id")
    private String customerIdentifierNo;
    @ApiModelProperty(name = "enterpriseName", value = "企业名称")
    private String enterpriseName;
    @ApiModelProperty(name = "purchaseVoucherNo", value = "进货凭证号")
    private String purchaseVoucherNo;
    @ApiModelProperty(name = "vendorEntityName", value = "供应商名称")
    private String vendorEntityName;
    @ApiModelProperty(name = "number", value = "数量")
    private BigDecimal number;
}
