using Aitex.Core.RT.Fsm;
using MECF.Framework.Common.Equipment;
using CyberX8_Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MECF.Framework.Common.WaferHolder;
using Aitex.Core.Common;
namespace CyberX8_RT.Schedulers
{
    public class SchedulerSequence
    {
        /// 
        /// 步骤索引
        /// 
        public int SequenceIndex { get; set; }
        /// 
        /// 模块名称
        /// 
        public ModuleName ModuleName { get; set; } = ModuleName.Unknown;
        /// 
        /// 模块类型
        /// 
        public ModuleType ModuleType { get; set; }
        /// 
        /// 资源类型
        /// 
        public MaterialType MaterialType { get; set; }
        /// 
        /// 状态
        /// 
        public RState State { get; set; }
        /// 
        /// Sequence类型
        /// 
        public string SequenceType { get; set; }
        /// 
        /// Recipe
        /// 
        public Object Recipe { get; set; }
        /// 
        /// 起始时间
        /// 
        public DateTime StartTime { get; set; }
        /// 
        /// 结束时间
        /// 
        public DateTime EndTime { get; set; }
        /// 
        /// 处理时长(毫秒)
        /// 
        public double ProcessMilliSeconds { get; set; }
        /// 
        /// 调度模块
        /// 
        public SchedulerModule SchedulerModule { get; set; }
        /// 
        /// 是否为加工工序
        /// 
        public bool IsProcessSequece { get; set; }
        /// 
        /// 是否为最后加工工序
        /// 
        public bool IsLastProcessSequence { get; set; }
        /// 
        /// 参数
        /// 
        public object Parameters { get; set; }
        /// 
        /// 同步实体操作集合
        /// 
        public List SynchronousModuleMessages { get; set; }
        /// 
        /// 是否需要等待通知
        /// 
        public bool IsWaitNotify { get; set; }
        /// 
        /// 下一个模块类型
        /// 
        public ModuleType NextModuleType { get; set; }
        /// 
        /// 下一个模块的recipe
        /// 
        public Object NextRecipe { get; set; }
        /// 
        /// Wafer尺寸大小
        /// 
        public int WaferSize { get; set; }
    }
}