|
|
@ -7,7 +7,10 @@ import a8k.service.app.appctrl.mainflowctrl.base.A8kStepAction; |
|
|
|
import a8k.service.app.appctrl.mainflowctrl.base.MainFlowProcesser; |
|
|
|
import a8k.service.app.appstate.statemgr.IncubationPlateStateMgrService; |
|
|
|
import a8k.service.app.appstate.statemgr.OptScanModuleStateMgrService; |
|
|
|
import a8k.service.app.appstate.statemgr.ProjectContextMgrService; |
|
|
|
import a8k.service.app.appstate.type.IncubationSubTank; |
|
|
|
import a8k.service.app.appstate.type.ProjectTaskContext; |
|
|
|
import a8k.service.app.appstate.type.state.OptScanModuleState; |
|
|
|
import a8k.service.app.devicectrl.ctrlservice.OptScanModuleCtrlService; |
|
|
|
import a8k.service.test.state.VirtualDevice; |
|
|
|
import a8k.type.ecode.AppError; |
|
|
@ -32,15 +35,22 @@ public class PROCESS_INCUBATE_COMPLETED_PLATE extends A8kStepAction { |
|
|
|
@Resource |
|
|
|
VirtualDevice virtualDevice; |
|
|
|
|
|
|
|
// |
|
|
|
// STATE |
|
|
|
// |
|
|
|
@Resource |
|
|
|
IncubationPlateStateMgrService incubationPlateStateMgrService; |
|
|
|
@Resource |
|
|
|
OptScanModuleStateMgrService optScanModuleStateMgrService; |
|
|
|
@Resource |
|
|
|
ProjectContextMgrService projectContextMgrService; |
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
// CTRL |
|
|
|
// |
|
|
|
@Resource |
|
|
|
OptScanModuleCtrlService optScanModuleCtrlService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
PublicAreaResourceMgr publicAreaResourceMgr; |
|
|
|
|
|
|
@ -50,19 +60,6 @@ public class PROCESS_INCUBATE_COMPLETED_PLATE extends A8kStepAction { |
|
|
|
&& optScanModuleStateMgrService.isEmpty(); |
|
|
|
} |
|
|
|
|
|
|
|
IncubationSubTank getToBeProcessedTank() { |
|
|
|
return incubationPlateStateMgrService.getOneExpiredPlate(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void doEjectPlate(IncubationSubTank tank) throws AppException { |
|
|
|
if (virtualDevice.isEnable()) { |
|
|
|
virtualDevice.doVirtualThings(String.format("推出反应板夹从%s到光学模组", tank.getPos())); |
|
|
|
return; |
|
|
|
} |
|
|
|
optScanModuleCtrlService.pullPlate(tank.getPos()); |
|
|
|
} |
|
|
|
|
|
|
|
IncubationSubTank toBeProcesstank; |
|
|
|
|
|
|
|
@Override public List<AppError> doAction() { |
|
|
@ -91,8 +88,29 @@ public class PROCESS_INCUBATE_COMPLETED_PLATE extends A8kStepAction { |
|
|
|
if (!errors.isEmpty()) { |
|
|
|
return errors; |
|
|
|
} |
|
|
|
ProjectTaskContext cxt = projectContextMgrService.findCxt(toBeProcesstank.getSampleId(), toBeProcesstank.projId); |
|
|
|
|
|
|
|
optScanModuleStateMgrService.changeOptScanModuleStateToPlateIsReady(cxt.getProjBriefInfo(),cxt.getSampleInfo()); |
|
|
|
incubationPlateStateMgrService.resetIncubatorPos(toBeProcesstank.getPos()); |
|
|
|
return List.of(); |
|
|
|
} |
|
|
|
|
|
|
|
// |
|
|
|
// Utils |
|
|
|
// |
|
|
|
|
|
|
|
IncubationSubTank getToBeProcessedTank() { |
|
|
|
return incubationPlateStateMgrService.getOneExpiredPlate(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void doEjectPlate(IncubationSubTank tank) throws AppException { |
|
|
|
if (virtualDevice.isEnable()) { |
|
|
|
virtualDevice.doVirtualThings(String.format("推出反应板夹从%s到光学模组", tank.getPos())); |
|
|
|
return; |
|
|
|
} |
|
|
|
optScanModuleCtrlService.pullPlate(tank.getPos()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |