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

import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 车辆动作记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RobotTaskDetailActionLogPageReqVO extends PageParam {

    @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:异常)", example = "2")
    private Integer actionStatus;

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

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @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;
}