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

import com.alibaba.excel.annotation.ExcelProperty;
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 java.util.Set;

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 RobotInformationPageReqVO extends PageParam {

    @Schema(description = "车辆类型表id", example = "28234")
    private Long robotModelId;

    @Schema(description = "车辆类型")
    private String robotModelNumber;

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

    @Schema(description = "任务模式（0：拒收任务、1：正常）")
    private Integer robotTaskModel;

    @Schema(description = "自动充电电量")
    private Integer autoCharge;

    @Schema(description = "mac地址")
    private String macAddress;

    @Schema(description = "车辆状态类型(待命:standby, 任务中:inTask, 锁定:doLock, 离线:offline, 充电中:charge, 故障:fault)")
    private String robotStatisticsType;

    @Schema(description = "上传图片附件", example = "https://www.iocoder.cn")
    private String url;

    @Schema(description = "AGV状态（0：暂停且无任务、1：暂停(有处理中的任务)、2：任务中、3：待命、4:充电中）", example = "2")
    private Integer robotStatus;

    @Schema(description = "楼层/区域(json)")
    private Set<Long> floorAreaJson;

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

    @Schema(description = "是否自动充电（0:手动充电,1:自动充电）")
    private Integer chargeType;

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

    @Schema(description = "车辆IP")
    private String robotIp;

    @Schema(description = "车辆端口")
    private Long robotPort;

}