diff --git a/app.db b/app.db index b26e3ec..028094f 100644 Binary files a/app.db and b/app.db differ 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() {