package cn.iocoder.yudao.module.system.dal.dataobject.robot;

import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

import java.util.Set;

/**
 * 车辆信息 DO
 *
 * @author 陈宾顺
 */
@TableName(value = "robot_information" , autoResultMap = true)
@KeySequence("robot_information_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RobotInformationDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 车辆类型表id
     */
    private Long robotModelId;
    /**
     * 车辆类型
     */
    private String robotModelNumber;
    /**
     * AGV编号
     */
    private String robotNo;
    /**
     * 任务模式（0：拒收任务、1：正常）
     */
    private Integer robotTaskModel;
    /**
     * mac地址
     */
    private String macAddress;
    /**
     * 上传图片附件
     */
    private String url;
    /**
     * AGV状态（0：暂停且无任务、1：暂停(有处理中的任务)、2：任务中、3：待命、4:充电中）
     */
    private Integer robotStatus;
    /**
     * 楼层/区域(json)
     */
    @TableField(typeHandler = JsonLongSetTypeHandler.class)
    private Set<Long> floorAreaJson;

    /**
     * 自动充电电量
     */
    private Integer autoCharge;

    /**
     * 是否自动充电（0:手动充电,1:自动充电）
     */
    private Integer chargeType;

    /**
     * robot_task_detail的id
     */
    private Long taskDetailId;

    /**
     * 车辆IP
     */
    private String robotIp;

    /**
     * 车辆端口
     */
    private Long robotPort;

}