From 3a7f23ea58f0eb26261a922392985d92f65346cc Mon Sep 17 00:00:00 2001
From: lxd <1004405501@qq.com>
Date: Mon, 10 Mar 2025 15:45:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87330?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.config | 5 +-
deviceAnalysis.cs | 160 +++++++++++++++++++++++++++++++++++++++++++++-
mainForm.cs | 4 +-
3 files changed, 164 insertions(+), 5 deletions(-)
diff --git a/app.config b/app.config
index 29f44e9..7e79d0d 100644
--- a/app.config
+++ b/app.config
@@ -80,9 +80,10 @@
-
+
+
-
+
diff --git a/deviceAnalysis.cs b/deviceAnalysis.cs
index 609a1aa..f326e69 100644
--- a/deviceAnalysis.cs
+++ b/deviceAnalysis.cs
@@ -2651,7 +2651,7 @@ namespace FlyDockTool
erm3.sampleNo = sampleNo1;
erm3.testDate = testDate1;
erm3.chanelNo = "URO";//项目代号
- erm3.itemValue = resulteArray[i + 7].Replace("*URO", "").Replace("umol/L", "").Trim().Split(' ')[0].Trim();
+ erm3.itemValue = resulteArray[i + 7].Replace("URO", "").Replace("umol/L", "").Trim().Split(' ')[0].Trim();
erm3.itemUnit = "";
ermList.Add(erm3);
@@ -2730,6 +2730,151 @@ namespace FlyDockTool
+ //将结果提交到LIS系统
+ baseMsgModel bmm1 = apiOptions.CreateInstance().upLoadExamResult(ermList);
+ string jsonStr = JsonConvert.SerializeObject(ermList);
+ if (bmm1.code == 200)
+ dataOutPutShow("数据提交成功:" + jsonStr, null);
+ else
+ dataOutPutShow("数据提交失败:" + jsonStr, null);
+ }
+
+ }
+
+ if (apiOptions.CurrentDevice == "URIT-330")//URIT-300
+ {
+ string MachineCode = apiOptions.MachineCode;
+ string MachineID = apiOptions.MachineID;
+ List ermList = new List();
+ string[] resulteArray = deviceDataStr.Split('\n');
+ // File.WriteAllText("BT-200.TXT", deviceDataStr);
+ for (int i = 0; i < resulteArray.Length; i += 15)
+ {
+ //这里需要判断一下数据是否超过了当前数据的长度
+ ermList.Clear();
+ if (i + 15 > resulteArray.Length)
+ break;
+ string[] spArray = resulteArray[1].Trim().Split(' ');
+ string sampleNo1 = spArray[0].Replace("NO.", "").Replace("0", " ").Trim();
+
+ // string sampleNo1 = spArray.Length > 2 ? spArray[2].Substring(0, 1).TrimStart('0') : "0";
+ // string sampleNo1 = resulteArray[2].Trim().Split(' ')[1]; .Replace("-", "0").TrimStart('0')
+ //string testDate1 = jiexiDate(resulteArray[i + 1], resulteArray[i + 2]);
+ string testDate1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ examResultMode erm = new examResultMode();
+ erm.machineCode = MachineCode;
+ erm.machineID = MachineID;
+ erm.sampleNo = sampleNo1;
+ erm.testDate = testDate1;
+ erm.chanelNo = "WBC";//项目代号
+ erm.itemValue = resulteArray[i + 4].Replace("WBC", "").Replace("leu/uL", "").Trim().Split(' ')[0].Trim(); //项目结果
+ erm.itemUnit = "";
+ ermList.Add(erm);
+ examResultMode erm1 = new examResultMode();
+ erm1.machineCode = MachineCode;
+ erm1.machineID = MachineID;
+ erm1.sampleNo = sampleNo1;
+ erm1.testDate = testDate1;
+ erm1.chanelNo = "KET";//项目代号
+ erm1.itemValue = resulteArray[i + 5].Replace("KET", "").Replace("mg/dL", "").Trim().Split(' ')[0].Trim();
+ erm1.itemUnit = "";
+ ermList.Add(erm1);
+
+ examResultMode erm2 = new examResultMode();
+ erm2.machineCode = MachineCode;
+ erm2.machineID = MachineID;
+ erm2.sampleNo = sampleNo1;
+ erm2.testDate = testDate1;
+ erm2.chanelNo = "NIT";//项目代号
+ erm2.itemValue = resulteArray[i + 6].Replace("NIT", "").Replace("Neg", "").Trim().Split(' ')[0].Trim();
+ erm2.itemUnit = "";
+ ermList.Add(erm2);
+
+ examResultMode erm3 = new examResultMode();
+ erm3.machineCode = MachineCode;
+ erm3.machineID = MachineID;
+ erm3.sampleNo = sampleNo1;
+ erm3.testDate = testDate1;
+ erm3.chanelNo = "URO";//项目代号
+ erm3.itemValue = resulteArray[i + 7].Replace("URO", "").Replace("umol/L", "").Trim().Split(' ')[0].Trim();
+ erm3.itemUnit = "";
+ ermList.Add(erm3);
+
+ examResultMode erm4 = new examResultMode();
+ erm4.machineCode = MachineCode;
+ erm4.machineID = MachineID;
+ erm4.sampleNo = sampleNo1;
+ erm4.testDate = testDate1;
+ erm4.chanelNo = "BIL";//项目代号
+ erm4.itemValue = resulteArray[i + 8].Replace("BIL", "").Replace("mg/dL", "").Trim().Split(' ')[0].Trim();
+ erm4.itemUnit = "";
+ ermList.Add(erm4);
+
+
+ examResultMode erm5 = new examResultMode();
+ erm5.machineCode = MachineCode;
+ erm5.machineID = MachineID;
+ erm5.sampleNo = sampleNo1;
+ erm5.testDate = testDate1;
+ erm5.chanelNo = "PRO";//项目代号
+ erm5.itemValue = resulteArray[i + 9].Replace("PRO", "").Replace("mg/dL", "").Trim().Split(' ')[0].Trim();
+ erm5.itemUnit = "";
+ ermList.Add(erm5);
+
+
+ examResultMode erm6 = new examResultMode();
+ erm6.machineCode = MachineCode;
+ erm6.machineID = MachineID;
+ erm6.sampleNo = sampleNo1;
+ erm6.testDate = testDate1;
+ erm6.chanelNo = "GLU";//项目代号
+ erm6.itemValue = resulteArray[i + 10].Replace("GLU", "").Replace("mg/dL", "").Trim().Split(' ')[0].Trim();
+ erm6.itemUnit = "";
+ ermList.Add(erm6);
+
+ examResultMode erm10 = new examResultMode();
+ erm10.machineCode = MachineCode;
+ erm10.machineID = MachineID;
+ erm10.sampleNo = sampleNo1;
+ erm10.testDate = testDate1;
+ erm10.chanelNo = "SG";//项目代号
+ erm10.itemValue = resulteArray[i + 11].Replace("SG", "").Trim().Split(' ')[0].Trim();
+ erm10.itemUnit = "";
+ ermList.Add(erm10);
+
+
+ examResultMode erm7 = new examResultMode();
+ erm7.machineCode = MachineCode;
+ erm7.machineID = MachineID;
+ erm7.sampleNo = sampleNo1;
+ erm7.testDate = testDate1;
+ erm7.chanelNo = "BLD";//项目代号
+ erm7.itemValue = resulteArray[i + 12].Replace("BLD", "").Replace("mg/dL", "").Trim().Split(' ')[0].Trim();
+ erm7.itemUnit = "";
+ ermList.Add(erm7);
+
+ examResultMode erm8 = new examResultMode();
+ erm8.machineCode = MachineCode;
+ erm8.machineID = MachineID;
+ erm8.sampleNo = sampleNo1;
+ erm8.testDate = testDate1;
+ erm8.chanelNo = "pH";//项目代号
+ erm8.itemValue = resulteArray[i + 13].Replace("pH", "").Trim().Split(' ')[0].Trim();
+ erm8.itemUnit = "";
+ ermList.Add(erm8);
+
+ examResultMode erm9 = new examResultMode();
+ erm9.machineCode = MachineCode;
+ erm9.machineID = MachineID;
+ erm9.sampleNo = sampleNo1;
+ erm9.testDate = testDate1;
+ erm9.chanelNo = "Vc";//项目代号
+ erm9.itemValue = resulteArray[i + 14].Replace("*Vc", "").Replace("mg/dL", "").Trim().Split(' ')[0].Trim();
+ erm9.itemUnit = "";
+ ermList.Add(erm9);
+
+
+
//将结果提交到LIS系统
baseMsgModel bmm1 = apiOptions.CreateInstance().upLoadExamResult(ermList);
string jsonStr = JsonConvert.SerializeObject(ermList);
@@ -3380,6 +3525,12 @@ namespace FlyDockTool
SerialPortOption.CreateInstance().dataOutPutShow += new EventHandler(onReData);
SerialPortOption.CreateInstance().StartDataReadThread();//开启数据接收
}
+ if(apiOptions.CurrentDevice == "URIT-330")//URIT - 300
+ {
+ SerialPortOption.CreateInstance().IniserialPortOption();//初始化串口
+ SerialPortOption.CreateInstance().dataOutPutShow += new EventHandler(onReData);
+ SerialPortOption.CreateInstance().StartDataReadThread();//开启数据接收
+ }
}
///
@@ -3578,6 +3729,9 @@ namespace FlyDockTool
}
if (apiOptions.CurrentDevice == "URIT-500B")//优利特尿常规URIT-500B
_tResult.Change(5000, 5000);// 数据处理:延迟5秒开始 5秒计时
+ if (apiOptions.CurrentDevice == "URIT-330")//优利特尿常规URIT-300
+ _tResult.Change(5000, 5000);// 数据处理:延迟5秒开始 5秒计时
+
}
///
@@ -3952,6 +4106,10 @@ namespace FlyDockTool
{
SerialPortOption.CreateInstance().StopDataReadThread();//开启数据接收
}
+ if (apiOptions.CurrentDevice == "URIT-330")//优利特血常规 URIT-300
+ {
+ SerialPortOption.CreateInstance().StopDataReadThread();//开启数据接收
+ }
}
/////
diff --git a/mainForm.cs b/mainForm.cs
index 38107ef..d085327 100644
--- a/mainForm.cs
+++ b/mainForm.cs
@@ -33,8 +33,8 @@ namespace FlyDockTool
apiOptions.MachineID = ConfigurationManager.AppSettings[CurrentDevice].Split(',')[2];
lb_currentDeviceInfo.Text = CurrentDevice;
//////测试代码 测试完毕后注释调一下两行代码
- // string resultDataStr = File.ReadAllText(@"D:\桌面\尿常规URIT-500B.txt", Encoding.GetEncoding("GB18030"));
- // deviceAnalysis.CreateInstance().deviceAnalysisOption(resultDataStr);
+ //string resultDataStr = File.ReadAllText(@"C:\Users\10044\Desktop\尿常规URIT0-330.txt", Encoding.GetEncoding("GB18030"));
+ // deviceAnalysis.CreateInstance().deviceAnalysisOption(resultDataStr);
btn_start_or_stop_Click(null,null);//启动数据接收