From 5e30cefca3aa2c7621d683634e7df9599e36b1ff Mon Sep 17 00:00:00 2001 From: sige Date: Thu, 22 Feb 2024 17:26:19 +0800 Subject: [PATCH] 0 --- .../task/TaskSampleMoveToLiquidPlate.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleMoveToLiquidPlate.java b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleMoveToLiquidPlate.java index 40424c3..3ad1e41 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleMoveToLiquidPlate.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleMoveToLiquidPlate.java @@ -1,19 +1,31 @@ package com.my.graphiteDigesterBg.task; -import com.my.graphiteDigesterBg.MyDevice; import com.my.graphiteDigesterBg.diframe.DiTaskBase; import com.my.graphiteDigesterBg.diframe.Task; import com.my.graphiteDigesterBg.model.MdbOperationLog; import com.my.graphiteDigesterBg.move.MoveMoveTubeRackFromHeatPlateToLiquidPlate; +import com.my.graphiteDigesterBg.resource.ResHeatingTubeRackSlotManager; @Task(name="SampleMoveToLiquidPlate") public class TaskSampleMoveToLiquidPlate extends DiTaskBase { // slot index public Integer slotIndex; @Override - public void run() { + protected void execute() { this.setStatus(TaskStatus.RUNNING); MdbOperationLog.log(this.getUser(), "试管架%d : 样本移至加液区", this.slotIndex); + var slotMan = this.getResourceManager(ResHeatingTubeRackSlotManager.class); + var slot = slotMan.getSlotByIndex(this.slotIndex); + if ( !slot.getIsLocked() ) { + throw new RuntimeException("试管架位为空,无法取出样本"); + } + if ( slot.isHeating ) { + throw new RuntimeException("试管架正在加热中,无法取出样本"); + } + if ( slot.rackPosition.equals("LiquidPlate") ) { + throw new RuntimeException("试管架未复位到加热盘,无法取出样本"); + } + var move = new MoveMoveTubeRackFromHeatPlateToLiquidPlate(); move.setDevice(this.getDevice()); move.slotIndex = this.slotIndex;