package com.gyee.alarm.model.auto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * 报警配置表
 * </p>
 *
 * @author shilin
 * @since 2023-06-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Accessors(chain = false) // 设置 chain = false，避免用户导入有问题
public class ProEconAlarmConfiguration extends Model {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @ExcelProperty("编号")
    @TableId(value = "ID",type = IdType.INPUT)
    private String id;

    /**
     * 测点（如果根据uniformcode配置此字段可为空）
     */
    @ExcelProperty("测点")
    private String tagId;

    /**
     * 触发条件，0触发，1触发，-1变化触发，4ai点触发
     */
    @ExcelProperty("触发条件")
    private Integer triggerType;

    /**
     * 设备ID
     */
    @ExcelProperty("设备ID")
    private String deviceId;

    /**
     * 后缀
     */
    @ExcelProperty("后缀")
    private String suffix;

    /**
     * 报警级别
     */
    @ExcelProperty("报警级别")
    private Integer rank;

    /**
     * 统一识别码(如果通过uniformCode配置，则设备类型，场站，机型不能为空)
     */
    @ExcelProperty("统一识别码")
    private String uniformCode;

    /**
     * 场站ID
     */
    @ExcelProperty("场站ID")
    private String stationId;

    /**
     * 机型
     */
    @ExcelProperty("机型")
    private String modelId;

    /**
     * 报警类型 /自定义报警 custom，风机 windturbine，场站 station，升压站 booststation
     */
    @ExcelProperty("报警类型")
    private String alarmType;

    /**
     * 设备类型，场站 station，风机 windturbine，升压站 booststation
     */
    @ExcelProperty("设备类型")
    private String deviceType;

    /**
     * 设备部件
     */
    @ExcelProperty("设备部件")
    private String components;

    /**
     * 设备子部件
     */
    @ExcelProperty("设备子部件")
    private String subcomponents;

    /**
     * 报警描述
     */
    @ExcelProperty("报警描述")
    private String description;

    /**
     * 特性
     */
    @ExcelProperty("特性")
    private String characteristic;

    /**
     * 是否可复位
     */
    @ExcelProperty("是否可复位")
    private Boolean resetTable;

    /**
     * 是否启用
     */
    @ExcelProperty("是否启用")
    private Boolean enable;

    /**
     * 故障名称
     */
    @ExcelProperty("故障名称")
    private String name;

    /**
     *故障码
     */
    @ExcelProperty("故障码")
    private String nemCode;

    /**
     * 故障原因
     */
    @ExcelProperty("故障原因")
    private String faultCause;

    /**
     * 排查方法
     */
    @ExcelProperty("排查方法")
    private String resolvent;




}
