Commit 493ad411 张东亮

1

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