|
@ -10,6 +10,7 @@ import com.iflytop.a800.resource.TestTube; |
|
|
import com.iflytop.a800.resource.TestTubeRack; |
|
|
import com.iflytop.a800.resource.TestTubeRack; |
|
|
import com.iflytop.uf.UfActiveRecord; |
|
|
import com.iflytop.uf.UfActiveRecord; |
|
|
import com.iflytop.uf.model.UfMdbDictItem; |
|
|
import com.iflytop.uf.model.UfMdbDictItem; |
|
|
|
|
|
import com.iflytop.uf.model.UfMdbNotification; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
@ -26,20 +27,29 @@ public class TubeRackTask extends TaskBase { |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void run() { |
|
|
public void run() { |
|
|
this.taskModel.status = UfMdbDictItem.getValue("TUBE_RACK_TASK_STATUS", "PROCESSING"); |
|
|
|
|
|
this.taskModel.save(); |
|
|
|
|
|
|
|
|
this.updateTaskModelStatus("PROCESSING"); |
|
|
|
|
|
|
|
|
var device = Device.getInstance(); |
|
|
var device = Device.getInstance(); |
|
|
var feeder = device.feeder; |
|
|
var feeder = device.feeder; |
|
|
var taskMan = TaskManager.getInstance(); |
|
|
var taskMan = TaskManager.getInstance(); |
|
|
|
|
|
|
|
|
feeder.feed(); |
|
|
|
|
|
this.samplingTubes = new ArrayList<>(); |
|
|
this.samplingTubes = new ArrayList<>(); |
|
|
TestTubeRack tubeRack = new TestTubeRack(); |
|
|
TestTubeRack tubeRack = new TestTubeRack(); |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
feeder.feed(); |
|
|
tubeRack.type = feeder.readTubeRackType(); |
|
|
tubeRack.type = feeder.readTubeRackType(); |
|
|
tubeRack.tubes = new ArrayList<>(); |
|
|
|
|
|
this.taskModel.tubeType = tubeRack.type; |
|
|
this.taskModel.tubeType = tubeRack.type; |
|
|
this.taskModel.save(); |
|
|
this.taskModel.save(); |
|
|
|
|
|
} catch ( RuntimeException e ) { |
|
|
|
|
|
this.updateTaskModelStatus("ERROR"); |
|
|
|
|
|
UfMdbNotification.error(e.getMessage()); |
|
|
|
|
|
feeder.exit(); |
|
|
|
|
|
this.taskFinish(); |
|
|
|
|
|
return ; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
tubeRack.tubes = new ArrayList<>(); |
|
|
for (int i = 0; i < 10; i++) { |
|
|
for (int i = 0; i < 10; i++) { |
|
|
var tube = new TestTube(); |
|
|
var tube = new TestTube(); |
|
|
tube.index = i; |
|
|
tube.index = i; |
|
@ -112,4 +122,10 @@ public class TubeRackTask extends TaskBase { |
|
|
} |
|
|
} |
|
|
this.setStatus("READY"); |
|
|
this.setStatus("READY"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 更新试管架任务状态 |
|
|
|
|
|
private void updateTaskModelStatus( String status ) { |
|
|
|
|
|
this.taskModel.status = UfMdbDictItem.getValue("TUBE_RACK_TASK_STATUS", status); |
|
|
|
|
|
this.taskModel.save(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |