package com.wms_main.model.dto.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * dbs查询条件
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DbsQuery extends PageQuery {
    /**
     * 主键id
     */
    @JsonProperty("dbsId")
    private String dbsId;
    /**
     * 工单
     */
    @JsonProperty("workOrder")
    private String workOrder;
    /**
     * dbs原始未处理的零件号，成品号
     */
    @JsonProperty("productIdOrigin")
    private String productIdOrigin;
    /**
     * 零件号，成品号
     */
    @JsonProperty("productId")
    private String productId;
    /**
     * 计划开始时间
     */
    @JsonProperty("planStartDate")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate planStartDate;
    /**
     * 计划产量/套
     */
    @JsonProperty("planProduction")
    private Integer planProduction;
    /**
     * Family
     */
    @JsonProperty("family")
    private String family;
    /**
     * Test No#
     */
    @JsonProperty("testNo")
    private String testNo;
    /**
     * 状态
     */
    @JsonProperty("dbsStatus")
    private Integer dbsStatus;
    /**
     * 工作站台
     */
    @JsonProperty("workStand")
    private String workStand;
    /**
     * 实际工作日期
     */
    @JsonProperty("realWorkDate")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate realWorkDate;
    /**
     * 完成时间
     */
    @JsonProperty("finishTime")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime finishTime;
    /**
     * 备注
     */
    @JsonProperty("remark")
    private String remark;
}
