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

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/9/24
 * @Version: 1.0
 */
@Data
public class PurchaseOrderInvoiceSearchDto extends PageDomain {

    @ApiModelProperty(name = "customerUserId", value = "客户id")
    private Long customerUserId;
    @ApiModelProperty(name = "customerUserInfo", value = "客户id或者客户名称")
    private String customerUserInfo;
    @ApiModelProperty(name = "invoiceType", value = "发票类型1增值税专用发票2增值税普通发票3增值税电子专用发票4增值税电子普通发票5数电票（增值税专用发票）6数电票（增值税普通发票）")
    private String invoiceType;
    @ApiModelProperty(name = "invoiceInfo", value = "发票代码或者发票号码")
    private String invoiceInfo;
    @ApiModelProperty(name = "agencyCertNo", value = "代理公司统一社会信用代码/注册号")
    private String agencyCertNo;
    @ApiModelProperty(name = "entityNo", value = "供应商编号")
    private String entityNo;
    @ApiModelProperty(name = "orderNo", value = "采购订单编号")
    private String orderNo;
    @ApiModelProperty(name = "timeStart", value = "开票日期开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate timeStart;
    @ApiModelProperty(name = "timeEnd", value = "开票日期结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate timeEnd;
    @ApiModelProperty(name = "customerUserIdList", value = "客户id集合")
    private List<Long> customerUserIdList;
    @ApiModelProperty(name = "source", value = "发票来源1B端2C端")
    private Integer source;
    private List<String> invoiceTypeList;
}
