From cf1f174c235f77ec1319b3ea6cd3c8ea6da6a9c0 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 28 May 2024 14:13:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E5=8F=96=E5=87=BA=E8=AF=95?= =?UTF-8?q?=E7=AE=A1=E6=9E=B6=E9=80=9A=E7=9F=A5=E6=97=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AF=95=E7=AE=A1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/MQTT.md | 17 ++++++++++++++++- .../java/com/iflytop/digester/DigestionTaskThread.java | 5 ++++- .../deviceinstance/HeatingTurntableSlotTube.java | 6 +++++- .../com/iflytop/digester/model/MdbDigestionTask.java | 1 + 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/doc/MQTT.md b/doc/MQTT.md index a7c1cbb..1c44886 100644 --- a/doc/MQTT.md +++ b/doc/MQTT.md @@ -95,11 +95,26 @@ sequenceDiagram "src" : "stw-80a" "action" : "TubeRackTakeOut", "params" : { - "batchNo":"TR-01" + "batchNo":"TR-01", + "tubes": [ + { + "index": 0, + "no": "R01-T01", + "batchNo": "Batch-1716875877308", + "errorRoundCount": 0 + }, + ... + ] }, } ``` +- `batchNo` : 批次号 +- `tubes` : 试管信息列表 + - `index` : 试管索引 + - `no` : 试管编号 + - `batchNo` :批次号 + **试管架已取出** diff --git a/src/main/java/com/iflytop/digester/DigestionTaskThread.java b/src/main/java/com/iflytop/digester/DigestionTaskThread.java index 9ef8d55..3af7bfc 100644 --- a/src/main/java/com/iflytop/digester/DigestionTaskThread.java +++ b/src/main/java/com/iflytop/digester/DigestionTaskThread.java @@ -556,7 +556,10 @@ public class DigestionTaskThread extends Thread { private void waitForTubeRackTakeOut() { this.updateTaskStatus("TubeRackTakeOutWait", "等待取出试管架"); - Map message = Map.of("batchNo", this.taskModel.batchNo, "taskId", this.taskModel.outTaskId); + Map message = new HashMap<>(); + message.put("taskId", this.taskModel.outTaskId); + message.put("batchNo", this.taskModel.batchNo); + message.put("tubes", this.heatingSlot.tubes); if ( "auto".equals(this.taskModel.mode) ) { this.manager.sendMessageToTransBot("TubeRackTakeOut", message); } else { diff --git a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlotTube.java b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlotTube.java index 21b621b..5dff7c2 100644 --- a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlotTube.java +++ b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlotTube.java @@ -2,8 +2,12 @@ package com.iflytop.digester.deviceinstance; public class HeatingTurntableSlotTube { // tube index public Integer index = -1; - // tube no + /** + * 试管编号, 当试管编号为空时, 表示试管未放置 + */ public String no = ""; + // batch no + public String batchNo = ""; // 异常处理轮次计数 public Integer errorRoundCount=0; } diff --git a/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java b/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java index 0fcd773..5fd6618 100644 --- a/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java +++ b/src/main/java/com/iflytop/digester/model/MdbDigestionTask.java @@ -63,6 +63,7 @@ public class MdbDigestionTask extends UfActiveRecord { var tube = new HeatingTurntableSlotTube(); tube.index = indexCounter++; tube.no = tubeNode.get("no").asText(); + tube.batchNo = this.batchNo; list.add(tube); } return list;