package org.wcs.model.vo.serve.stockSingleTask;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Getter
@Setter
public class ExportAppStockSingleTaskVo {

    /**
     * 任务ID --- 此ID是WCS内部生成的唯一ID
     */
    @Excel(name = "任务ID")
    private String taskId;

    /**
     * 任务组ID
     */
    @Excel(name = "任务组ID")
    private String taskGroup;

    /**
     * PLC任务ID
     */
    @Excel(name = "plc任务ID")
    private Integer plcTaskId;


    /**
     * 上游任务号 --- 此ID是上游系统发送过来的ID
     */
    @Excel(name = "上游任务号")
    private String upperTaskId;

    /**
     * 执行机器
     */
    @Excel(name = "执行设备")
    private Integer executeMachine;

    /**
     * 任务类型
     * 0-自动
     * 1-入库
     * 2-出库
     * 9-移库
     * 3-托盘线搬运
     */
    @Excel(name = "任务类型")
    private String taskType;

    /**
     * 任务起点
     */
    @Excel(name = "起点")
    private String origin;

    /**
     * 任务目的地
     */
    @Excel(name = "终点")
    private String destination;

    /**
     * 最终终点
     */
    @Excel(name = "最终目的地")
    private String composeDestination;

    /**
     * 任务状态
     * 0-待执行
     * 1-排队中
     * 2-执行中
     * 3-任务完成
     * 4-任务取消
     * 5-任务异常
     * 6-任务超时
     */
    @Excel(name = "任务状态")
    private String taskStatus;


    /**
     * 是否可取消
     */
    @Excel(name = "是否允许取消")
    private String canCancel;

    /**
     * 优先级
     */
    @Excel(name = "优先级")
    private Integer priority;

    /**
     * 载具编号
     */
    @Excel(name = "载具编号")
    private String vehicleNo;

    /**
     * 载具号数字
     */
    @Excel(name = "数字载具号")
    private Integer vehicleNoNumber;

    /**
     * 载具尺寸
     */
    @Excel(name = "载具尺寸")
    private Integer vehicleSize;

    /**
     * 载具重量
     */
    @Excel(name = "载具重量")
    private BigDecimal weight;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @Excel(name = "更新时间")
    private LocalDateTime updateTime;

    /**
     * 任务开始时间
     */
    @Excel(name ="任务开始时间")
    private LocalDateTime startTime;

    /**
     * 任务完成时间
     */
    @Excel(name ="完成时间")
    private LocalDateTime completeTime;

    /**
     * 任务结束时间
     */
    @Excel(name ="结束时间")
    private LocalDateTime endTime;

    /**
     * 任务来源
     */
    @Excel(name ="任务来源")
    private String taskSource;

    /**
     * 创建人
     */
    @Excel(name ="创建人")
    private String createPerson;

    /**
     * 任务信息
     */
    @Excel(name ="任务信息")
    private String taskMsg;
}
