using System; using System.Collections.Generic; using System.Net.NetworkInformation; using System.Text; using System.Linq; using System.Data; using System.Threading; using Mesnac.Action.Base; using Mesnac.Controls.Base; using System.Windows.Forms; using Mesnac.Codd.Session; using System.IO; using Mesnac.Action.Feeding.BasicInfo; namespace Mesnac.Action.Feeding.FinishBatch { /// /// 存盘信号判断 /// public class FinishBatchFlag { /// /// 获取本地连接 /// /// private DbHelper getLocalHelper() { return new DatabaseAction().NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local); } /// /// 判断存盘信号是否正确 /// /// public bool Run() { if (PlcData.Instance.FinishedBatch.LastValue.ToInt() != 1) { return false; } BaseAction action = new BaseAction(); DbHelper dbHelper = getLocalHelper(); //当前计划设定车数 int planLotCount = PlcData.Instance.RecipeSetNumber.LastValue.ToInt(); //当前计划完成车数 int finishLotCount = PlcData.Instance.MixingFinishedCount.LastValue.ToInt(); if (finishLotCount == 0) { ICSharpCode.Core.LoggingService.Info("清除错误的存盘信号:" + finishLotCount.ToString()); new SaveFinishBatch().FinishedOneReset(); return false; } if (finishLotCount <= planLotCount && finishLotCount > 0) { ICSharpCode.Core.LoggingService.Info("存盘信号:" + finishLotCount.ToString()); if (RecipeCache.Instance.PlanInfo.PlanID.Trim() == SaveFinishBatch.LastSavePlanID.Trim() && finishLotCount == SaveFinishBatch.LastSaveRealNum) { ICSharpCode.Core.LoggingService.Info("清除重复的存盘信号:" + finishLotCount.ToString()); new SaveFinishBatch().FinishedOneReset(); return false; } //ICSharpCode.Core.LoggingService.Info("返回存盘true:" + finishLotCount.ToString()); return true; } return false; } } }