From 4b770873da2aa749151b1dbf46dbdc1020688f6f Mon Sep 17 00:00:00 2001 From: sige Date: Thu, 11 Apr 2024 19:11:11 +0800 Subject: [PATCH] ~ --- app.db | Bin 299008 -> 299008 bytes .../digester/controller/DeviceController.java | 11 +++++++++++ .../deviceinstance/HeatingTurntableInstance.java | 9 +++++++++ .../deviceinstance/HeatingTurntableSlot.java | 2 ++ 4 files changed, 22 insertions(+) diff --git a/app.db b/app.db index b26e3ec9b935a91bdaae5661124e60573e2ecdb7..028094f04bfbbda4c7a44c77bf42ade82d5fe732 100644 GIT binary patch delta 175 zcmV;g08sycpb~(f5|A4K7m*x80T;1gsBZ)eE)Bx73~=`g1};@SGl5T&o_Zw*LIDL; z9V-!&aeq7rT}287RVgJAlWVRdvz>e)0SgY!00ct<1yvs_5tG+`JqTT21O-(;LlKi< zuOyQ)ew+jV00AWXsBZ)hXb#S^3~=`g269zBGl5T&o_Z}0P;zB( zVRB_ha&L8TPjz&Y-+C^22~#`fj5)MeLa&D ze^dm46#)jbY=3M(C}c4>IX7l7FfBJ?Gh{6^Hexv~Ibt(nEi_?eIW;mkH8(jhIA$2n Qrh>qRzyXH90;a$N&^1y@VgLXD diff --git a/src/main/java/com/iflytop/digester/controller/DeviceController.java b/src/main/java/com/iflytop/digester/controller/DeviceController.java index ad5d970..cd66146 100644 --- a/src/main/java/com/iflytop/digester/controller/DeviceController.java +++ b/src/main/java/com/iflytop/digester/controller/DeviceController.java @@ -42,4 +42,15 @@ public class DeviceController extends UfApiControllerBase { this.device.door.close(); return this.success(); } + + @ResponseBody + @PostMapping("/api/device/trans-move-tube-rack-to-heat-plate") + public UfApiResponse transMoveTubeRackToHeatPlate() throws InterruptedException { + var slot = this.device.heatingTurntable.getSlotByLiquidPlateTubeRack(); + if (null == slot) { + return this.error("加液盘无试管架"); + } + this.device.transferArm.moveTubeRackToHeatingTurntable(slot.index); + return this.success(); + } } diff --git a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableInstance.java b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableInstance.java index d5311ca..7759a1d 100644 --- a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableInstance.java +++ b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableInstance.java @@ -22,6 +22,15 @@ public class HeatingTurntableInstance { return slots; } + public HeatingTurntableSlot getSlotByLiquidPlateTubeRack() { + for (HeatingTurntableSlot slot : slots) { + if (null != slot.tubeRackNo && slot.tubeRackLocation.equals("liquid-plate")) { + return slot; + } + } + return null; + } + // 分配加热位 synchronized public HeatingTurntableSlot allocSlot( String tubeRackNo ) { for (HeatingTurntableSlot slot : slots) { diff --git a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java index d698bd6..d3f34ac 100644 --- a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java +++ b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java @@ -20,6 +20,8 @@ public class HeatingTurntableSlot { public String heatingStatus = "off"; // off:未加热 on:加热中 // 试管列表 public List tubes = new ArrayList<>(); + // 试管架位置 + public String tubeRackLocation = null; // heating-turntable:加热转盘 liquid-plate :加液盘 // Constructor public HeatingTurntableSlot() {