package com.dcs.hnyz.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.dcs.common.annotation.Excel;
import com.dcs.common.core.domain.BaseEntity;


/**
 * 设备参数管理对象 equipment_param
 *
 * @author hmy
 * @date 2025-04-23
 */
@Data
@TableName("equipment_param")
@ApiModel(value = "寄存器参数管理对象", description = "寄存器参数管理对象")
public class EquipmentParam extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 寄存器id
     */
    @TableId(value = "register_id",type = IdType.AUTO)
    @ApiModelProperty(value = "寄存器id")
    //主键自增
    private Long registerId;

    /**
     * 归属设备id(最顶级父设备id)
     */
    @Excel(name = "归属设备id(最顶级父设备id)")
    @ApiModelProperty(value = "归属设备id(最顶级父设备id)")
    private Long equipmentId;

    /**
     * 关联id(上一级父设备id)
     */
    @Excel(name = "关联id(上一级父设备id)")
    @ApiModelProperty(value = "关联id(上一级父设备id)")
    private Long relationId;

    /**
     * 寄存器地址
     * 对应 OPCUA identifier 标识符
     */
    @Excel(name = "寄存器地址")
    @ApiModelProperty(value = "寄存器地址")
    private Integer address;

    /**
     * 寄存器名称
     */
    @Excel(name = "寄存器名称")
    @ApiModelProperty(value = "寄存器名称")
    private String registerName;

    /**
     * 设备数据类型(布尔型，浮点型，整型）
     */
    @Excel(name = "设备数据类型(布尔型，浮点型，整型）")
    @ApiModelProperty(value = "设备数据类型(1布尔型,2浮点型,整型）")
    private String dataType;

    /**
     * 唯一标识码
     */
    @Excel(name = "唯一标识码")
    @ApiModelProperty(value = "唯一标识码")
    private String code;

    /**
     * 寄存器类型(只读，保持，线圈)
     * 对应 OPCUA namespaceIndex 命名空间索引
     */
    @Excel(name = "寄存器类型(只读，保持，线圈)")
    @ApiModelProperty(value = "寄存器类型(3只读，4保持，1线圈)")
    private String registerCode;

    /**
     * 单位类型(kg,rpm,Mpa等)
     */
    @Excel(name = "单位类型(kg,rpm,Mpa等)")
    @ApiModelProperty(value = "单位类型(kg,rpm,Mpa等)")
    private String unitType;

    /**
     * 参数类型
     */
    @Excel(name = "参数类型")
    @ApiModelProperty(value = "参数类型")
    private String paramType;

    /** 状态 0-启用,1-禁用*/
    @Excel(name = "状态")
    @ApiModelProperty(value = "状态 0-启用,1-禁用")
    private String status;

    /** 删除标志 0-存在 2-删除 */
    @TableLogic
    @ApiModelProperty(value = "删除标志 0-存在 2-删除")
    private String delFlag;

}
