JobContext.cs 1.5 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DeviceLibrary.bean.agv
{
    /// <summary>
    /// 任务上下文
    /// </summary>
    public class JobContext
    {
        /// <summary>
        /// Agv名称
        /// </summary>
        public string Name { get; set; } = "";
        /// <summary>
        /// 任务id
        /// </summary>
        public string MissionId { get; set; } = "";
        /// <summary>
        /// job全称
        /// </summary>
        public string JobFullName { get; set; } = "";
        /// <summary>
        /// 当前步骤
        /// </summary>
        public string JobStep { get; set; } = "";
        /// <summary>
        /// 任务参数
        /// </summary>
        public JobParam JobParam { get; set; } = new JobParam(null);
        /// <summary>
        /// 任务
        /// </summary>
        public AgvTask AgvTask { get; set; } = new AgvTask();

        public override bool Equals(object obj)
        {
            JobContext jobContext = obj as JobContext;
            if (jobContext == null) return false;
            else
            {
                if(MissionId.Equals(jobContext.MissionId) && JobFullName.Equals(jobContext.JobFullName)&&
                    JobStep.Equals(jobContext.JobStep) && AgvTask.Name.Equals(jobContext.AgvTask.Name))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    }
}