package com.huatek.frame.base.vo;

import com.huatek.frame.base.entity.DataItem;
import com.huatek.torch.sql.annotation.FieldName;
import com.huatek.torch.sql.annotation.Id;
import com.huatek.torch.sql.annotation.TableName;
import com.huatek.torch.sql.beans.Pojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *      模型装置信息表
 *  </p>
 *
 * @author Leo
 * @since 2023-03-03
 */
@Data
public class ModelComponentDataVO extends Pojo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键",  name="id")
    private String id;

    /**
     * 模型id
     */
    @ApiModelProperty(value = "模型id",  name="modelId")
    private String modelId;

    /**
     * 部件标识
     */
    @ApiModelProperty(value = "部件标识",  name="componentId")
    private String componentId;

    /**
     * 装置类型编码
     */
    @ApiModelProperty(value = "装置类型编码",  name="deviceCode")
    private String deviceCode;

    /**
     * 外挂主设备id
     */
    @ApiModelProperty(value = "外挂主设备id",  name="mainTreeId")
    private String mainTreeId;

    @ApiModelProperty(value = "主设备名称", name = "mainTreeName")
    private String mainTreeName;

    /**
     * 外挂主设备id
     */
    @ApiModelProperty(value = "外挂主设备id",  name="sensorId")
    private String sensorId;

    @ApiModelProperty(value = "传感器名称", name = "sensorNameDetail")
    private String sensorNameDetail;

    /**
     * 安装位置
     */
    @ApiModelProperty(value = "安装位置",  name="installPosition")
    private String installPosition;

    /**
     * 数据项
     */
    @ApiModelProperty(value = "数据项",  name="dataItems")
    private List<DataItem> dataItems;

    @ApiModelProperty(value = "x轴坐标", name = "positionX")
    private String positionX;

    @ApiModelProperty(value = "y轴坐标", name = "positionY")
    private String positionY;

    @ApiModelProperty(value = "z轴坐标", name = "positionZ")
    private String positionZ;

    /**
     * 启用状态（0未启用， 1启用）
     */
    @ApiModelProperty(value = "启用状态（0未启用， 1启用）",  name="status")
    private String status;

    /**
     * 创建日期
     */
    @ApiModelProperty(value = "创建日期",  name="createTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间",  name="updateTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注",  name="remark")
    private String remark;

    /**
     * 是否删除(0：未删除，1：删除)
     */
    @ApiModelProperty(value = "是否删除(0：未删除，1：删除)",  name="delFlag")
    private String delFlag;
}
