package cn.iocoder.yudao.module.system.controller.admin.log.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.*;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 车辆动作记录新增/修改 Request VO")
@Data
public class RobotTaskDetailActionLogSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25503")
    private Long id;

    @Schema(description = "-1代表是任务，其他的是操作的明细", example = "18544")
    private Long commandId;

    @Schema(description = "下发给车机的任务类型", example = "2")
    private String commandType;

    @Schema(description = "下发给车机的任务数据(仅展示前250字符)")
    private String commandMsg;

    @Schema(description = "车辆当前正在做的动作")
    private String actionMsg;

    @Schema(description = "动作状态(0:未开始、1：执行中、2：已完成、3：已取消、4:异常)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
//    @NotNull(message = "动作状态(0:未开始、1：执行中、2：已完成、3：已取消、4:异常)不能为空")  不要了
    private Integer actionStatus;

    @Schema(description = "AGV编号")
    private String robotNo;

    @Schema(description = "robot_task_detail的id")
    private Long taskDetailId;

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

    @Schema(description = "任务号")
    private String taskNo;

    @Schema(description = "开始时间")
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    private LocalDateTime endTime;

    @Schema(description = "车辆做任务时,所在的仓库点位地图表id")
    private Long positionMapId;

    @Schema(description = "是否已经统计(0:未统计、1：已经统计)")
    private Integer alreadyCounted;

    @Schema(description = "这条任务第一次执行的AGV编号")
    private String originalRobotNo;
}