using SqlSugar;
using System;
using wms.dto;
namespace WCS.Entity.fj
{
    /// 
    /// 任务表
    /// 
    [Tenant("hj")]
    [SugarTable(nameof(WCS_TaskOld) + "_{year}{month}{day}", "任务表")]
    [SplitTable(SplitType.Month)]//按年分表 (自带分表支持 年、季、月、周、日)
    public class WCS_TaskOld
    {
        /// 
        /// ID
        /// 
        [SugarColumn(IsPrimaryKey = true, ColumnDescription = "ID")]
        public int ID { get; set; }
        /// 
        /// 生产编码
        /// 
        [SugarColumn(ColumnDescription = "生产编码", Length = 50, IsNullable = true)]
        public string BarCode { get; set; }
        /// 
        /// 任务类型
        /// 
        [SugarColumn(ColumnDescription = "任务类型", IsNullable = true)]
        public TaskType Type { get; set; }
        /// 
        /// 任务状态
        /// 
        [SugarColumn(ColumnDescription = "任务状态", IsNullable = true)]
        public TaskStatus Status { get; set; }
        /// 
        /// 起始地址
        /// 
        [SugarColumn(ColumnDescription = "起始地址", Length = 20, IsNullable = true)]
        public string AddrFrom { get; set; }
        /// 
        /// 目标地址
        /// 
        [SugarColumn(ColumnDescription = "目标地址", Length = 20, IsNullable = true)]
        public string AddrTo { get; set; }
        /// 
        /// 最后一个交互点
        /// 
        [SugarColumn(ColumnDescription = "最后一个交互点", Length = 20, IsNullable = true)]
        public string LastInteractionPoint { get; set; }
        /// 
        /// 下一个地址
        /// 
        [SugarColumn(ColumnDescription = "下一个地址", Length = 20, IsNullable = true)]
        public string AddrNext { get; set; }
        /// 
        /// 巷道
        /// 
        [SugarColumn(ColumnDescription = "巷道", Length = 10, IsNullable = true)]
        public string Tunnel { get; set; }
        /// 
        /// 楼层
        /// 
        [SugarColumn(ColumnDescription = "楼层")]
        public int Floor { get; set; }
        /// 
        /// 设备
        /// 
        [SugarColumn(ColumnDescription = "设备", Length = 20, IsNullable = true)]
        public string Device { get; set; }
        /// 
        /// 堆垛机放货站台
        /// 
        [SugarColumn(ColumnDescription = "堆垛机放货站台", Length = 20, IsNullable = true)]
        public string SrmStation { get; set; }
        /// 
        ///创建时间
        /// 
        [SugarColumn(ColumnDescription = "创建时间")]
        [SplitField]
        public DateTime AddTime { get; set; }
        /// 
        /// 开始时间
        /// 
        [SugarColumn(ColumnDescription = "开始时间", IsNullable = true)]
        public DateTime? StartTime { get; set; }
        /// 
        /// 结束时间
        /// 
        [SugarColumn(ColumnDescription = "结束时间", IsNullable = true)]
        public DateTime? EndTime { get; set; }
        /// 
        ///  客户现场的机台/产线编号
        /// 
        [SugarColumn(ColumnDescription = "客户现场的机台/产线编号", IsNullable = true)]
        public string WorkBench { get; set; }
        /// 
        /// 码垛单号
        /// 
        [SugarColumn(ColumnDescription = "单号", IsNullable = true)]
        public int DocID { get; set; }
        /// 
        /// 码垛托盘类型
        /// 
        [SugarColumn(ColumnDescription = "托盘类型", IsNullable = true)]
        public short PalletType { get; set; }
        /// 
        ///  码垛工位
        /// 
        [SugarColumn(ColumnDescription = "码垛工位", IsNullable = true)]
        public short ProdLine { get; set; }
        /// 
        /// 满盘数量
        /// 
        [SugarColumn(ColumnDescription = "满盘数量", IsNullable = true)]
        public short FullQty { get; set; }
        /// 
        /// 高度
        /// 
        [SugarColumn(ColumnDescription = "高度", IsNullable = true)]
        public short Height { get; set; }
        /// 
        /// WMS任务号
        /// 
        [SugarColumn(ColumnDescription = "WMS任务号")]
        public int WmsTask { get; set; }
        /// 
        /// 任务组ID
        /// 
        [SugarColumn(ColumnDescription = "任务组ID", IsNullable = true)]
        public string TaskGroupKey { get; set; }
        /// 
        /// 更新状态
        /// 
        [SugarColumn(ColumnDescription = "更新状态")]
        public TaskStatus Uploaded { get; set; }
        /// 
        /// AGV任务号
        /// 
        [SugarColumn(ColumnDescription = "AGV任务号", IsNullable = true)]
        public int AgvTaskID { get; set; }
        /// 
        /// AGV任务详细信息
        /// 
        [Navigate(NavigateType.OneToOne, nameof(AgvTaskID))]
        public WCS_AgvTaskInfo AgvTask { get; set; }
        /// 
        /// 优先级
        /// 
        [SugarColumn(ColumnDescription = "优先级")]
        public int Priority { get; set; }
        /// 
        /// 手动处理备注
        /// 
        [SugarColumn(ColumnDescription = "手动处理备注", IsNullable = true)]
        public string ManualRemarks { get; set; }
        /// 
        /// 产品长度
        /// 
        [SugarColumn(ColumnDescription = "产品长度", IsNullable = true)]
        public decimal Length { get; set; }
        /// 
        /// 产品编码
        /// 
        [SugarColumn(ColumnDescription = "产品编码", IsNullable = true)]
        public string MaterialCode { get; set; }
        /// 
        /// 创建用户
        /// 仅记录用户ID
        /// 
        [SugarColumn(ColumnDescription = "创建用户", Length = 50)]
        public string AddWho { get; set; }
        /// 
        /// 更新用户
        /// 仅记录用户ID
        /// 
        [SugarColumn(ColumnDescription = "更新用户", Length = 50, IsNullable = true)]
        public string EditWho { get; set; }
        /// 
        /// 更新时间
        /// 
        [SugarColumn(ColumnDescription = "更新时间", IsNullable = true)]
        public DateTime EditTime { get; set; }
        /// 
        /// 仓库编码
        /// 
        [SugarColumn(ColumnDescription = "仓库编码", Length = 50)]
        public string WarehouseCode { get; set; }
        ///  
        /// MatCode
        ///  
        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
        public string MatCode { get; set; }
        ///  
        /// InvBarCode
        ///  
        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
        public string InvBarCode { get; set; }
        ///  
        /// IsFast
        ///  
        [SugarColumn(ColumnDataType = "bit", IsNullable = true)]
        public bool IsFast { get; set; }
        ///  
        /// Grade
        ///  
        [SugarColumn(ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]
        public string Grade { get; set; }
        ///  
        /// IsSurplus
        ///  
        [SugarColumn(ColumnDataType = "bit", IsNullable = true)]
        public bool IsSurplus { get; set; }
        ///  
        /// IsRework
        ///  
        [SugarColumn(ColumnDataType = "bit", IsNullable = true)]
        public bool IsRework { get; set; }
        /// 
        /// 出库类型标记
        /// 
        [SugarColumn(ColumnDescription = "出库类型标记", IsNullable = true)]
        public OutTypeEnum OutType { get; set; }
        /// 
        /// 业务类型
        /// 
        [SugarColumn(ColumnDescription = "业务类型", IsNullable = true)]
        public string BusType { get; set; }
    }
}