From a87a93ea118aefc0486338ac996d4da7507ba44e Mon Sep 17 00:00:00 2001 From: hehaibing-1996 Date: Fri, 31 May 2024 17:03:54 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=AF=A5=E8=AE=A2=E5=8D=95=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E8=B4=A7=E6=9E=B6=E7=BB=93=E6=9D=9F=E5=85=A5?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WCS.BLL/HardWare/SmartShelf.cs | 23 ++++++++++++++-- WCS.BLL/Manager/DbInit.cs | 23 ++++++++-------- WCS.BLL/Tool/Helper.cs | 27 ++++++++++++++++++- .../WebSocketModel/WebSocketMessageModel.cs | 2 ++ WCS.WebApi/Controllers/InstoreController.cs | 4 +++ .../RequestResponseLoggingMiddleware.cs | 2 +- .../MXViewModel/MXOutInventoryViewModel.cs | 4 +++ .../Views/MXWindows/MXOutInventoryView.xaml | 7 +---- 货架标准上位机/WebSocket.cs | 7 +++++ 9 files changed, 78 insertions(+), 21 deletions(-) diff --git a/WCS.BLL/HardWare/SmartShelf.cs b/WCS.BLL/HardWare/SmartShelf.cs index 91c81c4..b7993bd 100644 --- a/WCS.BLL/HardWare/SmartShelf.cs +++ b/WCS.BLL/HardWare/SmartShelf.cs @@ -449,9 +449,28 @@ namespace WCS.BLL.HardWare CurrentOutStoreMatSNs.Clear(); WarningLight.CloseLight(TcpCleint); - //this.CurrentMode = Mode.待机模式; SetCurrentMode(Mode.待机模式); Logs.Write($"货架【{ShelfCode}】,结束退出出库", LogsType.Outstore); + + Task.Run(() => + { + //判断是否是当前订单最后一个出库货架 + var isOuting = ShelfManager.Shelves.Where(t => t.CurrentMode == Mode.出库模式 && t.OrderNumber == OrderNumber) + .Any(); + //WebSocket通知前台以更新左侧出库单列表的状态 + if (!isOuting ) + { + #region WebSocket + var messageMode = new WebSocketMessageModel() + { + IsWarning = false, + ClientIp = WebSocketIpAddress, + WarningType = WarningTypeEnum.通知刷新出库单列表, + }; + WarningManager.SendWarning(messageMode); + #endregion + } + }); } catch (Exception ex) { @@ -1551,6 +1570,7 @@ namespace WCS.BLL.HardWare { GoOutOutstore(); }); + //看是否是分批次出库的情况 分批次亮灯 Task.Run(async () => { @@ -1628,7 +1648,6 @@ namespace WCS.BLL.HardWare shelf.GoInOutstore(matDetails, outOrder); shelf.OrderNumber = outOrder.OrderNumber; }); - } else { diff --git a/WCS.BLL/Manager/DbInit.cs b/WCS.BLL/Manager/DbInit.cs index 3a25c02..32a4244 100644 --- a/WCS.BLL/Manager/DbInit.cs +++ b/WCS.BLL/Manager/DbInit.cs @@ -34,17 +34,18 @@ namespace WCS.BLL.Manager }; }); - DbHelp.dbLog = new SqlSugarScope(new ConnectionConfig() - { - ConnectionString = LocalFile.Config.LogDbPath, - DbType = DbType.SqlServer,//[Sqlite]安装[System.Data.SQLite]; - IsAutoCloseConnection = true - }, db => - { - db.Aop.OnError = ex => - { - }; - }); + //sqlserver保存接口日志时因为每个字段要限制长度,当接口返回内容长度过长会报错 + //DbHelp.dbLog = new SqlSugarScope(new ConnectionConfig() + //{ + // ConnectionString = LocalFile.Config.LogDbPath, + // DbType = DbType.SqlServer,//[Sqlite]安装[System.Data.SQLite]; + // IsAutoCloseConnection = true + //}, db => + //{ + // db.Aop.OnError = ex => + // { + // }; + //}); AuthDbHelp.db = new SqlSugarScope(new ConnectionConfig() { diff --git a/WCS.BLL/Tool/Helper.cs b/WCS.BLL/Tool/Helper.cs index 0c48d8a..ec56ced 100644 --- a/WCS.BLL/Tool/Helper.cs +++ b/WCS.BLL/Tool/Helper.cs @@ -82,6 +82,30 @@ namespace WCS.BLL.Tool return data.ToArray(); } + public static byte[] Query() + { + byte[] data2 = new byte[4]; + data2[0] = 0xff; + data2[1] = 0x03; + data2[2] = 0x00; + data2[3] = 0x06; + byte[] senddata2 = Tool.Helper.Crc16(data2, data2.Length, true); + return senddata2; + } + + public static byte[] SetId() + { + byte[] data2 = new byte[6]; + data2[0] = 0xff; + data2[1] = 0x04; + data2[2] = 0x00; + data2[3] = 0x08; + data2[4] = 0x03; + data2[5] = 0x01; + byte[] senddata2 = Tool.Helper.Crc16(data2, data2.Length, true); + return senddata2; + } + //出库库位灯亮灯 public static byte[] OutstoreLight(List board_id, string lightcolor,int status) { @@ -201,7 +225,8 @@ namespace WCS.BLL.Tool data1[4] = (byte)lightid; data1[5] = 0x03; data1[6] = 0x02; - data1[7] = 0x02; + //data1[7] = 0x02; + data1[7] = 0x00; byte[] senddata1 = Tool.Helper.Crc16(data1, data1.Length, true); return senddata1; } diff --git a/WCS.Model/WebSocketModel/WebSocketMessageModel.cs b/WCS.Model/WebSocketModel/WebSocketMessageModel.cs index e702aa7..7675ee3 100644 --- a/WCS.Model/WebSocketModel/WebSocketMessageModel.cs +++ b/WCS.Model/WebSocketModel/WebSocketMessageModel.cs @@ -56,11 +56,13 @@ namespace WCS.Model.WebSocketModel 进入盘点未响应 = 12, 确认盘点未响应 = 13, 退出盘点未响应 = 14, + //通知类 恢复正常 = 50, 通知刷新出库 = 51, 通知刷新盘点 = 52, 通知刷新盟讯盘点 = 53, 通知前台结束入库 = 54, + 通知刷新出库单列表 = 55, } } diff --git a/WCS.WebApi/Controllers/InstoreController.cs b/WCS.WebApi/Controllers/InstoreController.cs index d8aa60d..1846fce 100644 --- a/WCS.WebApi/Controllers/InstoreController.cs +++ b/WCS.WebApi/Controllers/InstoreController.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc; using WCS.BLL.HardWare; using WCS.BLL.Manager; using WCS.BLL.Services.IService; +using WCS.BLL.Tool; using WCS.Model; namespace WebApi.Controllers @@ -141,9 +142,12 @@ namespace WebApi.Controllers //TODO: ƻύ try { + var aa = Helper.Query(); + var bb = Helper.SetId(); return await _instoreService.queryInstoreStatusSingle(request); //ShelfManager. // + } catch (Exception ex) { diff --git a/WCS.WebApi/Controllers/RequestResponseLoggingMiddleware.cs b/WCS.WebApi/Controllers/RequestResponseLoggingMiddleware.cs index 13b7eff..6024b66 100644 --- a/WCS.WebApi/Controllers/RequestResponseLoggingMiddleware.cs +++ b/WCS.WebApi/Controllers/RequestResponseLoggingMiddleware.cs @@ -82,7 +82,7 @@ namespace WCS.WebApi.Controllers var logRecord = new SystemApiLogRecord() { DeviceIp = context?.Connection?.RemoteIpAddress?.ToString(), - RequestUrl = context.Request?.Path, + RequestUrl = context.Request?.Path.ToString(), RequestBody = requestBody, QueryString = context.Request?.QueryString.ToString(), IsResponse = true, diff --git a/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs b/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs index e083e94..568cf3b 100644 --- a/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs +++ b/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs @@ -281,6 +281,10 @@ namespace 货架标准上位机.ViewModel { DataGridItemSource = new ObservableCollection(Result.Data); OrderStatus = Result.Message; + if (OrderStatus == OutOrderStatus.全部发料.ToString()) + { + //全部发料就默认所有货架结束了这个单子 + } } else { diff --git a/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml b/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml index 7a99eed..1268104 100644 --- a/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml +++ b/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml @@ -15,8 +15,6 @@ - - @@ -28,12 +26,9 @@ - -