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;
}
}
}