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

import com.njcn.gather.device.pojo.vo.PqDevVO;
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.Map;

/**
 * @author caozehui
 * @data 2024-12-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class AdPlanVO {

    /**
     * 检测计划ID
     */
    private String id;

    /**
     * 检测计划名称
     */
    private String name;

    /**
     * 模式，字典表（数字、模拟、比对）
     */
    private String pattern;

    /**
     * 父计划ID
     */
    private String fatherPlanId;

    /**
     * 数据源ID列表
     */
    private List<String> datasourceIds;

    /**
     * 检测源id
     */
    private List<String> sourceIds;

    /**
     * 检测源名称
     */
    private List<String> sourceName;

    /**
     * 检测脚本ID，关联PQ_Script表
     */
    private String scriptId;

    /**
     * 检测脚本名称
     */
    private String scriptName;

    /**
     * 误差体系ID，关联PQ_Error_Sys表
     */
    private String errorSysId;

    /**
     * 误差体系名称
     */
    private String errorSysName;

    /**
     * 守时检测
     */
    private Integer timeCheck;

    /**
     * 检测状态，字典表（未检、检测中、检测完成）
     */
    private Integer testState;

    /**
     * 报告生成状态，字典表（未生成、部分生成、全部生成）
     */
    private Integer reportState;

    /**
     * 检测结果，字典表（符合、不符合）
     */
    private Integer result;

    /**
     * 自动生成，用于生成数据表后缀
     */
    private Integer code;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 是否关联报告，0-不关联 1-关联
     */
    private Integer associateReport;

    /**
     * 报告模板名称
     */
    private String reportTemplateName;

    /**
     * 数据处理原则
     */
    private String dataRule;

    /**
     * 检测进度
     */
    private Float progress;

    /**
     * 标准设备ID列表
     */
    private Map<String, Integer> standardDevMap;

    /**
     * 标准设备名称
     */
    private String standardDevNameStr;

    /**
     * 测试项id列表
     */
    private List<String> testItems;

    /**
     * 测试项name列表
     */
    private String testItemNameStr;

    /**
     * 计划绑定的被检设备列表
     */
    private List<PqDevVO> pqDevVOList;

    /**
     * 来源
     */
    private String origin;

    private AdPlanTestConfig testConfig;
    /**
     * 是否导入，0-否 1-是
     */
    private Integer importFlag;

    /**
     * 检测负责人
     */
    private String leader;
    private String leaderName;

    /**
     * 检测成员
     */
    private String members;
    private String membersName;
}
