package com.trade.service.business.payableaccounts.dto;

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

import java.util.Date;

/**
 * @description: 应付账款查询条件
 * @Author: wanglang
 * @Date: 2024/11/5
 * @Version: 1.0
 */
@Data
public class PayableAccountsSearchDto extends PageDomain {

    @ApiModelProperty(name = "customerUserId", value = "客户id")
    private Long customerUserId;
    @ApiModelProperty(name = "paymentType", value = "付款类型1技术服务费2出口退税服务费")
    private String paymentType;
    @ApiModelProperty(name = "applyNo", value = "融资申请编号获取其他编号")
    private String applyNo;
    @ApiModelProperty(name = "salesContractNo", value = "合同编号")
    private String salesContractNo;
    @ApiModelProperty(name = "status", value = "支付状态1待支付2未支付（超时未付）3已完成")
    private String status;
    @ApiModelProperty(name = "voucherNo", value = "凭证号")
    private String voucherNo;
    @ApiModelProperty(name = "deadlineStartTime", value = "付款截至时间开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deadlineStartTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "deadlineEndTime", value = "付款截至时间结束时间")
    @RewriteDateAt(value = RewriteDateAtEnum.END_OF_DAY)
    private Date deadlineEndTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "paymentStartTime", value = "支付时间开始时间")
    private Date paymentStartTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "paymentEndTime", value = "支付时间结束时间")
    @RewriteDateAt(value = RewriteDateAtEnum.END_OF_DAY)
    private Date paymentEndTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "gmtCreateStartTime", value = "产生开始时间")
    private Date gmtCreateStartTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "gmtCreatEndTime", value = "产生结束时间")
    @RewriteDateAt(value = RewriteDateAtEnum.END_OF_DAY)
    private Date gmtCreatEndTime;
}
