Commit 493ad411 张东亮

1

1 个父辈 8b0593e8
......@@ -91,7 +91,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
public string[] sheidBColmns;
/// <summary>
/// A面等待出库的队列
/// A面等待出库的列表
/// </summary>
public ConcurrentQueue<InOutParam> waitAOutStoreList = new ConcurrentQueue<InOutParam>();
/// <summary>
......@@ -748,7 +748,7 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.AInStoreInfo != null
&& IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.BInStoreInfo != null
&& (BufferDataManager.AInStoreInfo.PlateW== BufferDataManager.BInStoreInfo.PlateW && BufferDataManager.AInStoreInfo.PlateH == BufferDataManager.BInStoreInfo.PlateH))
&& (BufferDataManager.AInStoreInfo.PlateW == BufferDataManager.BInStoreInfo.PlateW && BufferDataManager.AInStoreInfo.PlateH == BufferDataManager.BInStoreInfo.PlateH))
{
StartInstore(new InOutParam() { PosInfo = BufferDataManager.AInStoreInfo, PosInfoBack = BufferDataManager.BInStoreInfo });
return;
......@@ -795,22 +795,22 @@ namespace OnlineStore.DeviceLibrary
if (CloseOutStoreCheck)
{
InOutParam param = null;
bool result = waitAOutStoreList.TryDequeue(out param);
if (result && param != null)
bool result = waitAOutStoreList.TryPeek(out param);
if (param != null)
{
//LogInfo("执行A面排队的出库【" + param.PosInfo.ToStr() + "】");
StartExecuctOut(param);
bool rtn = StartExecuctOut(param);
if (rtn) waitAOutStoreList.TryDequeue(out _);
return;
}
}
else //if (CheckAOutDoor())
{
InOutParam param = null;
bool result = waitAOutStoreList.TryDequeue(out param);
bool result = waitAOutStoreList.TryPeek(out param);
if (result && param != null)
{
//LogInfo("执行A面排队的出库【" + param.PosInfo.ToStr() + "】");
StartExecuctOut(param);
bool rtn=StartExecuctOut(param);
if (rtn) waitAOutStoreList.TryDequeue(out _);
return;
}
}
......
using CodeLibrary;
using log4net.Util;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
......@@ -1153,38 +1154,39 @@ namespace OnlineStore.DeviceLibrary
return false;
}
private static object outStoreObject = new object();
public void StartExecuctOut(InOutParam param)
public bool StartExecuctOut(InOutParam param)
{
bool result = false;
result = StartOutstore(param);
if (!result)
{
lock (outStoreObject)
{
if (MoveInfo.MoveType.Equals(MoveType.OutStore) && MoveInfo.MoveParam.PosInfo.PosId.Equals(param.PosInfo.PosId))
{
LogUtil.error(Name + " 出库命令【" + param.PosInfo.ToStr() + "】重复,【" + MoveInfo.MoveParam.PosInfo.PosId + "】出库执行中");
return;
}
return result;
//if (!result)
//{
// lock (outStoreObject)
// {
// if (MoveInfo.MoveType.Equals(MoveType.OutStore) && MoveInfo.MoveParam.PosInfo.PosId.Equals(param.PosInfo.PosId))
// {
// LogUtil.error(Name + " 出库命令【" + param.PosInfo.ToStr() + "】重复,【" + MoveInfo.MoveParam.PosInfo.PosId + "】出库执行中");
// return false;
// }
List<InOutParam> reviceList = new List<InOutParam>();
reviceList.AddRange(waitAOutStoreList);
//reviceList.AddRange(waitBOutStoreList);
reviceList = (from m in reviceList where m.PosInfo.PosId.Equals(param.PosInfo.PosId) select m).ToList<InOutParam>();
if (reviceList.Count == 0)
{
//LogInfo(" 执行出库【" + param.PosInfo.ToStr() + "】失败,加入等待队列");
// if (param.PosInfo.GetPosSide().Equals("A"))
{
waitAOutStoreList.Enqueue(param);
}
//else if (param.PosInfo.GetPosSide().Equals("B"))
//{
// waitBOutStoreList.Enqueue(param);
//}
}
}
}
// List<InOutParam> reviceList = new List<InOutParam>();
// reviceList.AddRange(waitAOutStoreList);
// //reviceList.AddRange(waitBOutStoreList);
// reviceList = (from m in reviceList where m.PosInfo.PosId.Equals(param.PosInfo.PosId) select m).ToList<InOutParam>();
// if (reviceList.Count == 0)
// {
// //LogInfo(" 执行出库【" + param.PosInfo.ToStr() + "】失败,加入等待队列");
// // if (param.PosInfo.GetPosSide().Equals("A"))
// {
// waitAOutStoreList.Enqueue(param);
// }
// //else if (param.PosInfo.GetPosSide().Equals("B"))
// //{
// // waitBOutStoreList.Enqueue(param);
// //}
// }
// }
//}
}
private DateTime startOutStoreTime = DateTime.Now;
/// <summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!