package com.trade.service.finance.disbursement.vo;

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

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @description: 分账管理分页查询参数
 * @Author: wanglang
 * @Date: 2024/10/23 20:00
 * @Version: 1.0
 */
@Data
public class BillingDisbursementPageVo {

    @ApiModelProperty(name = "id", value = "主键id")
    private Long id;
    @ApiModelProperty(name = "salesContractNo", value = "销售合同编号")
    private String salesContractNo;
    @ApiModelProperty(name = "contractName", value = "销售合同名称")
    private String contractName;
    @ApiModelProperty(name = "importerCertNo", value = "进口商统一社会信用代码/注册号")
    private String importerCertNo;
    @ApiModelProperty(name = "importerEnterpriseName", value = "进口商企业名称")
    private String importerEnterpriseName;
    @ApiModelProperty(name = "agencyCertNo", value = "代理公司统一社会信用代码/注册号")
    private String agencyCertNo;
    @ApiModelProperty(name = "agencyEnterpriseName", value = "代理公司企业名称")
    private String agencyEnterpriseName;
    @ApiModelProperty(name = "financierIdentifier", value = "资金方标识")
    private String financierIdentifier;
    @ApiModelProperty(name = "paymentType", value = "款项类型1出口退税款2贷款差额3贷款结汇差额4出口商货款5归还保理融资款6应收服务费")
    private String paymentType;
    @ApiModelProperty(name = "status", value = "分账状态1待处理2已完成")
    private String status;
    @ApiModelProperty(name = "transactionNumber", value = "交易编号")
    private String transactionNumber;
    @ApiModelProperty(name = "businessNumber", value = "业务编号")
    private String businessNumber;
    @ApiModelProperty(name = "paymentAmount", value = "付款金额")
    private BigDecimal paymentAmount;
    @ApiModelProperty(name = "paymentCurrency", value = "付款金额币种代码")
    private String paymentCurrency;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(name = "paymentDate", value = "付款日期")
    private LocalDate paymentDate;
    @ApiModelProperty(name = "customerIdentifierNo", value = "客户编号")
    private String customerIdentifierNo;
    @ApiModelProperty(name = "customerName", value = "客户名称")
    private String customerName;
    @ApiModelProperty(name = "entryBusinessNumber", value = "入账业务编号")
    private String entryBusinessNumber;
    @ApiModelProperty(name = "payeeType", value = "收款方类型1客户2资金方")
    private String payeeType;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "paymentDate", value = "产生时间")
    private LocalDateTime gmtCreate;
    @ApiModelProperty(name = "tradeParticipantsIdentifier", value = "贸易参与方标识/收款方名称")
    private String tradeParticipantsIdentifier;
}
