Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
79847416ab
  1. 6
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java
  2. 5
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PLATE_OPT_SCAN.java
  3. 4
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java
  4. 4
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java
  5. 4
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java
  6. 5
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java
  7. 6
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ5_PROCESS.java
  8. 6
      src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ6_POST_PROCESS.java
  9. 28
      src/main/java/a8k/service/apps/appstate/TubeProcessContextMgrService.java
  10. 46
      src/main/java/a8k/service/apps/appstate/TubeProcessStateMgrService.java

6
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java

@ -7,6 +7,7 @@ import a8k.service.apps.appctrl.mainflowctrl.base.A8kStepAction;
import a8k.service.apps.appstate.GStateService;
import a8k.service.apps.appstate.IncubationPlateMgrService;
import a8k.service.apps.appstate.OptScanModuleStateMgrService;
import a8k.service.apps.appstate.TubeProcessContextMgrService;
import a8k.service.apps.appstate.TubeProcessStateMgrService;
import a8k.service.apps.appstate.resource.A8kPublicResourceType;
import a8k.service.apps.appstate.type.MainFlowCtrlState;
@ -41,8 +42,7 @@ public class DO_PROCESS_ERROR_TUBE extends A8kStepAction {
@Resource
OptScanModuleStateMgrService optScanModuleStateMgrService;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
TubeProcessContextMgrService tubeProcessContextMgrService;
MainFlowCtrlState mfcs;
@ -65,7 +65,7 @@ public class DO_PROCESS_ERROR_TUBE extends A8kStepAction {
logger.info("复位HBOT");
//复位HBOT
OS.forceSleep(4000);
tubeProcessStateMgrService.setCurTubeState(TubeState.PROCESS_COMPLETE);
tubeProcessContextMgrService.setCurTubeState(TubeState.PROCESS_COMPLETE);
}
@Override public Boolean checkCondition() {

5
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PLATE_OPT_SCAN.java

@ -7,7 +7,8 @@ import a8k.service.apps.appdata.AppReactionResultMgrService;
import a8k.service.apps.appstate.GStateService;
import a8k.service.apps.appstate.IncubationPlateMgrService;
import a8k.service.apps.appstate.OptScanModuleStateMgrService;
import a8k.service.apps.appstate.TubeProcessStateMgrService;
import a8k.service.apps.appstate.TubeProcessContextMgrService;
import a8k.service.apps.appstate.resource.A8kPublicResourceType;
import a8k.service.apps.appstate.type.MainFlowCtrlState;
import a8k.type.ReactionResult;
@ -41,7 +42,7 @@ public class PLATE_OPT_SCAN extends A8kStepAction {
@Resource
OptScanModuleStateMgrService optScanModuleStateMgrService;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
TubeProcessContextMgrService tubeProcessContextMgrService;
@Resource
AppReactionResultMgrService appReactionResultMgrService;

4
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java

@ -7,7 +7,7 @@ import a8k.service.apps.appctrl.mainflowctrl.base.A8kStepAction;
import a8k.service.apps.appstate.GStateService;
import a8k.service.apps.appstate.IncubationPlateMgrService;
import a8k.service.apps.appstate.OptScanModuleStateMgrService;
import a8k.service.apps.appstate.TubeProcessStateMgrService;
import a8k.service.apps.appstate.TubeProcessContextMgrService;
import a8k.service.apps.appstate.resource.A8kPublicResourceType;
import a8k.service.apps.appstate.type.IncubationSubTank;
import a8k.service.apps.appstate.type.MainFlowCtrlState;
@ -41,7 +41,7 @@ public class PROCESS_INCUBATE_COMPLETED_PLATE extends A8kStepAction {
@Resource
OptScanModuleStateMgrService optScanModuleStateMgrService;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
TubeProcessContextMgrService tubeProcessContextMgrService;
MainFlowCtrlState mfcs;

4
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java

@ -39,7 +39,7 @@ public class SEQ2_SWITCH_TO_THE_NEXT_TUBE extends A8kStepAction {
@Resource
SampleScanTransportCtrl sstc;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
TubeProcessContextMgrService tubeProcessContextMgrService;
@Resource
CondtionMgrService cms;
@ -93,7 +93,7 @@ public class SEQ2_SWITCH_TO_THE_NEXT_TUBE extends A8kStepAction {
sstc.moveTubeToPreProcessPos(nextTubeIndex);
}
tubeProcessStateMgrService.pendingTube(nextProcessTube);
tubeProcessContextMgrService.pendingTube(nextProcessTube);
}
@Override public Boolean checkCondition() {

4
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java

@ -51,7 +51,7 @@ public class SEQ3_APPLAY_RESOURCE extends A8kStepAction {
@Resource
AppProjInfoMgrService appProjInfoMgrService; //项目信息管理
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService; //试管处理状态管理
TubeProcessContextMgrService tubeProcessContextMgrService;
@Resource
CondtionMgrService cms;
@ -112,7 +112,7 @@ public class SEQ3_APPLAY_RESOURCE extends A8kStepAction {
tipPos.add(tips);
}
//创建项目处理上下文
tubeProcessStateMgrService.setTubeResourceIsReady(a8kIdCardInfo, consumables, tipPos, incubatorPoss);
tubeProcessContextMgrService.setTubeResourceIsReady(a8kIdCardInfo, consumables, tipPos, incubatorPoss);
logger.info("apply resource ok");
}

5
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java

@ -75,9 +75,6 @@ public class SEQ4_PRE_PROCESS extends A8kStepAction {
HbotControlService hbotControlService;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
@Resource
IncubationPlateMgrService incubationPlateMgrService;
@Resource
@ -198,7 +195,7 @@ public class SEQ4_PRE_PROCESS extends A8kStepAction {
throw ebuilder.buildMutiErrorAppException(errors);
}
tubeProcessStateMgrService.setCurTubeState(TubeState.PRE_PROCESSED);
tubeProcessContextMgrService.setCurTubeState(TubeState.PRE_PROCESSED);
incubationPlateMgrService.waitingForDrop(tube);
logger.info("pre process success");
}

6
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ5_PROCESS.java

@ -41,7 +41,7 @@ public class SEQ5_PROCESS extends A8kStepAction {
AppExceptionBuilder ebuilder;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
TubeProcessContextMgrService tubeProcessContextMgrService;
@Resource
IncubationPlateMgrService incubationPlateMgrService;
@ -63,10 +63,10 @@ public class SEQ5_PROCESS extends A8kStepAction {
// 2.取tip头
// 3.摇匀脱帽
//
tubeProcessStateMgrService.setCurTubeState(TubeState.PROCESSING);
tubeProcessContextMgrService.setCurTubeState(TubeState.PROCESSING);
Tube tube = gstate.getCurProcessingTube();
OS.forceSleep(3000);
tubeProcessStateMgrService.setCurTubeState(TubeState.PROCESSED);
tubeProcessContextMgrService.setCurTubeState(TubeState.PROCESSED);
incubationPlateMgrService.startIncubating(tube, 60 * 2);
logger.info("pre process success");
}

6
src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ6_POST_PROCESS.java

@ -41,7 +41,7 @@ public class SEQ6_POST_PROCESS extends A8kStepAction {
AppExceptionBuilder ebuilder;
@Resource
TubeProcessStateMgrService tubeProcessStateMgrService;
TubeProcessContextMgrService tubeProcessContextMgrService;
@Resource
IncubationPlateMgrService incubationPlateMgrService;
@ -61,10 +61,10 @@ public class SEQ6_POST_PROCESS extends A8kStepAction {
}
@Override public void doaction() throws AppException {
tubeProcessStateMgrService.setCurTubeState(TubeState.POST_PROCESSING);
tubeProcessContextMgrService.setCurTubeState(TubeState.POST_PROCESSING);
Tube tube = gstate.getCurProcessingTube();
OS.forceSleep(3000);
tubeProcessStateMgrService.setCurTubeState(TubeState.POST_PROCESSED);
tubeProcessContextMgrService.setCurTubeState(TubeState.POST_PROCESSED);
}
@Override public Boolean checkCondition() {

28
src/main/java/a8k/service/apps/appstate/TubeProcessContextMgrService.java

@ -24,10 +24,13 @@ import a8k.service.apps.dbservice.SampleRecordDBService;
@Component
public class TubeProcessContextMgrService {
List<TubeProcessContext> contexts = new ArrayList<>();
@Resource
GStateService gstate;
@Resource
SampleRecordDBService sampleRecordDBService;
List<TubeProcessContext> contexts = new ArrayList<>();
String generateSampleId(Date date, Integer tubePos) {
String sampleid = "";
@ -138,4 +141,27 @@ public class TubeProcessContextMgrService {
}
synchronized public void setCurTubeState(TubeState state) {
Tube tube = gstate.getCurProcessingTube();
assert tube != null;
tube.state = state;
}
synchronized public void setTubeResourceIsReady(@NotNull List<A8kIdCardInfo> idCardInfo, @NotNull List<Consumable> consumable, @NotNull List<List<TipPos>> tipPos,
@NotNull List<IncubatorPos> incubatorPos) {
Tube tube = gstate.getCurProcessingTube();
assert tube != null;
for (int i = 0; i < tube.projIndex.size(); i++) {
createProjProcessContext(tube, idCardInfo.get(i), consumable.get(i), tipPos.get(i), incubatorPos.get(i));
}
tube.state = TubeState.RESOURCE_IS_READY;
}
synchronized public void pendingTube(Tube tube) {
tube.state = TubeState.PENDING;
gstate.curProcessingTube = tube;
}
}

46
src/main/java/a8k/service/apps/appstate/TubeProcessStateMgrService.java

@ -1,49 +1,3 @@
package a8k.service.apps.appstate;
import a8k.service.apps.appstate.type.Tube;
import a8k.service.apps.appstate.type.state.TubeState;
import a8k.type.Consumable;
import a8k.type.IncubatorPos;
import a8k.type.TipPos;
import a8k.type.projecttype.a8kidcard.A8kIdCardInfo;
import jakarta.annotation.Resource;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class TubeProcessStateMgrService {
@Resource
GStateService gstate;
@Resource
TubeProcessContextMgrService tubeProcessContextMgrService;
synchronized public void setCurTubeState(TubeState state) {
Tube tube = gstate.getCurProcessingTube();
assert tube != null;
tube.state = state;
}
synchronized public void setTubeResourceIsReady(@NotNull List<A8kIdCardInfo> idCardInfo, @NotNull List<Consumable> consumable, @NotNull List<List<TipPos>> tipPos,
@NotNull List<IncubatorPos> incubatorPos) {
Tube tube = gstate.getCurProcessingTube();
assert tube != null;
for (int i = 0; i < tube.projIndex.size(); i++) {
tubeProcessContextMgrService.createProjProcessContext(tube, idCardInfo.get(i), consumable.get(i), tipPos.get(i), incubatorPos.get(i));
}
tube.state = TubeState.RESOURCE_IS_READY;
}
synchronized public void pendingTube(Tube tube) {
tube.state = TubeState.PENDING;
gstate.curProcessingTube = tube;
}
}
Loading…
Cancel
Save