package com.ruoyi.web.v3.model.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.ruoyi.web.v3.model.BasePageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;


@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="HbCheckResiduePageReq", description="v3.0 药物残留检测登记分页查询报文")
public class HbCheckResiduePageReq extends BasePageRequest implements Serializable {

    @ApiModelProperty(value = "数据唯一性标识id")
    private String id;

    @ApiModelProperty(value = "记录时间", required = true)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime recordDate;

    @ApiModelProperty(value = "供货单位名称或供货人名称")
    private String providerUnitName;

    @ApiModelProperty(value = "数量（头/只/羽）")
    private Integer supplyQuantity;

    @ApiModelProperty(value = "抽检数量")
    private Integer samplingQuantity;

    @ApiModelProperty(value = "溯源单编号")
    private String traceRecordNo;

    @ApiModelProperty(value = "磺胺类检测结果")
    private String sulfonamides;

    @ApiModelProperty(value = "氟喹诺酮类检测结果")
    private String fluoroquinolones;

    @ApiModelProperty(value = "四环素类检测结果")
    private String tetracyclines;

    @ApiModelProperty(value = "处理方法说明")
    private String processMethod;

    @ApiModelProperty(value = "检测人员（签字）")
    private String examinerConfirm;

    @ApiModelProperty(value = "货主（签字）")
    private String cargoOwnerConfirm;

}
