package com.sckw.system.model.vo.req;

import com.sckw.core.model.page.PageRequest;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 地磅记录分页查询请求
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(description = "地磅记录分页查询请求")
public class WeighbridgeRecordPageReqVo extends PageRequest implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 地磅ID
     */
    @Schema(description = "地磅ID")
    private Long weighbridgeId;

    /**
     * 地磅名称模糊关键字
     */
    @Schema(description = "地磅名称模糊关键字")
    private String weighbridgeName;

    /**
     * 唯一编码模糊关键字
     */
    @Schema(description = "唯一编码模糊关键字")
    private String uniqueCode;

    /**
     * 车牌号模糊关键字
     */
    @Schema(description = "车牌号模糊关键字")
    private String truckNo;

    /**
     * 最小重量
     */
    @Schema(description = "最小重量")
    private BigDecimal minWeight;

    /**
     * 最大重量
     */
    @Schema(description = "最大重量")
    private BigDecimal maxWeight;

    /**
     * 创建开始时间
     */
    @Schema(description = "创建开始时间，格式 yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    /**
     * 创建结束时间
     */
    @Schema(description = "创建结束时间，格式 yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

    /**
     * 接收开始时间
     */
    @Schema(description = "接收开始时间，格式 yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveStartTime;

    /**
     * 接收结束时间
     */
    @Schema(description = "接收结束时间，格式 yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveEndTime;
}
