From 79847416ab013c0ea15d9a46e55f2054609a6e4b Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 9 Oct 2024 10:32:15 +0800 Subject: [PATCH] update --- .../mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java | 6 +-- .../mainflowctrl/action/PLATE_OPT_SCAN.java | 5 ++- .../action/PROCESS_INCUBATE_COMPLETED_PLATE.java | 4 +- .../action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java | 4 +- .../mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java | 4 +- .../mainflowctrl/action/SEQ4_PRE_PROCESS.java | 5 +-- .../appctrl/mainflowctrl/action/SEQ5_PROCESS.java | 6 +-- .../mainflowctrl/action/SEQ6_POST_PROCESS.java | 6 +-- .../appstate/TubeProcessContextMgrService.java | 28 ++++++++++++- .../apps/appstate/TubeProcessStateMgrService.java | 46 ---------------------- 10 files changed, 46 insertions(+), 68 deletions(-) diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java index f34b196..b2d5065 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java +++ b/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() { diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PLATE_OPT_SCAN.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PLATE_OPT_SCAN.java index 50dc68a..5a54422 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PLATE_OPT_SCAN.java +++ b/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; diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java index 31f2bd7..97dc5a5 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java +++ b/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; diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java index f543dee..363b5a0 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java +++ b/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() { diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java index 886f5d4..4b50366 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java +++ b/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"); } diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java index 1486f95..d15e8c2 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java +++ b/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"); } diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ5_PROCESS.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ5_PROCESS.java index 1d2a995..371a386 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ5_PROCESS.java +++ b/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"); } diff --git a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ6_POST_PROCESS.java b/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ6_POST_PROCESS.java index af0b8fb..05eca92 100644 --- a/src/main/java/a8k/service/apps/appctrl/mainflowctrl/action/SEQ6_POST_PROCESS.java +++ b/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() { diff --git a/src/main/java/a8k/service/apps/appstate/TubeProcessContextMgrService.java b/src/main/java/a8k/service/apps/appstate/TubeProcessContextMgrService.java index 87cf6ae..8d32ca4 100644 --- a/src/main/java/a8k/service/apps/appstate/TubeProcessContextMgrService.java +++ b/src/main/java/a8k/service/apps/appstate/TubeProcessContextMgrService.java @@ -24,10 +24,13 @@ import a8k.service.apps.dbservice.SampleRecordDBService; @Component public class TubeProcessContextMgrService { - List contexts = new ArrayList<>(); + + @Resource + GStateService gstate; @Resource SampleRecordDBService sampleRecordDBService; + List 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 idCardInfo, @NotNull List consumable, @NotNull List> tipPos, + @NotNull List 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; + } + + } diff --git a/src/main/java/a8k/service/apps/appstate/TubeProcessStateMgrService.java b/src/main/java/a8k/service/apps/appstate/TubeProcessStateMgrService.java index 9bdd1d8..b28b04f 100644 --- a/src/main/java/a8k/service/apps/appstate/TubeProcessStateMgrService.java +++ b/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 idCardInfo, @NotNull List consumable, @NotNull List> tipPos, - @NotNull List 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; - } - -}