From 89ada2c5d9590d62656497f36685ad420b51de7b Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Thu, 16 Oct 2025 09:14:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=AF=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=8A=BD=E5=B1=89=E6=8A=A5=E8=AD=A6=E5=BC=80=E5=85=B3=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MasaBlazorApp3/Pages/LoginSetting.razor | 24 +++++++++++++++++++ MasaBlazorApp3/Pojo/Config/SettingConfig.cs | 2 ++ MasaBlazorApp3/Port/PortUtil.cs | 26 +++++++++++++++++++++ MasaBlazorApp3/appsettings.json | 10 ++++---- 4 files changed, 58 insertions(+), 4 deletions(-) diff --git a/MasaBlazorApp3/Pages/LoginSetting.razor b/MasaBlazorApp3/Pages/LoginSetting.razor index 0605af1..ef2d7c8 100644 --- a/MasaBlazorApp3/Pages/LoginSetting.razor +++ b/MasaBlazorApp3/Pages/LoginSetting.razor @@ -33,6 +33,17 @@ *@ + + + 抽屉报警 + alert = args)> + + + + + + + @@ -40,12 +51,15 @@ @inject Microsoft.Extensions.Options.IOptions setting; @inject Microsoft.Extensions.Options.IOptions setting; @inject NotificationService _message +@inject PortUtil PortUtil; @code { private readonly ILog logger = LogManager.GetLogger(typeof(LoginDialog)); int loginValue = 1; + //报警 + int alert = 0; // int preValue = 1; protected override void OnInitialized() { @@ -55,6 +69,15 @@ //保存 async Task SaveMethod() { + //开抽屉时报警状态,发送指令 + if(alert==0) + { + await PortUtil.AlertClose(); + } + else + { + await PortUtil.AlertOpen(); + } // 获取当前工作目录 string currentDirectory = Directory.GetCurrentDirectory(); // setting.Value.fridgeState = fridgeStateValue; @@ -64,6 +87,7 @@ string jsonString = File.ReadAllText(filePath); var jsonNode = JObject.Parse(jsonString); jsonNode["setting"]["loginMode"] = loginValue; + jsonNode["setting"]["alert"] = alert; var options = new JsonSerializerOptions { WriteIndented = true }; File.WriteAllText(filePath, jsonNode.ToString(Newtonsoft.Json.Formatting.Indented)); _message.Notify( diff --git a/MasaBlazorApp3/Pojo/Config/SettingConfig.cs b/MasaBlazorApp3/Pojo/Config/SettingConfig.cs index a75d231..143cd6d 100644 --- a/MasaBlazorApp3/Pojo/Config/SettingConfig.cs +++ b/MasaBlazorApp3/Pojo/Config/SettingConfig.cs @@ -23,6 +23,8 @@ namespace MasaBlazorApp3.Pojo.Config //麻醉医师姓名 public string anaesthetist_name { get; set; } public string boxColor { get; set; } + //报警 + public int alert { get; set; } } } diff --git a/MasaBlazorApp3/Port/PortUtil.cs b/MasaBlazorApp3/Port/PortUtil.cs index b0ce05f..cc8a98c 100644 --- a/MasaBlazorApp3/Port/PortUtil.cs +++ b/MasaBlazorApp3/Port/PortUtil.cs @@ -1560,5 +1560,31 @@ namespace MasaBlazorApp3.Port } #endregion + #region 抽屉报警 + //抽屉报警开启 + public async Task AlertOpen() + { + drawerSerial.DiscardInBuffer(); + byte[] buffer = new byte[] { 0xAA, 0x13, 0xA, 0xEE }; + logger.Info($"打开抽屉报警1:{Convert.ToHexString(buffer)}"); + drawerSerial.Write(buffer, 0, 4); + await Task.Delay(20); + byte[] buffer2 = new byte[] { 0xAA, 0x23, 0xA, 0xEE }; + logger.Info($"打开抽屉报警2:{Convert.ToHexString(buffer2)}"); + drawerSerial.Write(buffer2, 0, 4); + } + //抽屉报警关闭 + public async Task AlertClose() + { + drawerSerial.DiscardInBuffer(); + byte[] buffer = new byte[] { 0xAA, 0x13, 0x0, 0xEE }; + logger.Info($"关闭抽屉报警1:{Convert.ToHexString(buffer)}"); + drawerSerial.Write(buffer, 0, 4); + await Task.Delay(20); + byte[] buffer2 = new byte[] { 0xAA, 0x23, 0x0, 0xEE }; + logger.Info($"关闭抽屉报警2:{Convert.ToHexString(buffer2)}"); + drawerSerial.Write(buffer2, 0, 4); + } + #endregion } } diff --git a/MasaBlazorApp3/appsettings.json b/MasaBlazorApp3/appsettings.json index 221e09f..baf503c 100644 --- a/MasaBlazorApp3/appsettings.json +++ b/MasaBlazorApp3/appsettings.json @@ -19,14 +19,16 @@ "autoOutLog": 0, "boxMachineId": "DM5", "anaesthetist_name": "未选择,杨俊哲,周丹,刘方,罗丁,陈晓龙,杜金菊,季楠,王彩红,凌娜佳,汪宏,谈世刚,罗中兵,郭慧,廖家涛,殷国江,李坤,周翔,秦明哲,王庆利,张燕辉,姜佳佳,宋晓阳,胡晓", - "boxColor": "白,绿" + "boxColor": "白,绿", + //打开抽屉时报警0关闭1开启 + "alert": 0 }, "port": { - "drawerPortPath": "COM2", + "drawerPortPath": "COM5", "drawerProtocol": 485, - "scanCodePortPath": "COM1", + "scanCodePortPath": "COM3", "canBusExsit": true, - "canBusPortPath": "COM5", + "canBusPortPath": "COM6", "totalDrawerCount": 16, "canBusTwoExsit": true, "StorageCan": 1,