using System;
using System.ComponentModel.DataAnnotations;
namespace WCS.Entity
{
    /// 
    /// WCS任务类型
    /// 
    public class WCS_TASK : OBJ
    {
        /// 
        /// 生产编码
        /// 
        [StringLength(50)]
        public string BARCODE { get; set; }
        /// 
        /// 任务类型
        /// 
        public TaskType TYPE { get; set; }
        /// 
        /// 任务状态
        /// 
        public TaskStatus STATUS { get; set; }
        /// 
        /// 起始地址
        /// 
        [StringLength(20)]
        public string ADDRFROM { get; set; }
        /// 
        /// 目标地址
        /// 
        [StringLength(20)]
        public string ADDRTO { get; set; }
        /// 
        /// 下一个地址
        /// 
        [StringLength(20)]
        public string ADDRNEXT { get; set; }
        /// 
        /// 巷道
        /// 
        [StringLength(10)]
        public string TUNNEL { get; set; }
        /// 
        ///
        /// 
        public int FLOOR { get; set; }
        /// 
        /// 设备
        /// 
        [StringLength(20)]
        public string DEVICE { get; set; }
        /// 
        /// 堆垛机放货站台
        /// 
        [StringLength(20)]
        public string SRMSTATION { get; set; }
        /// 
        ///创建时间
        /// 
        public DateTime CREATETIME { get; set; } = DateTime.Now;
        /// 
        /// 开始时间
        /// 
        public DateTime? STARTTIME { get; set; }
        /// 
        /// 结束时间
        /// 
        public DateTime? ENDTIME { get; set; }
        /// 
        /// 单号 美纹中组盘时使用
        /// 
        public int DOCID { get; set; }
        /// 
        /// 托盘类型1-4
        /// 
        public short PALLETTYPE { get; set; }
        /// 
        /// 产线1-9
        /// 
        public short PRODLINE { get; set; }
        /// 
        /// 满盘数量
        /// 
        public short FULLQTY { get; set; }
        /// 
        /// 高度
        /// 
        public short HEIGHT { get; set; }
        /// 
        /// WMS任务号
        /// 
        public int WMSTASK { get; set; }
        /// 
        /// 任务组ID
        /// 
        public string TaskGroupKey { get; set; }
        /// 
        /// 更新状态
        /// 
        public TaskStatus UPLOADED { get; set; }
        /// 
        /// AGV任务号
        /// 
        public int AgvTask { get; set; }
        /// 
        /// 优先级
        /// 
        public int Priority { get; set; }
        /// 
        /// 手动处理备注
        /// 
        public string ManualRemarks { get; set; }
        /// 
        /// 产品长度
        /// 
        public decimal Length { get; set; }
        /// 
        /// 产品编码
        /// 
        public string MaterialCode { get; set; }
    }
    public enum TaskType
    {
        组盘 = 0,
        入库 = 1,
        出库 = 2,
        移库 = 3,
        输送 = 5,
    }
    public enum TaskStatus
    {
        新建 = 0,
        执行中 = 2,
        入库交管结束 = 3,
        堆垛机执行 = 5,
        堆垛机完成 = 6,
        出库RGV执行 = 9,
        已完成 = 99,
        已取消 = 106
    }
}