package com.trade.service.trade.purchaseorder.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.trade.common.core.page.PageDomain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.List;

/**
 * @description: 采购订单发票单据搜索条件
 * @Author: wanglang
 * @Date: 2024/11/1
 * @Version: 1.0
 */
@Data
public class PurchaseOrderInvoiceDocumentSearchDto extends PageDomain {

    @ApiModelProperty(name = "customerUserId", value = "客户id")
    private Long customerUserId;
    @ApiModelProperty(name = "type", value = "1发票号码2采购订单编号3销售订单编号")
    private Integer type;
    @ApiModelProperty(name = "purchaseContractNo", value = "采购合同编号")
    private String purchaseContractNo; // 合同编号
    @ApiModelProperty(name = "salesOrderNo", value = "销售订单编号")
    private String salesOrderNo;
    @ApiModelProperty(name = "purchaseOrderNo", value = "采购订单编号")
    private String purchaseOrderNo;
    @ApiModelProperty(name = "invoiceNumber", value = "发票号码")
    private String invoiceNumber;
    @ApiModelProperty(name = "invoiceType", value = "发票类型1增值税专用发票2增值税普通发票3增值税电子专用发票4增值税电子普通发票5数电票（增值税专用发票）6数电票（增值税普通发票）")
    private String invoiceType;
    @ApiModelProperty(name = "timeStart", value = "开票日期开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate timeStart;
    @ApiModelProperty(name = "timeEnd", value = "开票日期结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate timeEnd;
    private List<String> invoiceTypeList;
}
