package com.njcn.supervision.pojo.param.device;

import com.baomidou.mybatisplus.annotation.TableField;
import com.njcn.web.pojo.annotation.DateTimeStrValid;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author hongawen
 * @since 2024-05-21
 */
@Data
public class SupervisionTempLineRunTestParam {

    private static final long serialVersionUID = 1L;

    /**
     * 流程实例的编号
     */
    private String processInstanceId;



    @ApiModelProperty(value = "历史流程实例的编号")
    private String historyInstanceId;


    /**
     * 在线率
     */
    private Float onlineRate;

    /**
     * 数据完整性
     */
    private Float integrityRate;

    /**
     * 数据符合性
     */
    private Float suitRate;

    /**
     * 	1:审批中；2：审批通过；3：审批不通过；4：已取消
     */
    private Integer status;

    /**
     * 状态：0-删除 1-正常
     */
    private Integer state;

    /**
     * 0:未试运行 1：试运行中 2.试运行成功 3.试运行异常
     */
    private Integer testRunState;

    /**
     * 试运行监测点id集合
     */
    @NotEmpty(message = "试运行监测点id集合参数不可为空")
    private List<String> lineIds;

    @NotBlank(message = "开始时间不可为空")
    @DateTimeStrValid(format = "yyyy-MM-dd")
    private String startTime;

    @NotBlank(message = "结束时间不可为空")
    @DateTimeStrValid(format = "yyyy-MM-dd")
    private String endTime;


    /**
     * 用于标识第几次发起
     */
    private Integer operateType;


    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class SupervisionTempLineRunTestUpdateParam extends SupervisionTempLineRunTestParam {

        @ApiModelProperty("id")
        @NotBlank(message = "索引不能为空")
        private String id;

    }



}
