From aed0a69c8cd97978554ee1ec1137b583d369426e Mon Sep 17 00:00:00 2001 From: icewint Date: Wed, 12 Jun 2024 10:04:13 +0800 Subject: [PATCH] =?UTF-8?q?[important]=E6=B7=BB=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E5=BC=82=E5=B8=B8=E5=8F=A3=E6=89=AB=E7=A0=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HisGetData/StackerInErr.cs | 103 +++++++++++++++++- .../HisGetData/StackerInSpliter.cs | 1 - 2 files changed, 100 insertions(+), 4 deletions(-) diff --git a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInErr.cs b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInErr.cs index a3aa637..355471c 100644 --- a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInErr.cs +++ b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInErr.cs @@ -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; /// /// 入库异常异常口判定 ---- 卡特专用 ---- 苏州卡特 /// -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; + + /// + /// 读码失败 + /// + /// + /// + /// + /// 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; } + /// + /// 读码成功 + /// + /// + /// + /// + /// 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? 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; } } diff --git a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInSpliter.cs b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInSpliter.cs index 198ef1d..4c28024 100644 --- a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInSpliter.cs +++ b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerInSpliter.cs @@ -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);