package com.njcn.gather.device.pojo.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.njcn.gather.device.pojo.po.PqDev;
import com.njcn.gather.monitor.pojo.po.PqMonitor;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author caozehui
 * @data 2024-12-13
 */
@Data
public class PqDevVO extends PqDev {

    private Integer devChns;

    private Double devVolt;

    private Double devCurr;

    private List<PqMonitor> monitorList;

    /**
     * 检测状态 0-未检、1检测中、2检测完成、3归档
     */
    private Integer checkState;

    /**
     * 检测结果 0不符合、1符合、2未检
     */
    private Integer checkResult;

    /**
     * 报告生成状态 0未生成、1已生成、2未检
     */
    private Integer reportState;

    /**
     * 检测次数
     */
    private Integer recheckNum;

    /**
     * 守时检测结果 0:不合格, 1:合格，2：/表示没有做守时检测
     */
    private Integer timeCheckResult;

    /**
     * 系数校准结果 0:不合格，1:合格，2：/表示没有做系数校准
     */
    private Integer factorCheckResult;

    /**
     * 实时数据结果 0:不合格，1:合格，2：未检
     */
    private Integer realtimeResult;

    /**
     * 统计数据结果 0:不合格，1:合格，2：未检
     */
    private Integer statisticsResult;

    /**
     * 录波数据结果 0:不合格，1:合格，2：未检
     */
    private Integer recordedResult;

    /**
     * 检测人
     */
    private String checkBy;

    /**
     * 检测开始时间
     */
    private LocalDateTime checkStartTime;

    /**
     * 检测结束时间
     */
    private LocalDateTime checkEndTime;

    /**
     * 守时检测-装置开始时间（ms）
     */
    private LocalDateTime devTimeCheckStart;

    /**
     * 守时检测-装置结束时间（ms）
     */
    private LocalDateTime devTimeCheckEnd;

    /**
     * 守时检测-源开始时间（ms）
     */
    private LocalDateTime sourceTimeCheckStart;

    /**
     * 守时检测-源结束时间（ms）
     */
    private LocalDateTime sourceTimeCheckEnd;

    /**
     * 预检测耗时
     */
    private Integer preDetectTime;

    /**
     * 系数校准耗时
     */
    private Integer coefficientTime;

    /**
     * 正式检测耗时
     */
    private Integer formalCheckTime;

    /**
     * 走时误差（s/d）
     */
    private LocalDateTime timeCheckError;

    /**
     * 温度
     */
    private Float temperature;

    /**
     * 相对湿度
     */
    private Float humidity;

    /**
     * 绑定的计划名称
     */
    private String boundPlanName;

    /**
     * 是否已经分配。0-未分配、1-已分配、2-所有
     */
    private Integer assign;

    /**
     * 检测点结果
     */
    private List<Integer> monitorResults;

    private Boolean hasImage;

    private List<PqDevImageVO> images;
}
