using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.MorkF
{
    internal class GVL_MorkF
    {
        /// <summary>
        /// 初始化完成状态
        /// </summary>
        public bool InitialComplete { get; set; }
        /// <summary>
        /// 供盘 模组状态 忙碌1 空闲0
        /// </summary>
        public bool ProvidePlateModule { get; set; }
        /// <summary>
        /// 供盘完成状态
        /// </summary>
        public bool ProvidePlateComplete { get; set; }
        /// <summary>
        /// 清洗模组1状态 忙碌1 空闲0
        /// </summary>
        public bool CleanModule { get; set; }
        /// <summary>
        /// 清洗模组1完成状态
        /// </summary>
        public bool CleanComplete { get; set; }
        /// <summary>
        /// 锅灶1状态  忙碌1  空闲0
        /// </summary>
        public bool KitchenOneStatus { get; set; }
        /// <summary>
        /// 注油完成状态
        /// </summary>
        public bool FallOilComplete { get; set; }
        /// <summary>
        /// 翻转机上升完成状态
        /// </summary>
        public bool TurnMachineUpComplete { get; set; }
        /// <summary>
        /// 翻转机下降完成状态
        /// </summary>
        public bool TurnMachineDownComplete { get; set; }
        /// <summary>
        /// 料仓旋转到位状态
        /// </summary>
        public bool MaterialArriveComplete { get; set; }
        /// <summary>
        /// 机器人空闲状态
        /// </summary>
        public bool RoobotIdle { get; set; }
        /// <summary>
        /// 放锅至灶台完成状态
        /// </summary>
        public bool PutPotToKitchenComlete { get; set; }
        /// <summary>
        /// 机器人取料完成状态
        /// </summary>
        public bool TakeMaterialComplete { get; set; }
        /// <summary>
        /// 机器人放锅至清洗台完成状态
        /// </summary>
        public bool PlaceRinseTableComplete { get; set; }

        /// <summary>
        /// 订单取配料队列
        /// </summary>
        public ConcurrentQueue<OrderLocInfo> TakeMaterialQueue = new ConcurrentQueue<OrderLocInfo>();
        /// <summary>
        /// 订单供盘队列
        /// </summary>
        public ConcurrentQueue<OrderLocInfo> TakePlateQueue = new ConcurrentQueue<OrderLocInfo>();
        /// <summary>
        /// 存放当前订单唯一ID
        /// </summary>
        public string CurrentOrderId { get; set; }
        /// <summary>
        /// PLC上升沿初始化触发信号
        /// </summary>
        public bool DevicDataInite { set; get; }
        /// <summary>
        /// 取素菜A料完成
        /// </summary>
        public bool TakeVegBurdenAComplete { get; set; }
        /// <summary>
        /// 取荤菜A料完成
        /// </summary>
        public bool TakeMeatBurdenAComplete { get; set; }

        /// <summary>
        /// 所有A料下锅完成
        /// </summary>
        public bool TakeAllBurdenAComplete { get; set; }
        /// <summary>
        /// 取素菜B料完成
        /// </summary>
        public bool TakeVegBurdenBComplete { get; set; }
        /// <summary>
        /// 所有B料下锅完成
        /// </summary>
        public bool TakeAllBurdenBComplete { get; set; }
        /// <summary>
        /// 取C料完成
        /// </summary>
        public bool TakeBurdenCComplete { get; set; }
        /// <summary>
        /// 除C料外，所有配料下锅标志
        /// </summary>
        public bool TakeAllBurdenComplete { get; set; }
        /// <summary>
        /// 锅到位 true：到位  false:未到位
        /// </summary>
        public bool PotInPlace { get; set; }
        /// <summary>
        /// true:烹饪完成  
        /// </summary>
        public bool CookingComplete { get; set; }
        /// <summary>
        /// 注油完成
        /// </summary>
        public bool AddOilComplete { get; set; }
        /// <summary>
        /// 倒料完成
        /// </summary>
        public bool FallMaterialComplete { get; set; }
        /// <summary>
        /// 供盘互锁
        /// </summary>
        public bool TakePlateLock { get; set; }
        /// <summary>
        /// 取锅互锁
        /// </summary>
        public bool TakePotLock { get; set; }
        /// <summary>
        /// 取素菜A料互锁
        /// </summary>
        public bool TakeVegALock { get; set; }
        /// <summary>
        /// 取荤菜A料互锁
        /// </summary>
        public bool TakeMeatALock { get; set; }
        /// <summary>
        /// 取素菜B料互锁
        /// </summary>
        public bool TakeVegBLock { get; set; }
        /// <summary>
        /// 取C料互锁
        /// </summary>
        public bool TakeBurdenCLcok { get; set; }
        /// <summary>
        /// 烹饪任务互锁
        /// </summary>
        public bool CookingLock { get; set; }
        /// <summary>
        /// 转台互锁
        /// </summary>
        public bool TurnTableLock { get; set; }

        public bool ProcessExcuteLock { get; set; }
        /// <summary>
        /// 开始取料标志
        /// </summary>
        public bool AllowTakeMaterial { get; set; }
        /// <summary>
        /// 当前订单完成标志
        /// </summary>
        public bool OutMealComplete { get; set; }

    }
}

