Commit 82b7b819 几米阳光

1

1 个父辈 0030a01d
...@@ -1402,49 +1402,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -1402,49 +1402,23 @@ namespace OnlineStore.DeviceLibrary
IsScanCode = false; IsScanCode = false;
return; return;
} }
IsScanCode = false; IsScanCode = false;
Dictionary<string, string> data = resultOperation.data;
if (data != null && data.ContainsKey(ParamDefine.posId) && data.ContainsKey(ParamDefine.plateH) && data.ContainsKey(ParamDefine.plateW)) if (resultOperation.op.Equals(1))
{ {
//服务器返回时有:posId库位编号,plateW:料盘宽度,plateH:料盘高度, ReviceInStoreProcess(message, resultOperation);
//postId格式BoxId#位置 }
string posId = data[ParamDefine.posId]; else if (resultOperation.op.Equals(2))
string plateW = data[ParamDefine.plateW]; {
string plateH = data[ParamDefine.plateH]; ReviceOutStoreProcess(resultOperation);
string[] posArray = posId.Split('#'); }
if (!(posArray.Length == 2)) else if (resultOperation.op.Equals(5))
{ {
WarnMsg = StoreName + "入库库位格式错误:二维码【" + message + "】库位【" + posId + "】"; ProcessHumidityCMD(resultOperation);
LogUtil.error(LOGGER, "服务器反馈 入库库位格式错误:二维码【" + message + "】库位【" + posId + "】"); }
LogUtil.info(LOGGER, "服务器反馈 入库库位格式错误:二维码【" + message + "】库位【" + posId + "】"); else
return; {
} LogUtil.error("收到服务器命令:op=" + resultOperation.op + ",未找到对应处理");
int storeId = int.Parse(posArray[0]);
//根据发送的posId获取位置列表
ACStorePosition position = CSVPositionReader<ACStorePosition>.GetPositon(posId);
if (position == null)
{ //出入库没有找到服务器发送的库位,需要打印日志方便查询原因
WarnMsg = "入库未找到库位:二维码【" + message + "】库位【" + posId + "】 ";
LogUtil.error(LOGGER, "收到服务器入库命令:入库未找到库位:二维码【" + message + "】库位【" + posId + "】");
LogUtil.info(LOGGER, "收到服务器入库命令:入库未找到库位:二维码【" + message + "】库位【" + posId + "】");
return;
}
//TODO:判断BOX是否处于可以入库状态,如果调试或急停中,需要返回给服务器;
if (CanStarInOut())
{
IsScanCode = false;
InOutStoreParam param = new InOutStoreParam(message, posId, plateH, plateW, 0);
StartInStoreMove(param);
//如果当前正在出入库中,需要记录下来,等待空闲时执行
LogUtil.info(LOGGER, StoreName + " 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】 开始入库!");
}
else
{
LogUtil.info(LOGGER, StoreName + " 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】 正在忙碌中,无法入库!");
IsScanCode = false;
}
} }
} }
catch (Exception ex) catch (Exception ex)
...@@ -1453,6 +1427,53 @@ namespace OnlineStore.DeviceLibrary ...@@ -1453,6 +1427,53 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Error(StoreName + ex.StackTrace); LOGGER.Error(StoreName + ex.StackTrace);
} }
} }
private void ReviceInStoreProcess(string message, Operation resultOperation)
{
Dictionary<string, string> data = resultOperation.data;
if (data != null && data.ContainsKey(ParamDefine.posId) && data.ContainsKey(ParamDefine.plateH) && data.ContainsKey(ParamDefine.plateW))
{
//服务器返回时有:posId库位编号,plateW:料盘宽度,plateH:料盘高度,
//postId格式BoxId#位置
string posId = data[ParamDefine.posId];
string plateW = data[ParamDefine.plateW];
string plateH = data[ParamDefine.plateH];
string[] posArray = posId.Split('#');
if (!(posArray.Length == 2))
{
WarnMsg = StoreName + "入库库位格式错误:二维码【" + message + "】库位【" + posId + "】";
LogUtil.error(LOGGER, "服务器反馈 入库库位格式错误:二维码【" + message + "】库位【" + posId + "】");
LogUtil.info(LOGGER, "服务器反馈 入库库位格式错误:二维码【" + message + "】库位【" + posId + "】");
return;
}
int storeId = int.Parse(posArray[0]);
//根据发送的posId获取位置列表
ACStorePosition position = CSVPositionReader<ACStorePosition>.GetPositon(posId);
if (position == null)
{ //出入库没有找到服务器发送的库位,需要打印日志方便查询原因
WarnMsg = "入库未找到库位:二维码【" + message + "】库位【" + posId + "】 ";
LogUtil.error(LOGGER, "收到服务器入库命令:入库未找到库位:二维码【" + message + "】库位【" + posId + "】");
LogUtil.info(LOGGER, "收到服务器入库命令:入库未找到库位:二维码【" + message + "】库位【" + posId + "】");
return;
}
//TODO:判断BOX是否处于可以入库状态,如果调试或急停中,需要返回给服务器;
if (CanStarInOut())
{
IsScanCode = false;
InOutStoreParam param = new InOutStoreParam(message, posId, plateH, plateW, 0);
StartInStoreMove(param);
//如果当前正在出入库中,需要记录下来,等待空闲时执行
LogUtil.info(LOGGER, StoreName + " 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】 开始入库!");
}
else
{
LogUtil.info(LOGGER, StoreName + " 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】 正在忙碌中,无法入库!");
IsScanCode = false;
}
}
}
#endregion #endregion
...@@ -1932,7 +1953,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -1932,7 +1953,11 @@ namespace OnlineStore.DeviceLibrary
//判断服务端是否返回出库操作 //判断服务端是否返回出库操作
return; return;
} }
if (resultOperation.op.Equals(2)) if (resultOperation.op.Equals(1))
{
ReviceInStoreProcess("", resultOperation);
}
else if (resultOperation.op.Equals(2))
{ {
ReviceOutStoreProcess(resultOperation); ReviceOutStoreProcess(resultOperation);
} }
...@@ -1971,6 +1996,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1971,6 +1996,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
private void ReviceOutStoreProcess(Operation resultOperation) { private void ReviceOutStoreProcess(Operation resultOperation) {
DateTime time = DateTime.Now; DateTime time = DateTime.Now;
Dictionary<string, string> data = resultOperation.data; Dictionary<string, string> data = resultOperation.data;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!