|
|
@ -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(); |
|
|
|