package com.ktg.iscs.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.model.BaseBean;

import java.util.Date;

/**
 * 地图点位数据对象 is_map_point
 *
 * @author cgj
 * @date 2025-03-11
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class IsMapPoint extends BaseBean
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "地图名称")
    @Excel(name = "地图名称")
    private Long mapId;

    @ApiModelProperty(value = "地图名称")
    @TableField(exist = false)
    private String mapName;

    @ApiModelProperty(value = "地图类型（1岗位; 2锁定站,3布局图,4电机）")
    @Excel(name = "地图类型", readConverterExp = "地图类型（1岗位; 2锁定站,3布局图,4电机）")
    private String mapType;

    @ApiModelProperty(value = "实体id")
    @Excel(name = "实体id")
    private Long entityId;

    @ApiModelProperty(value = "实体NAME")
    @TableField(exist = false)
    private String entityName;

    @ApiModelProperty(value = "x坐标")
    @Excel(name = "x坐标")
    private String x;

    @ApiModelProperty(value = "y坐标")
    @Excel(name = "y坐标")
    private String y;

    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    @ApiModelProperty(value = "隔离点图标")
    @TableField(exist = false)
    private String pointIcon;

    @ApiModelProperty(value = "隔离点图片")
    @TableField(exist = false)
    private String pointPicture;

    @ApiModelProperty(value = "隔离点nfc")
    @TableField(exist = false)
    private String pointNfc;

    @ApiModelProperty(value = "隔离点序列号")
    @TableField(exist = false)
    private String pointSerialNumber;

    @ApiModelProperty(value = "开关状态(0-开 1-关)")
    @TableField(exist = false)
    private String switchStatus;

    @ApiModelProperty(value = "开关状态最近更新时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date switchLastUpdateTime;

}
