From 54afb99d550e4bdcb901564779b165e968fbbfe5 Mon Sep 17 00:00:00 2001 From: lichuanyang <1176537920@qq.com> Date: Thu, 9 Jan 2025 14:31:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=B1=BB=E5=9E=8BURIT-8460?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.config | 19 +++++-------- deviceAnalysis.cs | 68 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 72 insertions(+), 15 deletions(-) diff --git a/app.config b/app.config index 950da07..8e11ea8 100644 --- a/app.config +++ b/app.config @@ -1,6 +1,8 @@ - + + + @@ -59,24 +61,13 @@ - - - - - - - - - - - @@ -85,7 +76,9 @@ + + + - diff --git a/deviceAnalysis.cs b/deviceAnalysis.cs index 916e04b..4c1666d 100644 --- a/deviceAnalysis.cs +++ b/deviceAnalysis.cs @@ -2220,6 +2220,44 @@ namespace FlyDockTool dataOutPutShow("数据提交失败:" + jsonStr, null); } + if (apiOptions.CurrentDevice == "URIT-8460")//URIT-8460 + { + string MachineCode = apiOptions.MachineCode; + string MachineID = apiOptions.MachineID; + deviceDataStr = deviceDataStr.Replace("\r", "").Replace("\n", ""); + //string[] resulteArray = deviceDataStr.Split('\n'); + string sampleNo1 = string.Empty;//样本号 + + List ermList = new List(); + string[] itemArray = new string[] { "A/G", "ALT/AST", "GLB", "ALT", "AST", "TP", "ALB", "TB", "UREA", "Cr", "UA", "TG", "CHOL", "HDL_C", "LDL_C" }; + + for (int i = 0; i < itemArray.Length; i++) + { + string itemStr = string.Empty; + itemStr = @"|" + itemArray[i] + @"|"; + + string val1 = deviceDataStr.Substring(deviceDataStr.IndexOf("OBR"), 30); + sampleNo1 = val1.Split('|')[3]; + string testDate1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + examResultMode erm1 = new examResultMode(); + erm1.machineCode = MachineCode; + erm1.machineID = MachineID; + erm1.sampleNo = sampleNo1; + erm1.testDate = testDate1; + erm1.chanelNo = itemArray[i];//项目代号 + erm1.itemValue = jiexiVal(deviceDataStr.IndexOf(itemStr), itemStr, deviceDataStr).ToString();//项目结果 + erm1.itemUnit = ""; + ermList.Add(erm1); + } + string jsonStr = JsonConvert.SerializeObject(ermList); + //将结果提交到LIS系统 + baseMsgModel bmm1 = apiOptions.CreateInstance().upLoadExamResult(ermList); + if (bmm1.code == 200) + dataOutPutShow("数据提交成功:" + jsonStr, null); + else + dataOutPutShow("数据提交失败:" + jsonStr, null); + } if (apiOptions.CurrentDevice == "BS-460")//生化BS-460 { string MachineCode = apiOptions.MachineCode; @@ -3030,8 +3068,22 @@ namespace FlyDockTool clientSocket.Connect(ipAddress, int.Parse(tcp_port)); _tcpResult.Change(0, 10);//开始tcp数据接收,10毫秒频率 } - - + if (apiOptions.CurrentDevice == "URIT-8460")//URIT-8460 + { + // 设置IP地址和端口号 + string tcp_ip = ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[3]; + string tcp_port = ConfigurationManager.AppSettings[apiOptions.CurrentDevice].Split(',')[4]; + IPAddress ipAddress = IPAddress.Parse(tcp_ip); + // IPAddress ipAddress = IPAddress.Any; + //// 创建一个监听Socket + if (listener == null) + { + listener = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp); + listener.Bind(new IPEndPoint(ipAddress, int.Parse(tcp_port))); + listener.Listen(10000); + } + _tcpResult.Change(0, 10);//开始tcp数据接收,10毫秒频率 + } if (apiOptions.CurrentDevice == "hhh5")//BC-5130 { // 设置IP地址和端口号 @@ -3268,6 +3320,13 @@ namespace FlyDockTool deviceAnalysisOption(tempData_temp); } } + if (apiOptions.CurrentDevice == "URIT-8460")//URIT-8460 + { + string tempData_temp = tempData; + tempData = string.Empty; + if (!string.IsNullOrWhiteSpace(tempData_temp)) + deviceAnalysisOption(tempData_temp); + } if (apiOptions.CurrentDevice == "BS-460")//生化BS-460 { //File.WriteAllText("deviceDataLog.txt", deviceDataStr, Encoding.GetEncoding("GB18030")); @@ -3645,6 +3704,11 @@ namespace FlyDockTool _tcpResult.Change(-1, 10);//停止tcp数据接收 clientSocket.Close(); } + if (apiOptions.CurrentDevice == "URIT-8460")//URIT-8460 + { + _tcpResult.Change(-1, 10);//停止tcp数据接收 + clientSocket.Close(); + } if (apiOptions.CurrentDevice == "BS-460")//生化BS-460 { _tcpResult.Change(-1, 10);//停止tcp数据接收