diff --git a/app.db b/app.db index 414b968..8d4f739 100644 Binary files a/app.db and b/app.db differ diff --git a/src/main/java/com/iflytop/digester/DigestionTaskThread.java b/src/main/java/com/iflytop/digester/DigestionTaskThread.java index b919376..08aa9bb 100644 --- a/src/main/java/com/iflytop/digester/DigestionTaskThread.java +++ b/src/main/java/com/iflytop/digester/DigestionTaskThread.java @@ -285,40 +285,46 @@ public class DigestionTaskThread extends Thread { // 拍照检查异常试管 this.executeLastRoundTakeShotAndCheckErrorTubes(); - // 申请异常处理位 - var errorSlot = device.heatingTurntable.getErrorSlot(); - var emptyTubeIndexes = errorSlot.getEmptyTubeIndexes(this.errorTubeIndexes.size()); - var errorTubeIndexes = this.errorTubeIndexes; - if ( emptyTubeIndexes.size() < this.errorTubeIndexes.size() ) { - errorTubeIndexes = this.errorTubeIndexes.subList(0, emptyTubeIndexes.size()); - } - // 将异常试管放入异常处理区域 - String srcErrorTubeIndexes = String.join(",", errorTubeIndexes.stream().map(Object::toString).toArray(String[]::new)); - String dstErrorTubeIndexes = String.join(",", emptyTubeIndexes.stream().map(Object::toString).toArray(String[]::new)); - this.updateTaskStatus("MoveTube", String.format("移动异常试管 [%s] -> [%s]", srcErrorTubeIndexes, dstErrorTubeIndexes)); - device.transferArm.moveTubesToErrorSlot(errorTubeIndexes, emptyTubeIndexes); - this.errorTubeIndexes.clear(); - this.errorTubeIndexes.addAll(emptyTubeIndexes); + // 如果启用异常处理则执行异常处理操作 + Boolean errorProcessEnable = UfMdbOption.getBoolean("DigestionTaskErrorProcessEnable", true); + if ( errorProcessEnable ) { + // 申请异常处理位 + var errorSlot = device.heatingTurntable.getErrorSlot(); + var emptyTubeIndexes = errorSlot.getEmptyTubeIndexes(this.errorTubeIndexes.size()); + var errorTubeIndexes = this.errorTubeIndexes; + if ( emptyTubeIndexes.size() < this.errorTubeIndexes.size() ) { + errorTubeIndexes = this.errorTubeIndexes.subList(0, emptyTubeIndexes.size()); + } - // 更新试管状态 - for ( int i=0; i [%s]", srcErrorTubeIndexes, dstErrorTubeIndexes)); + device.transferArm.moveTubesToErrorSlot(errorTubeIndexes, emptyTubeIndexes); + this.errorTubeIndexes.clear(); + this.errorTubeIndexes.addAll(emptyTubeIndexes); + + // 更新试管状态 + for ( int i=0; i