Commit e780b65a 张东亮

出入库完成重发机制

1 个父辈 aabdd124
...@@ -7,6 +7,7 @@ using System.Collections.Concurrent; ...@@ -7,6 +7,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
...@@ -145,24 +146,40 @@ namespace OnlineStore.DeviceLibrary ...@@ -145,24 +146,40 @@ namespace OnlineStore.DeviceLibrary
Operation resultOperation = HttpHelper.PostJson(StoreManager.GetPostApi(server), lineOperation, false); Operation resultOperation = HttpHelper.PostJson(StoreManager.GetPostApi(server), lineOperation, false);
//发送状态信息到服务器 //发送状态信息到服务器
if (resultOperation == null || (resultOperation.op <= 0)) if (resultOperation == null)
return;
if (resultOperation.op <= 0)
{ {
//判断服务端是否返回出库操作
try try
{ {
if (lineOperation.boxStatus.ContainsKey(1)) if (lineOperation.boxStatus.ContainsKey(1)&& resultOperation.boxStatus.ContainsKey(1))
{ {
BoxStatus boxStatus = lineOperation.boxStatus[1]; BoxStatus sendboxStatus = lineOperation.boxStatus[1];
if (boxStatus.data.ContainsKey(ParamDefine.posId)) BoxStatus recvboxStatus = resultOperation.boxStatus[1];
if (sendboxStatus.data.ContainsKey(ParamDefine.posId))
{ {
string posid = boxStatus.data[ParamDefine.posId]; if (sendboxStatus.status.Equals((int)StoreStatus.InStoreEnd) || sendboxStatus.status.Equals((int)StoreStatus.OutStoreBoxEnd))
if (boxStatus.status.Equals((int)StoreStatus.InStoreEnd) || boxStatus.status.Equals((int)StoreStatus.OutStoreBoxEnd))
{ {
waitSendPosIds.Enqueue(new posStatus() { PosId = posid, StoreStatus = (StoreStatus)boxStatus.status }); string pos1 = sendboxStatus.data[ParamDefine.posId];
LogUtil.error($"{posid}发送[{boxStatus.status}]失败,存入待发送列表"); if (recvboxStatus.data.ContainsKey(ParamDefine.posId))
{
string pos2 = recvboxStatus.data[ParamDefine.posId];
if(pos1.Equals(pos2)&& sendboxStatus.status == recvboxStatus.status)
{
}
else
{
waitSendPosIds.Enqueue(new posStatus() { PosId = pos1, StoreStatus = (StoreStatus)sendboxStatus.status });
LogUtil.error($"{pos1}发送[{sendboxStatus.status}]失败1,存入待发送列表");
}
}
else
{
waitSendPosIds.Enqueue(new posStatus() { PosId = pos1, StoreStatus = (StoreStatus)sendboxStatus.status });
LogUtil.error($"{pos1}发送[{sendboxStatus.status}]失败2,存入待发送列表");
}
} }
} }
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!