using IWareCC.CacheInfo; using IWareCC.CacheInfo.Container; using IWareCC.ChaiDie.Entity; using IWareCC.Properties; using IWareCommon.Enum.Chaidie; using IWareCommon.Enum.Common; using IWareCommon.Help; using IWareCommon.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace IWareCC.ChaiDie.Handle.FinishChaiDieTaskAuto { public class 等待拆叠机完成任务: IHandler { /// /// 该节点的下一个节点 /// private IHandler nextHandler = null; public IHandler NextHandler { set { nextHandler = value; } } private ChaiDieEntity Chaidie; /// /// 任务容器 /// private PartTaskContainer DecompositionTaskContainer; public 等待拆叠机完成任务(ChaiDieEntity chaidie, PartTaskContainer decompositionTaskContainer) { this.Chaidie = chaidie; this.DecompositionTaskContainer = decompositionTaskContainer; } public void Handle() { try { //判断是否有货 var flag1 =false; if (Chaidie.ChaiDieName == "ChaiDei3") { var Conveyor= CacheEntity.Conveyors.FirstOrDefault(x => x.ConveyorName == "Line1021"); if (Conveyor != null && (Conveyor.RPh1 == 1 &&Conveyor.RPh1 == 1))//传感器已检测到有小托盘 { flag1 = true; } } if (Chaidie.ChaiDieName == "ChaiDei4") { var Conveyor = CacheEntity.Conveyors.FirstOrDefault(x => x.ConveyorName == "Line1026"); if (Conveyor != null && (Conveyor.RPh1 == 1&& Conveyor.RPh1 == 1))//传感器已检测到有大托盘 { flag1 = true; } } if (!flag1) { LogTextHelper.WriteLine(Resources.LogDir + @"/完成拆叠机任务/" + Chaidie.ChaiDieName, "等待拆叠机完成任务:{0}", "发送OPC失败"); return; } LogTextHelper.WriteLine(Resources.LogDir + @"/完成拆叠机任务/" + Chaidie.ChaiDieName, "等待拆叠机完成任务:{0}", "任务已完成"); if (nextHandler != null) { nextHandler.Handle(); } } catch (Exception ex) { LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Handle", ex.Message); } } } }