From 3fc9f8a0c91878bb97953c08893ef3e6a7fe03d1 Mon Sep 17 00:00:00 2001 From: hehaibing-1996 Date: Wed, 27 Nov 2024 08:14:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A1=AC=E4=BB=B6=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WCS.BLL/HardWare/SmartShelfModule.cs | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/WCS.BLL/HardWare/SmartShelfModule.cs b/WCS.BLL/HardWare/SmartShelfModule.cs index 5720228..e8a4810 100644 --- a/WCS.BLL/HardWare/SmartShelfModule.cs +++ b/WCS.BLL/HardWare/SmartShelfModule.cs @@ -122,12 +122,22 @@ namespace WCS.BLL.HardWare .OrderBy(t => t.LightNumber) .ToList(); char[] data = "0000000000000000".ToCharArray(); + + //禁用 + char[] dataBan = "0000000000000000".ToCharArray(); + var boardStoreNumber = storeInfos.Count(); foreach (var storeInfo in storeInfos) { if (!string.IsNullOrEmpty(storeInfo.CurrentMatSn) && storeInfo.LightNumber > 0 && storeInfo.LightNumber <= boardStoreNumber) { data[storeInfo.LightNumber - 1] = '1'; + + //禁用 + if (storeInfo.CurrentMatSn == "禁用") + { + dataBan[storeInfo.LightNumber - 1] = '1'; + } } } var dataStr = string.Join("", data.Reverse()); @@ -136,6 +146,13 @@ namespace WCS.BLL.HardWare GoInInstoreData[1] = Convert.ToByte(data1, 2); GoInInstoreData[2] = Convert.ToByte(data2, 2); + //禁用 + var dataBanStr = string.Join("", dataBan.Reverse()); + var data1Ban = dataBanStr.Substring(8, 8); + var data2Ban = dataBanStr.Substring(0, 8); + GoInInstoreData[6] = Convert.ToByte(data1Ban, 2); + GoInInstoreData[7] = Convert.ToByte(data2Ban, 2); + tcpClient.Send(tcpClient.GenerateMessage(BoardId, GoInInstoreData)); } @@ -187,12 +204,21 @@ namespace WCS.BLL.HardWare .OrderBy(t => t.LightNumber) .ToList(); char[] data = "0000000000000000".ToCharArray(); + //禁用功能 + char[] dataBan = "0000000000000000".ToCharArray(); + var boardStoreNumber = storeInfos.Count(); foreach (var storeInfo in storeInfos) { if (!string.IsNullOrEmpty(storeInfo.CurrentMatSn) && storeInfo.LightNumber > 0 && storeInfo.LightNumber <= boardStoreNumber) { data[storeInfo.LightNumber - 1] = '1'; + + //禁用功能 + if (storeInfo.CurrentMatSn == "禁用") + { + dataBan[storeInfo.LightNumber - 1] = '1'; + } } } var dataStr = string.Join("", data.Reverse()); @@ -201,6 +227,13 @@ namespace WCS.BLL.HardWare CheckModeData[1] = Convert.ToByte(data1, 2); CheckModeData[2] = Convert.ToByte(data2, 2); + //禁用功能 + var dataBanStr = string.Join("", dataBan.Reverse()); + var data1Ban = dataBanStr.Substring(8, 8); + var data2Ban = dataBanStr.Substring(0, 8); + CheckModeData[6] = Convert.ToByte(data1Ban, 2); + CheckModeData[7] = Convert.ToByte(data2Ban, 2); + tcpClient.Send(tcpClient.GenerateMessage(BoardId, CheckModeData)); } @@ -218,12 +251,21 @@ namespace WCS.BLL.HardWare .ToList(); //计算物料在库的库位 char[] data = "0000000000000000".ToCharArray(); + + //计算禁用的库位 + char[] dataBan = "0000000000000000".ToCharArray(); + var storeNumber = storeInfos.Count(); foreach (var storeInfo in storeInfos) { if (!string.IsNullOrEmpty(storeInfo.CurrentMatSn) && storeInfo.LightNumber > 0 && storeInfo.LightNumber <= storeNumber) { data[storeInfo.LightNumber - 1] = '1'; + //禁用 + if (storeInfo.CurrentMatSn == "禁用") + { + dataBan[storeInfo.LightNumber - 1] = '1'; + } } } var dataStr = string.Join("", data.Reverse()); @@ -232,6 +274,13 @@ namespace WCS.BLL.HardWare GoInOutstoreModeData[1] = Convert.ToByte(data1, 2); GoInOutstoreModeData[2] = Convert.ToByte(data2, 2); + //禁用 + var dataBanStr = string.Join("", dataBan.Reverse()); + var data1Ban = dataBanStr.Substring(8, 8); + var data2Ban = dataBanStr.Substring(0, 8); + GoInOutstoreModeData[6] = Convert.ToByte(data1Ban, 2); + GoInOutstoreModeData[7] = Convert.ToByte(data2Ban, 2); + //出库位置亮灯 if (outSns != null && outSns.Count > 0) {