<add>[important]添加入库异常口扫码逻辑
This commit is contained in:
parent
d16b29ed6b
commit
aed0a69c8c
|
|
@ -1,20 +1,117 @@
|
|||
using WcsMain.Business.Convey.HistoryDataHandler.HisGetData.I;
|
||||
using WcsMain.Common;
|
||||
using WcsMain.DataBase.Dao;
|
||||
using WcsMain.DataBase.TableEntity;
|
||||
using WcsMain.DataService;
|
||||
using WcsMain.Enum.Convey;
|
||||
using WcsMain.Enum.Stacker;
|
||||
using WcsMain.EquipOperation.Convey;
|
||||
using WcsMain.EquipOperation.Entity;
|
||||
using WcsMain.ExtendMethod;
|
||||
|
||||
namespace WcsMain.Business.Convey.HistoryDataHandler.HisGetData;
|
||||
|
||||
/// <summary>
|
||||
/// 入库异常异常口判定 ---- 卡特专用 ---- 苏州卡特
|
||||
/// </summary>
|
||||
public class StackerInErr : IBaseGetData
|
||||
public class StackerInErr(ConveyOperation conveyOperation, DataBaseData dataBaseData, AppWcsTaskDao wcsTaskDao) : IBaseGetData
|
||||
{
|
||||
|
||||
private readonly ConveyOperation _conveyOperation = conveyOperation;
|
||||
private readonly DataBaseData _dataBaseData = dataBaseData;
|
||||
private readonly AppWcsTaskDao _wcsTaskDao = wcsTaskDao;
|
||||
|
||||
/// <summary>
|
||||
/// 读码失败
|
||||
/// </summary>
|
||||
/// <param name="disPlayName"></param>
|
||||
/// <param name="msg"></param>
|
||||
/// <param name="area"></param>
|
||||
/// <param name="routerMethodData"></param>
|
||||
public void ReadFail(string? disPlayName, string msg, string? area, AppRouterMethod routerMethodData)
|
||||
{
|
||||
|
||||
int plcId = _dataBaseData.GetNewPlcTaskId() ?? StaticData.StaticInt.ErrPlcId;
|
||||
ConveyPLCTask plcTask = new(plcId, (short)ConveyRouterEnum.NoRead);
|
||||
string errText = _conveyOperation.WriteTask(area, plcTask);
|
||||
if (string.IsNullOrEmpty(errText))
|
||||
{
|
||||
ConsoleLog.Success($"入库异常口:{area} 读码失败,写入PLC成功,{plcTask}");
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Warning($"【警告】入库异常口:{area} 读码失败,写入PLC失败,{plcTask},信息:{errText}");
|
||||
return;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 读码成功
|
||||
/// </summary>
|
||||
/// <param name="disPlayName"></param>
|
||||
/// <param name="msg"></param>
|
||||
/// <param name="area"></param>
|
||||
/// <param name="routerMethodData"></param>
|
||||
public void ReadSuccess(string? disPlayName, string msg, string? area, AppRouterMethod routerMethodData)
|
||||
{
|
||||
|
||||
int plcId = _dataBaseData.GetNewPlcTaskId() ?? StaticData.StaticInt.ErrPlcId; // 获取一个 plcId
|
||||
(string code, string direction) = msg.FormatDir();
|
||||
/* 判断方向是否正确 */
|
||||
string? routerDirection = routerMethodData.AllowDirection;
|
||||
if (!string.IsNullOrEmpty(routerDirection))
|
||||
{
|
||||
string[] dirs = routerDirection.Split(',');
|
||||
if (!dirs.Contains(direction))
|
||||
{
|
||||
ConsoleLog.Warning($"【警告】入库异常口:{area} 箱码:{msg} 方向:{direction} 方向不正确,允许的方向为:{routerDirection}");
|
||||
ConveyPLCTask plcTask = new(plcId, (short)ConveyRouterEnum.WcsErr);
|
||||
string errText = _conveyOperation.WriteTask(area, plcTask);
|
||||
if (string.IsNullOrEmpty(errText))
|
||||
{
|
||||
ConsoleLog.Success($"入库异常口:{area} 箱码:{msg},写入PLC成功,{plcTask}");
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Warning($"【警告】入库异常口:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* 查询任务 */
|
||||
List<AppWcsTask>? wcsTasks = _wcsTaskDao.Select(new AppWcsTask { VehicleNo = code, TaskStatus = (int)WcsTaskStatusEnum.create });
|
||||
if (wcsTasks == default)
|
||||
{
|
||||
// 数据库服务器连接失败
|
||||
ConsoleLog.Exception($"【异常】入库异常口:{area} 箱码:{msg} 查询任务失败,请检查服务器网络");
|
||||
ConveyPLCTask plcTask = new(plcId, (short)ConveyRouterEnum.WmsErr);
|
||||
string errText = _conveyOperation.WriteTask(area, plcTask);
|
||||
if (string.IsNullOrEmpty(errText))
|
||||
{
|
||||
ConsoleLog.Success($"入库异常口:{area} 箱码:{msg},写入PLC成功,{plcTask}");
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Warning($"【警告】入库异常口:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}");
|
||||
return;
|
||||
}
|
||||
if (wcsTasks.Count < 1)
|
||||
{
|
||||
// 不存在任务
|
||||
ConsoleLog.Exception($"【异常】入库异常口:{area} 箱码:{msg} 不存在入库任务");
|
||||
ConveyPLCTask plcTask = new(plcId, (short)ConveyRouterEnum.WcsErr);
|
||||
string errText = _conveyOperation.WriteTask(area, plcTask);
|
||||
if (string.IsNullOrEmpty(errText))
|
||||
{
|
||||
ConsoleLog.Success($"入库异常口:{area} 箱码:{msg},写入PLC成功,{plcTask}");
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Warning($"【警告】入库异常口:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}");
|
||||
return;
|
||||
}
|
||||
// 存在入库任务
|
||||
ConsoleLog.Success($"入库异常口:{area} 箱码:{msg} 存在入库任务");
|
||||
ConveyPLCTask plcTaskOk = new(plcId, (short)ConveyRouterEnum.Move);
|
||||
string errTextOk = _conveyOperation.WriteTask(area, plcTaskOk);
|
||||
if (string.IsNullOrEmpty(errTextOk))
|
||||
{
|
||||
ConsoleLog.Success($"入库异常口:{area} 箱码:{msg},写入PLC成功,{plcTaskOk}");
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Warning($"【警告】入库异常口:{area} 箱码:{msg},写入PLC失败,{plcTaskOk},信息:{errTextOk}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,7 +121,6 @@ public class StackerInSpliter(ConveyOperation conveyOperation, DataBaseData data
|
|||
return;
|
||||
}
|
||||
ConveyRouterEnum router = (ConveyRouterEnum)(locationDetail.TunnelNo ?? 0);
|
||||
// 点位不存在
|
||||
ConsoleLog.Success($"入库分流:{area} 箱码:{msg} 终点:{wcsTask.Destination} 巷道:{locationDetail.TunnelNo}");
|
||||
ConveyPLCTask plcTaskOk = new(plcId, (short)router);
|
||||
string errTextOk = _conveyOperation.WriteTask(area, plcTaskOk);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user