package com.yfd.platform.modules.auxcontrol.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 变电站-辅控设备-信号
 * </p>
 *
 * @author zhengsl
 * @since 2025-04-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("fk_device_signal")
public class DeviceSignal implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 信号ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String signalId;

    /**
     * 所属系统：01-在线监测 02-消防系统 03-安防系统 04-动环系统 05-锁控系统 06-辅控系统 07-照明系统
     */
    private String systemcode;

    /**
     * 辅控设备ID--fk_meter_device
     */
    private String meterDeviceId;

    /**
     * 变电站一次设备id：iis_substation_maindevice
     */
    private String mainDeviceId;

    /**
     * 关联一次设备中部件ID,iis_substation_component
     */
    private String mainComponentId;

    /**
     * 信号类型  0-普通信号  1-告警信号
     */
    private String signalType;

    /**
     * 信号编号
     */
    private String signalCode;

    /**
     * 信号名称
     */
    private String signalName;

    /**
     * 信号单位：类似 ℃
     */
    private String signalUnit;

    /**
     * 正常范围
     */
    private String normalRange;

    /**
     * 顺序号
     */
    private Integer orderno;

    /**
     * 遥控遥调类型：01-单点遥控 02- -双点遥控 03-归一化值遥调  04-标度化遥调 05-浮点数遥调
     */
    private String ykytType;

    /**
     * 遥控地址(不测可为空)
     */
    private String ykAddr;

    /**
     * 遥信地址(不测可为空)
     */
    private String yxAddr;

    /**
     * 遥测地址(不测可为空)
     */
    private String ycAddr;

    /**
     * 遥调地址(不测可为空)
     */
    private String ytAddr;

    /**
     * 修改人
     */
    private String lastmodifier;

    /**
     * 最近修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp lastmodifydate;

    /**
     * 信号当前状态
     */
    private Integer yxValue;

    /**
     * 信号当前状态
     */
    private String ycValue;

    /**
     * 备用1
     */
    private String custom1;

    /**
     * 备用2
     */
    private String custom2;

    /**
     * 备用3
     */
    private String custom3;


}
