using System;

namespace PmsWebApi
{
    /// <summary>
    /// 请求添加任务的数据格式
    /// </summary>
    public class RequestOrderInfo
    {
        /// <summary>
        /// 任务ID
        /// 非空
        /// 小于50字节
        /// </summary>
        public string OrderID = "";
        /// <summary>
        /// 父任务ID  
        /// 可空 默认值：空字符串
        /// 小于50字节 
        /// </summary>
        public string ParentOrderID = "";
        /// <summary>
        /// Agv类型 
        /// 可空 默认值：0
        /// 值含义 所有允许类型的（2的（类型-1）次方）之和
        /// 例如 允许1、2 两种类型的车 则：值 =  2的（1-1）次方 + 2的（2-1）次方 = 4
        /// 0：代表所有类型的AGV
        /// 1：代表1类型的AGV = 2的（1-1）次方
        /// 2：代表2类型的AGV = 2的（2-1）次方
        /// 3：代表1、2类型的AGV = 2的（1-1）次方 + 2的（2-1）次方
        /// 4：代表3类型的AGV = 2的（3-1）次方
        /// </summary>
        public int CarrierType = 0;
        /// <summary>
        /// 任务优先级
        /// 可空 默认值：0
        /// </summary>
        public int Priority = 0;
        /// <summary>
        /// 任务类型 含义自定义
        /// </summary>
        public int Type = 0;
        /// <summary>
        /// 点位列表 用英文,隔开 例如 A,B2,C3
        /// 非空
        /// </summary>
        public string PosArr = "";
        /// <summary>
        /// 点位列表数量 用来校验 PosArr 数量是否正确
        /// 非空
        /// </summary>
        public int PosArrLength = 0;
        /// <summary>
        /// 任务附加数据
        /// 可空 默认值：空字符串
        /// 如无附加协议 此字段为空字符串
        /// 其余任务数据根据特定协议转化为Json格式.
        /// </summary>
        public string OtherOrderData = "";
        /// <summary>
        /// 请求添加时间 格式化为：yyyy-MM-dd HH:mm:ss
        /// 非空
        /// </summary>
        public string CallTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

        public RequestOrderInfo()
        {
        }
    }
}
