Browse Source
Refactors to use monotonic clock for timeouts
Refactors to use monotonic clock for timeouts
将 System.currentTimeMillis() 替换为 OS.getMonotonicClockTimestamp() 以实现更可靠的超时计算。 此项变更可避免系统时钟调整对超时持续时间造成影响。 为 BiLisDoubleTrackTcpClient 添加 onLostConnectionListener 监听器,并调整 BiLisDoubleTrackChannel 以处理连接状态。 新增 OFrame、QFrame 和 RFrame 移除 LIS 设置控制器相关 API。 更新应用程序 WebSocket 状态报告上报顺序.master
18 changed files with 292 additions and 245 deletions
-
14src/main/java/a8k/OS.java
-
4src/main/java/a8k/app/channel/iflytophald/channel/A8kCanBusConnection.java
-
4src/main/java/a8k/app/channel/iflytophald/channel/A8kCanBusService.java
-
4src/main/java/a8k/app/channel/iflytophald/driver/CodeScanerDriver.java
-
4src/main/java/a8k/app/channel/iflytophald/driver/MiniServoDriver.java
-
12src/main/java/a8k/app/channel/iflytophald/driver/OptModuleDriver.java
-
26src/main/java/a8k/app/channel/net/BiLisDoubleTrackTcpClient.java
-
62src/main/java/a8k/app/controler/api/v1/app/setting/LISSettingController.java
-
23src/main/java/a8k/app/controler/api/v1/app/ws/AppWebSocketEndpointMgr.java
-
70src/main/java/a8k/app/factory/BiLisDoubleTrackFrameFactory.java
-
125src/main/java/a8k/app/service/lis/BiLisDoubleTrackChannel.java
-
89src/main/java/a8k/app/type/lisprotocol/BiLisDoubleTrackFrame.java
-
13src/main/java/a8k/app/type/lisprotocol/subframe/OFrame.java
-
7src/main/java/a8k/app/type/lisprotocol/subframe/QFrame.java
-
38src/main/java/a8k/app/type/lisprotocol/subframe/RFrame.java
-
15src/main/java/a8k/app/utils/ThreadUtils.java
-
8src/main/java/a8k/extui/page/codetest/BiLisDoubleTrackChannelTestPage.java
-
19src/main/resources/application.yml
@ -0,0 +1,13 @@ |
|||
package a8k.app.type.lisprotocol.subframe; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class OFrame { |
|||
public String type = "O"; // 请求类型 |
|||
public String deviceName = "A8000"; |
|||
public String sampleId = "";// |
|||
public List<String> projList = new ArrayList<>(); |
|||
public Integer sampleType;//全血0,血清血浆1,尿2,粪便3,唾液4 |
|||
public String samplingDate;//采样时间 YYYYMMDDhhmmss |
|||
} |
@ -0,0 +1,7 @@ |
|||
package a8k.app.type.lisprotocol.subframe; |
|||
|
|||
public class QFrame { |
|||
public String type = "Q"; // 请求类型 |
|||
public String deviceName = "A8000"; |
|||
public String barcode = "";//格式示例 ^abcdef1234567 |
|||
} |
@ -0,0 +1,38 @@ |
|||
package a8k.app.type.lisprotocol.subframe; |
|||
|
|||
public class RFrame { |
|||
// DEMO |
|||
//Example: (注:每次只发送一条信息) |
|||
//R|A5000p|1234567890|^hsCRP^^#|18.57|mg/L||||F||||20211209100114|<CR> |
|||
//R|A10|123456789|^CRP^^#|76|mg/L|0.5-200||L_4^_02|F||||20141201144906||0|<CR> |
|||
//R|A10||^COVID-19 Ag^^%||||Positive|R_1^_01|F||||20210428153944||4|<CR> |
|||
// |
|||
//二联卡 (单项-PCT/CRP): |
|||
//R|A10|123456789|^PCT/CRP^CRP^#|46|mg/L|0.5-200||L_1^_03|F||||20141201144906||0|<CR> |
|||
//R|A10|123456789|^PCT/CRP^PCT^#|15|ng/mL|0.1-100||L_1^_03|F||||20141201144906||0|<CR> |
|||
// |
|||
//三联卡 (单项-TnI/CK-MB/Myo): |
|||
//R|A5000p|Aa123456|^TnI/CK-MB/Myo^TnI^#|3.84|ng/mL||||F||||20211209101158|<CR> |
|||
//R|A5000p|Aa123456|^TnI/CK-MB/Myo^CK-MB^#|46.39|ng/mL||||F||||20211209101158|<CR> |
|||
//R|A5000p|Aa123456|^TnI/CK-MB/Myo^Myoglobin^#|45.25|ng/mL||||F||||20211209101158|<CR> |
|||
// |
|||
//COVID-19 Ab: |
|||
//R|A10|123456789|^COVID-19 Ab^IgG^@||||Positive|L_1^|F||||20141201144906||1|<CR> |
|||
//R|A10|123456789|^COVID-19 Ab^IgM^@||||Negative|L_1^ |F||||20141201144906||1|<CR> |
|||
public String type = "R"; // 信息类型 R-1 |
|||
public String deviceName = "A8000"; //设备的名称 R-2 |
|||
public String sampleId = "";//样本ID,条形码 R-3 |
|||
public String projInfo = "";//R-4 项目名+子项目名+结果类型(定性,定量,半定性) |
|||
public String resultVal = "";//R-5 |
|||
public String resultUnit = "";//结果单位 R-6 |
|||
public String refRange = "";//参考范围,也可以为空 R-7 |
|||
public String qualitativeResult = "";//定性结果,如果是定量结果,则该值为空 R-8 |
|||
public String samplePosInfo = "";//通道号+试管号 R9 |
|||
public String resultType = "F";//always F R10 |
|||
public String pad0 = "";// 填充位,如果没有填充则为空 R11 |
|||
public String startIncubationTime = "";//开始孵育时间 R12 YYYYMMDDhhmmsss |
|||
public String pad1 = "";// 填充位,如果没有填充则为空 R13 |
|||
public String endIncubationTime = "";//结束孵育时间 R14 YYYYMMDDhhmmsss |
|||
public String pid = "";// 用户输入的ID R15 |
|||
public String sampleType = "1";//样本类型 |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue