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

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.time.LocalDateTime;

/**
 * 车辆动作记录 DO
 *
 * @author 陈宾顺
 */
@TableName("robot_task_detail_action_log")
@KeySequence("robot_task_detail_action_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RobotTaskDetailActionLogDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     *  -1代表是任务，其他的是操作的明细
     */
    private Long commandId;
    /**
     * 下发给车机的任务类型
     */
    private String commandType;
    /**
     * 下发给车机的任务数据(仅展示前250字符)
     */
    private String commandMsg;
    /**
     * 车辆当前正在做的动作
     */
    private String actionMsg;
    /**
     * 动作状态(0:未开始、1：执行中、2：已完成、3：已取消、4:异常)
     */
    private Integer actionStatus;
    /**
     * AGV编号
     */
    private String robotNo;
    /**
     * robot_task_detail的id
     */
    private Long taskDetailId;

    /**
     * 任务阶段(0:待执行、1：前往取货、2：取货中、3：前往放货、4：放货中、5：结束、6：移动中、7:正在充电、8:取消、9:人工完成、10:异常)
     */
    private Long taskStage;

    /**
     * 任务号
     */
    private String taskNo;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;
    /**
     * 车辆做任务时,所在的仓库点位地图表id
     */
    private Long positionMapId;
    /**
     * 是否已经统计(0:未统计、1：已经统计)
     */
    private Integer alreadyCounted;
    /**
     * 时长,单位分钟
     */
    private Long duration;
    /**
     * 这条任务第一次执行的AGV编号
     */
    private String originalRobotNo;

}