package com.shkj.wms.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class BusinTaskAddBo implements Serializable {


    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    @NotBlank(message = "任务编号不得为空")
    private String taskCode;

    @NotBlank(message = "条码信息信息不得为空")
    private String qrCode;

    /** 产品编号 */
    @NotBlank(message = "产品编号不得为空")
    private String goodsNo;


    @NotBlank(message = "状态不得为空")
    private String taskStatus;


    /** 任务类型 0 正常入库 1维修异常 2扫码异常  3入库冲孔 4 正常出库 5紧急出库 6越库出库*/
    @NotBlank(message = "任务类型")
    private String taskType;


    /** 批次信息 以天为单位 日期+*/
    private String batch;

    /** 是否是紧急任务 */
    private String isUrgent;

    private String agvNo;

    /** 是否是置顶 */
    private String isTop;

    /** 任务优先级 */
    private int priority;

    /** 任务开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskStarttime;

    /** 任务结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskEntime;

    /** 治具编号 */
    private Long  containerId;

    /** 业务单据 */
    private String transId;

    /** PLC_Id */
    private Long  plcId;

    /** 关联任务ID*/
    private String associatedTasksId;

    /** agv点位集合 */
    private String  points;

    /** AGV起始点位 */
    private String taskPath;

    /** AGV形态 */
    private String isDown;

    /**
     入库类型： 0或空 初始；1 立库；2 平库；
     */
    private String warehouseType;

    /**
     是否跳过冲孔： 0或空 初始；1 不执行直接入库(已冲孔)；2 执行冲孔完成之后入库；
     */
    private String isReturn;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
