Log_SubTask .cs 5.46 KB
using RCS.Model.Comm;
using RCS.Model.Entity.PrimaryKey;
using System.ComponentModel.DataAnnotations.Schema;
using System.Threading.Tasks;

namespace RCS.Model.Entity
{
    [Table("t_log_subtask")]

    public class Log_SubTask : IdEntity, IComparable
    {
        #region 字段
        private EnumMsg.RequestType requestType;
        private ushort height;
        private int waitTime;
        private DateTime? endTime;
        private DateTime? beginTime;
        private EnumMsg.SubTaskState subTaskState;
        private bool isCarry;
        private string endBarcode;
        private string startBarcode;
        private string taskNo;
        private uint subTaskNo;
        private int serialNo;
        private EnumMsg.ActionType actionType;
        private string pathPointStr;
        private int taskId;
        #endregion

        /// <summary>
        /// 子任务ID
        /// </summary>
       // public new int ID { get; set; }

        /// <summary>
        /// 主任务ID
        /// </summary>
        public int TaskId
        {
            get => taskId;
            set
            {
                taskId = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 任务模板序号
        /// </summary>
        public int SerialNo
        {
            get => serialNo;
            set
            {
                serialNo = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 子任务号
        /// </summary>
        public uint SubTaskNo
        {
            get => subTaskNo;
            set
            {
                subTaskNo = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 主任务号
        /// </summary>
        public string TaskNo
        {
            get => taskNo;
            set
            {
                taskNo = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 任务类型
        /// </summary>
        public EnumMsg.ActionType ActionType
        {
            get => actionType;
            set
            {
                actionType = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 起点地标编码
        /// </summary>
        public string? StartBarcode
        {
            get => startBarcode;
            set
            {
                startBarcode = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 终点地标编码
        /// </summary>
        public string? EndBarcode
        {
            get => endBarcode;
            set
            {
                endBarcode = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 子任务起点信息
        /// </summary>
        [NotMapped]
        public Base_Point StartPoint { get; set; }

        /// <summary>
        /// 子任务终点信息
        /// </summary>
        [NotMapped]
        public Base_Point EndPoint { get; set; }

        /// <summary>
        /// 是否需要小车载货
        /// </summary>
        public bool IsCarry
        {
            get => isCarry;
            set
            {
                isCarry = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 请求类型
        /// </summary>
        public EnumMsg.RequestType RequestType
        {
            get => requestType;
            set
            {
                requestType = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 任务状态
        /// </summary>
        public EnumMsg.SubTaskState SubTaskState
        {
            get => subTaskState;
            set
            {
                subTaskState = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 任务的开始时间
        /// </summary>
        public DateTime? BeginTime
        {
            get => beginTime;
            set
            {
                beginTime = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 任务的结束时间
        /// </summary>
        public DateTime? EndTime
        {
            get => endTime;
            set
            {
                endTime = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 等待时间
        /// </summary>
        public int WaitTime
        {
            get => waitTime;
            set
            {
                waitTime = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 顶升高度
        /// </summary>
        public ushort Height
        {
            get => height;
            set
            {
                height = value;
                NotifyPropertyChanged();
            }
        }

        /// <summary>
        /// 历史子任务号排序
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public int CompareTo(object? obj)
        {
            var subTask = obj as Log_SubTask;
            if (subTask == null)
            {
                throw new NotImplementedException();
            }
            return SubTaskNo.CompareTo(subTask.SubTaskNo);
        }
    }
}