package org.nl.acs.agv.server.dto;

import lombok.Data;

import java.io.Serializable;

@Data
public class AgvDto implements Serializable {

    /**
     * 名称
     */
    private String name;

    /**
     * 机器人当前的自身状态
     * <p>
     * UNKNOWN：未知状态
     * UNAVAILABLE：通信超时或者已断开连接
     * ERROR：错误状态
     * IDLE：空闲状态
     * EXECUTING：正在执行运单
     * CHARGING：正在充电
     */
    private String state;

    /**
     * 机器人的剩余电量值（单位：整数百分比）
     */
    private String energyLevel;

    /**
     *
     */
    private String energyLevelGood;

    /**
     * 机器人在 SRD 系统中的在线状态
     * <p>
     * TO_BE_IGNORED：机器人处于离线状态，SRD 不会标识出机器人位置。
     * TO_BE_NOTICED：机器人处于离线状态，SRD 标识出机器人的位置。
     * TO_BE_RESPECTED：机器人处于在线状态，但不能接受新的运单。
     * TO_BE_UTILIZED：机器人处于在线状态，可以接受并执行新的运单。
     */
    private String integrationLevel;

    /**
     * 机器人当前的运单执行状态
     * <p>
     * UNAVAILABLE：无法执行任何运单和任务
     * IDLE：空闲状态
     * AWAITING_ORDER：机器人在等待运单中新的子任务
     * PROCESSING_ORDER：机器人正在执行运单
     */
    private String procState;

    /**
     * 角度
     */
    private String positionAngle;

    /**
     * X坐标
     */
    private String positionX;

    /**
     * Y坐标
     */
    private String positionY;

    /**
     * 当前任务号
     */
    private String transportOrder;

}
