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

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

import org.springframework.format.annotation.DateTimeFormat;

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;

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

    @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 = "invoiceFile", value = "发票文件")
    private FileAbstractDto invoiceFile;
    @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 = "taxAmount", value = "发票税额")
    private BigDecimal taxAmount;
    @ApiModelProperty(name = "taxRate", value = "税率")
    private BigDecimal taxRate;
    @ApiModelProperty(name = "totalAmount", value = "总金额")
    private BigDecimal totalAmount;
    @ApiModelProperty(name = "number", value = "商品数量")
    private BigDecimal number;
    @ApiModelProperty(name = "bz", value = "备注")
    private String bz;
}
