package com.njcn.product.terminal.mysqlTerminal.pojo.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.common.pojo.constant.PatternRegex;

import com.njcn.db.mybatisplus.bo.BaseEntity;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Pattern;

/**
 * 
 * Description:
 * Date: 2024/4/25  10:09【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_user_report_sensitive")
public class UserReportSensitivePO extends BaseEntity {
    /**
     * 关联id
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * PCC点
     */
    @TableField(value = "pcc_point")
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
    private String pccPoint;

    /**
     * 行业
     */
    @TableField(value = "industry")
    private String industry;

    /**
     * 敏感装置名称
     */
    @TableField(value = "device_name")
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
    private String deviceName;

    /**
     * 供电电源数量
     */
    @TableField(value = "power_supply_count")
    private Integer powerSupplyCount;

    /**
     * 敏感电能质量指标
     */
    @TableField(value = "energy_quality_index")
    private String energyQualityIndex;

    /**
     * 评估类型
     */
    @TableField(value = "evaluation_type")
    private String evaluationType;

    /**
     * 是否开展抗扰度测试
     */
    @TableField(value = "anti_interference_test")
    private String antiInterferenceTest;

    /**
     * 预测评估审核单位
     */
    @TableField(value = "evaluation_chek_dept")
    @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
    private String evaluationChekDept;

    /**
     * 是否需要治理
     */
    @TableField(value = "need_governance")
    private Integer needGovernance;

    /**
     * 是否开展背景测试
     */
    @TableField(value = "background_test_performed")
    private Integer backgroundTestPerformed;

    /**
     * 用户接入变电站主接线示意图地址
     */
    @TableField(value = "substation_main_wiring_diagram")
    private String substationMainWiringDiagram;

    /**
     * 主要敏感设备清单
     */
    @TableField(value = "sensitive_devices")
    private String sensitiveDevices;

    /**
     * 抗扰度测试报告
     */
    @TableField(value = "anti_interference_report")
    private String antiInterferenceReport;

    /**
     * 背景电能质量测试报告
     */
    @TableField(value = "power_quality_report")
    private String powerQualityReport;

    /**
     * 可研报告地址
     */
    @TableField(value = "feasibility_report")
    private String feasibilityReport;

    /**
     * 项目初步设计说明书地址
     */
    @TableField(value = "preliminary_design_description")
    private String preliminaryDesignDescription;

    /**
     * 预测评估报告地址
     */
    @TableField(value = "prediction_evaluation_report")
    private String predictionEvaluationReport;

    /**
     * 预测评估评审意见报告地址
     */
    @TableField(value = "prediction_evaluation_review_opinions")
    private String predictionEvaluationReviewOpinions;

    /**
     * 其他附件
     */
    @TableField(value = "additional_attachments")
    private String additionalAttachments;

    /**
     * 数据状态
     */
    @TableField(value = "state")
    private Integer state;

    /**
     * 供电电源
     */
    @TableField(value = "power_supply")
    private String powerSupply;

    /**
     * 接入电压等级
     */
    @TableField(value = "supply_voltage_level")
    private String supplyVoltageLevel;

    /**
     * 负荷级别
     */
    @TableField(value = "load_level")
    private String loadLevel;


    /**
     * 供电电源情况（单电源、双电源、多电源）
     */
    @TableField(value = "power_supply_info")
    private String powerSupplyInfo;

    /**
     * 运维单位
     */
    @TableField(value = "maintenance_unit")
    private String maintenanceUnit;


}