sige 1 year ago
parent
commit
de189b7bcf
  1. 33
      src/main/java/com/iflytop/digester/DigestionTaskTheadManager.java

33
src/main/java/com/iflytop/digester/DigestionTaskTheadManager.java

@ -6,6 +6,7 @@ import com.iflytop.digester.deviceinstance.Device;
import com.iflytop.digester.model.MdbDigestionSolution;
import com.iflytop.digester.model.MdbDigestionTask;
import com.iflytop.digester.model.MdbRuntimeLog;
import com.iflytop.digester.underframework.UfCmdSnippetExecutor;
import com.iflytop.digester.underframework.dao.model.UfMdbNotification;
import com.iflytop.digester.underframework.dao.model.UfMdbOption;
import com.iflytop.digester.underframework.dao.record.UfActiveRecord;
@ -118,12 +119,13 @@ public class DigestionTaskTheadManager {
this.startNewDigestion(actionJsonTree.get("parameters"));
return;
} else if ( "DoorOpen".equals(actionName) ) {
Device.getInstance().door.open();
UfCmdSnippetExecutor.execute("TubeRackPutInPrepare");
this.sendMessageToTransBot("DoorOpenDone", new HashMap<>());
return ;
} else if ( "DoorClose".equals(actionName) ) {
Device.getInstance().door.close();
this.sendMessageToTransBot("DoorCloseDone", new HashMap<>());
this.startDemoDigestion();
return ;
}
@ -150,6 +152,35 @@ public class DigestionTaskTheadManager {
task.executeAction(actionName, actionParams);
}
// 启动演示消解任务
private void startDemoDigestion() {
var digestion = UfActiveRecord.findOne(MdbDigestionSolution.class, Map.of("name", "消解演示"));
if ( null == digestion ) {
return;
}
var tubes = new ArrayList<Map<String,String>>();
for (int i = 0; i<16; i++ ) {
var tube = new HashMap<String,String>();
tube.put("no", "DEMO-TUBE-" + Integer.toString(i));
tubes.add(tube);
}
var task = new MdbDigestionTask();
task.digestionId = digestion.id;
task.outTaskId = "DEMO-01";
task.batchNo = "DEMO-01";
task.tubes = UfJsonHelper.objectToJson(tubes);
task.status = "pending";
task.message = "等待中";
task.startedAt = (int)(System.currentTimeMillis() / 1000);
task.startedBy = "";
task.mode = "auto";
task.save();
this.startTask(task);
}
// start new digestion
private void startNewDigestion( JsonNode params ) {
String taskId = params.get("batchNo").asText();

Loading…
Cancel
Save