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.LocalDate;
import java.time.LocalDateTime;


@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="HbRiskCheckQuarterlyPageReq", description="v3.0 隐患风险点检记录（季度）")
public class HbRiskCheckQuarterPageReq extends BasePageRequest implements Serializable {

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

    @ApiModelProperty(value = "序号", example = "1")
    private Integer sequenceNo;


    @ApiModelProperty(value = "检查时间", example = "2025-08-20 09:00:00")
    @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 checkDate;


    @ApiModelProperty(value = "检查人", example = "张三")
    private String inspectorName;


    @ApiModelProperty(value = "责任部门", example = "生产部")
    private String dept;


    @ApiModelProperty(value = "事故隐患", example = "配电箱未上锁")
    private String potentialDetail;


    @ApiModelProperty(value = "隐患等级", example = "重大隐患")
    private String potentialLevel;


    @ApiModelProperty(value = "治理措施", example = "立即上锁并张贴警示标识")
    private String solutionDetail;


    @ApiModelProperty(value = "完成时限", example = "2025-08-25")
    private String deadline;


    @ApiModelProperty(value = "整改责任人", example = "李四")
    private String upgradeOwner;


    @ApiModelProperty(value = "复查人", example = "王五")
    private String reviewerName;

    @ApiModelProperty(value = "复查时间", example = "2025-08-21 10:00:00")
    @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 reviewTime;

    @ApiModelProperty(value = "复查结果(0未通过/1已通过)", example = "1")
    private Boolean isReviewed;*/

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "岗位名称")
    private String jobTitle;


    @ApiModelProperty(value = "编号")
    private String recordNo;


    @ApiModelProperty(value = "排查日期")
    @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 checkDate;


    @ApiModelProperty(value = "排查季度")
    private String checkQuarter;


    @ApiModelProperty(value = "排查结果(0:未通过 1:已通过)")
    private Boolean isChecked;


    @ApiModelProperty(value = "检查人(签字)")
    private String inspectorConfirm;


    @ApiModelProperty(value = "异常情况记录")
    private String unusualCaseDetail;


    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "起始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate startTime;

    @ApiModelProperty(value = "截至日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate endTime;
}
