package com.sw.mes.yb.agv.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.*;

import javax.persistence.Column;
import javax.validation.constraints.*;

import java.util.Date;

/**
* @Author
* @Description：
* @Date: Create in
* @Modified By:
*/
@Data
@ApiModel(value = "AgvDispatchDeployDto")
public class AgvDispatchDeployDto {

    private Long id;
     @ApiModelProperty(value = "请求地址" )
     String url;
     @ApiModelProperty(value = "接口数据JSON格式" )
     String interfaceData;
     @ApiModelProperty(value = "编码生成方式（任务编码）" )
     String otherTaskId;
     @ApiModelProperty(value = "优先级" )
     String priority;
     @ApiModelProperty(value = "起始位置编码" )
     String startCode;
     @ApiModelProperty(value = "开始工作位" )
     String startPoint;
     @ApiModelProperty(value = "结束位置编号" )
     String endCode;
     @ApiModelProperty(value = "结束工作位" )
     String targetPoint;
     @ApiModelProperty(value = "任务类型" )
     String agvTaskType;
     @ApiModelProperty(value = "载具编号" )
     String frockCode;
     @ApiModelProperty(value = "载具类型" )
     String frockType;
     @ApiModelProperty(value = "单晶编号" )
     String crystalNo;
     @ApiModelProperty(value = "配方ID" )
     String recipeId;
     @ApiModelProperty(value = "重量ID" )
     String weightId;
     @ApiModelProperty(value = "关键字（用于查找avg配置信息）" )
     String keyword;
     @ApiModelProperty(value = "自动生成时间，不需要记录，用于分区" , required = true)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     Date gmtTime;
     @ApiModelProperty(value = "自动重发次数" , required = true)
     Integer againTime;
     @ApiModelProperty(value = "超时时间(单位：ms )" , required = true)
     Integer timeout;
     
     @ApiModelProperty(value = "接口类型(AGV任务派发/取消AGV任务)" )
     private String type;
     @ApiModelProperty(value = "回调接口地址(格式: http://ip:port/url)" )
     private String callbackMsg;
     @ApiModelProperty(value = "请求编号(取消AGV任务专用)" )
     private String reqCode;
     @ApiModelProperty(value = "任务编号(取消AGV任务专用)" )
     private String taskCode;

     @ApiModelProperty(value = "库位锁定状态(0：解锁；1：锁定) - 库位锁定专用")
     private String locked;
     @ApiModelProperty(value = "位置编号(需操作的目标) - 库位锁定专用")
     private String posCode;
     
}