using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_DTO.Agv
{
    /// 
    /// AGV任务
    /// 
    public class AgvTaskDTO
    {
        /// 
        /// 请求编号 每个请求都要一个唯一编号,同一个请求重复提交,使用同一编号
        /// 
        public string ReqCode { get; set; }
        /// 
        /// 任务类型
        /// 
        public string TaskTyp { get; set; }
        /// 
        /// 工作位
        /// 
        public string WbCode { get; set; }
        /// 
        /// 位置路径
        /// 
        public List PositionCodePath { get; set; }
        /// 
        /// 托盘号
        /// 
        public string ctnrCode {  get; set; }
        /// 
        /// 载具编号
        /// 
        public string PodCode { get; set; }
        /// 
        /// 载具类型
        /// 
        public string PodTyp { get; set; }
        /// 
        /// 物料批次
        /// 
        public string MaterialLot { get; set; }
        /// 
        /// 优先级(1~127)最大优先级最高 为空时,采用任务模板的优先级
        /// 
        public string Priority { get; set; }
        /// 
        /// AGV任务号
        /// 
        public string TaskCode { get; set; }
        /// 
        /// AGV设备编号 填写可指定某一编号的AGV执行该任务
        /// 
        public string AgvCode { get; set; }
        /// 
        /// AGV设备类型
        /// 
        public string AgvTyp { get; set; }
        /// 
        /// 任务组
        /// 
        public string GroupId { get; set; }
        /// 
        /// 区域/策略
        /// 挑选货架以及根据物料批次挑选货架时的先进先出规则,支持以下4个值:
        /// 1:按照货架到达储位的时间顺序,先进先出
        /// 2:按照货架到达储位的时间顺序,先进后出
        /// 9:按照货架绑定物料批次的时间顺序,先进先出
        /// 10:按照货架绑定物料批次的时间顺序,先进后出
        /// 
        public string PositionSelStrategy { get; set; }
        /// 
        /// 自定义字段
        /// 
        public string Data { get; set; }
    }
    public class CodePath
    {
        public string type { get; set; }
        public string positionCode { get; set; }
    }
}