From 0cd9c559712674b5b642f2ec0801a7b2ca2a9f46 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 9 Jan 2025 10:48:05 +0800 Subject: [PATCH] recode --- doc/TODO.md | 2 +- .../java/a8k/app/a8ktype/param/A8kSamplePos.java | 19 -- .../a8k/app/a8ktype/param/Hbot2DCodeScanPos.java | 34 ---- .../app/a8ktype/param/HbotLargeBottleBSPos.java | 27 --- .../a8k/app/a8ktype/param/HbotLittleBSPos.java | 37 ---- .../app/a8ktype/param/HbotProbeSubstancePos.java | 35 ---- .../java/a8k/app/a8ktype/param/HbotSamplePos.java | 38 ---- .../a8k/app/a8ktype/param/HbotTipPosParam.java | 32 ---- .../a8k/app/a8ktype/param/OptModuleExtParam.java | 22 --- .../java/a8k/app/a8ktype/param/OptModuleParam.java | 15 -- .../a8ktype/param/PipetteGunLLDThresholdParam.java | 14 -- .../app/a8ktype/param/PipetteGunLLDTypeParam.java | 15 -- .../a8k/app/a8ktype/param/PipetteGunLLFParam.java | 23 --- .../app/a8ktype/param/TubeFeedingModulePos.java | 19 -- .../a8ktype/param/TubeFeedingModuleSetting.java | 14 -- .../param/TubePrePorcessStructConstant.java | 1 - .../a8ktype/param/TubePreProcessGripperPos.java | 15 -- .../app/a8ktype/param/TubePreProcessTubeClamp.java | 14 -- .../a8k/app/a8ktype/param/TubePreProcessYPos.java | 15 -- .../app/a8ktype/param/TubePreProcessZAxisPos.java | 15 -- .../a8ktype/param/hbotpos/Hbot2DCodeScanPos.java | 17 ++ .../param/hbotpos/HbotLargeBottleBSPos.java | 27 +++ .../app/a8ktype/param/hbotpos/HbotLittleBSPos.java | 38 ++++ .../app/a8ktype/param/hbotpos/HbotSamplePos.java | 38 ++++ .../app/a8ktype/param/hbotpos/HbotTipPosParam.java | 32 ++++ .../a8k/app/a8ktype/param/hbotpos/HbotZPos.java | 27 +++ .../a8ktype/param/optpos/OptModuleExtParam.java | 22 +++ .../app/a8ktype/param/optpos/OptModuleParam.java | 15 ++ .../param/pipette/PipetteGunLLDThresholdParam.java | 14 ++ .../param/pipette/PipetteGunLLDTypeParam.java | 15 ++ .../a8ktype/param/pipette/PipetteGunLLFParam.java | 23 +++ .../param/tubefeeding/TubeFeedingModulePos.java | 19 ++ .../tubefeeding/TubeFeedingModuleSetting.java | 14 ++ .../tubepreprocess/TubePreProcessGripperPos.java | 15 ++ .../tubepreprocess/TubePreProcessTubeClamp.java | 14 ++ .../param/tubepreprocess/TubePreProcessYPos.java | 15 ++ .../tubepreprocess/TubePreProcessZAxisPos.java | 15 ++ .../a8k/app/a8ktype/param/type/A8kSamplePos.java | 19 ++ .../a8k/app/a8ktype/state/ProjectTaskContext.java | 3 +- .../a8k/app/a8ktype/state/enumtype/TubeState.java | 1 - .../app/service/exparam/PipetteGunParamExMgr.java | 7 +- .../service/lowerctrl/HbotMoveExCtrlService.java | 4 +- .../lowerctrl/LiquidOperationCtrlService.java | 2 +- .../mainflowctrl/action/AC41ProcessSample.java | 22 ++- .../action/AC42FinishProcesseTube.java | 202 ++++++++++----------- .../app/service/param/Hbot2DCodeScanParamMgr.java | 2 +- .../app/service/param/HbotLargeBottleBSPosMgr.java | 2 +- .../a8k/app/service/param/HbotLittleBSPosMgr.java | 2 +- .../app/service/param/HbotSamplePosParamMgr.java | 4 +- .../java/a8k/app/service/param/HbotTipPosMgr.java | 2 +- .../app/service/param/OptModuleExtParamsMgr.java | 2 +- .../a8k/app/service/param/OptModuleParamsMgr.java | 2 +- .../app/service/param/PipetteGunLLDParamMgr.java | 4 +- .../app/service/param/PipetteGunLLFParamMgr.java | 4 +- .../service/param/TubeFeedingModuleParamMgr.java | 4 +- .../service/param/TubePreProcesPosParamMgr.java | 8 +- .../app/service/statemgr/TubeStateMgrService.java | 9 +- .../a8k/app/utils/ProjProcessContextUtils.java | 14 -- .../HbotLargeBottleBSPosCalibration.java | 2 +- .../HbotLittleBSPosCalibration.java | 2 +- .../OptModuleParamPosCalibration.java | 2 +- .../TubeFeedingModulePosCalibration.java | 4 +- .../TubePreProcesPosCalibration.java | 8 +- .../opt_calibration/OptModuleParamCalibration.java | 9 +- .../P02TubeFeedingModulePosCalibrationPage.java | 4 +- .../P03TubePreProcesPosCalibrationPage.java | 8 +- ...tionPlatesTransmitControlerCalibrationPage.java | 2 +- .../P21HbotLittleBSPosCalibrationPage.java | 2 +- .../P23HbotLargeBottleBSPosCalibrationPage.java | 2 +- .../P25HbotSamplePosCalibrationPage.java | 4 +- .../P33HbotSamplePosVerificationPage.java | 2 +- .../verification/P34LiquidOperationTestPage.java | 2 +- .../verification/P51FullFlowVerificationPage.java | 4 +- 73 files changed, 549 insertions(+), 593 deletions(-) delete mode 100644 src/main/java/a8k/app/a8ktype/param/A8kSamplePos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/Hbot2DCodeScanPos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/HbotLargeBottleBSPos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/HbotLittleBSPos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/HbotProbeSubstancePos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/HbotSamplePos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/HbotTipPosParam.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/OptModuleExtParam.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/OptModuleParam.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/PipetteGunLLDThresholdParam.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/PipetteGunLLDTypeParam.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/PipetteGunLLFParam.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubeFeedingModulePos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubeFeedingModuleSetting.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubePrePorcessStructConstant.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubePreProcessGripperPos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubePreProcessTubeClamp.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubePreProcessYPos.java delete mode 100644 src/main/java/a8k/app/a8ktype/param/TubePreProcessZAxisPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/hbotpos/Hbot2DCodeScanPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLargeBottleBSPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLittleBSPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/hbotpos/HbotSamplePos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/hbotpos/HbotTipPosParam.java create mode 100644 src/main/java/a8k/app/a8ktype/param/hbotpos/HbotZPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/optpos/OptModuleExtParam.java create mode 100644 src/main/java/a8k/app/a8ktype/param/optpos/OptModuleParam.java create mode 100644 src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDThresholdParam.java create mode 100644 src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDTypeParam.java create mode 100644 src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLFParam.java create mode 100644 src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModulePos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModuleSetting.java create mode 100644 src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessGripperPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessTubeClamp.java create mode 100644 src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessYPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessZAxisPos.java create mode 100644 src/main/java/a8k/app/a8ktype/param/type/A8kSamplePos.java diff --git a/doc/TODO.md b/doc/TODO.md index 28b2ba9..bcf943f 100644 --- a/doc/TODO.md +++ b/doc/TODO.md @@ -25,5 +25,5 @@ [25-01-03 16:48:31.422] [SocketCan ] [E] send frame overtime [25-01-03 16:48:33.504] [ExtAPIService ] [I] down can bin -> 350E010001005B00(16) [25-01-03 16:48:33.525] [SocketCan ] [E] send frame overtime - +4. 处理一下A8kEcode.APPE_TAKE_TIP_FAIL错误 ``` \ No newline at end of file diff --git a/src/main/java/a8k/app/a8ktype/param/A8kSamplePos.java b/src/main/java/a8k/app/a8ktype/param/A8kSamplePos.java deleted file mode 100644 index 7921426..0000000 --- a/src/main/java/a8k/app/a8ktype/param/A8kSamplePos.java +++ /dev/null @@ -1,19 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum A8kSamplePos { - EmergencyTubePos("<急诊位>"), - BloodHTubePos("<全血高试管>"), - BloodSTubePos("<全血低试管>"), - MiniTubePos("<迷你试管>"), - MiniBloodPos("<阳普管>"), - Bulltube1P5Pos("<子弹头试管1.5mL>"), - Bulltube0P5Pos("<子弹头试管0.5mL>"), - StoolTestTubePos("<粪便试管>"), - ; - public final String chName; - - A8kSamplePos(String chName) { - this.chName = chName; - } - -} diff --git a/src/main/java/a8k/app/a8ktype/param/Hbot2DCodeScanPos.java b/src/main/java/a8k/app/a8ktype/param/Hbot2DCodeScanPos.java deleted file mode 100644 index e3cba18..0000000 --- a/src/main/java/a8k/app/a8ktype/param/Hbot2DCodeScanPos.java +++ /dev/null @@ -1,34 +0,0 @@ -package a8k.app.a8ktype.param; - -import a8k.app.a8ktype.device.Pos2d; - -public enum Hbot2DCodeScanPos { - PBScanPos0("板夹仓扫码位置0", Pos2d.class), - // PBScanPos1("板夹仓扫码位置1", Pos2d.class), - // PBScanPos2("板夹仓扫码位置2", Pos2d.class), - // PBScanPos3("板夹仓扫码位置3", Pos2d.class), - // PBScanPos4("板夹仓扫码位置4", Pos2d.class), - // PBScanPos5("板夹仓扫码位置5", Pos2d.class), - - LittBS0("小缓冲液扫码位置0", Pos2d.class), - // LittBS1("小缓冲液扫码位置1", Pos2d.class), - // LittBS2("小缓冲液扫码位置2", Pos2d.class), - // LittBS3("小缓冲液扫码位置3", Pos2d.class), - // LittBS4("小缓冲液扫码位置4", Pos2d.class), - // LittBS5("小缓冲液扫码位置5", Pos2d.class), - - LarBS0("大缓冲液扫码位置0", Pos2d.class), - // LarBS1("大缓冲液扫码位置1", Pos2d.class), - // LarBS2("大缓冲液扫码位置2", Pos2d.class), - // LarBS3("大缓冲液扫码位置3", Pos2d.class), - // LarBS4("大缓冲液扫码位置4", Pos2d.class), - // LarBS5("大缓冲液扫码位置5", Pos2d.class), - ; - public final String chName; - public final Class type; - - Hbot2DCodeScanPos(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/HbotLargeBottleBSPos.java b/src/main/java/a8k/app/a8ktype/param/HbotLargeBottleBSPos.java deleted file mode 100644 index 656f8ca..0000000 --- a/src/main/java/a8k/app/a8ktype/param/HbotLargeBottleBSPos.java +++ /dev/null @@ -1,27 +0,0 @@ -package a8k.app.a8ktype.param; - -import a8k.app.a8ktype.device.Pos2d; - - -public enum HbotLargeBottleBSPos { - LargeBuffer_0Pos("大瓶缓冲液的第1个位置", Pos2d.class), - LargeBuffer_DX("大瓶缓冲液的X间距", Double.class), - LargeBuffer_DY("大瓶缓冲液的Y间距", Double.class), - LargeBufferScanPos_DX("大瓶缓冲液的扫码位置dx", Double.class), - LargeBufferScanPos_DY("大瓶缓冲液的扫码位置dy", Double.class), - - LargeBottleBufferLLDStartZAxisPos("大瓶缓冲液LLD起始Z轴坐标", Double.class), - LargeBottleBufferBottomZAxisPos("大瓶缓冲液瓶底Z轴坐标", Double.class), - ; - final public String chName; - final public Class type; - - HbotLargeBottleBSPos(String chName, Class type) { - this.chName = chName; - this.type = type; - } - - public static HbotLargeBottleBSPos valueOf(int off) { - return HbotLargeBottleBSPos.values()[off]; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/HbotLittleBSPos.java b/src/main/java/a8k/app/a8ktype/param/HbotLittleBSPos.java deleted file mode 100644 index 3e122d7..0000000 --- a/src/main/java/a8k/app/a8ktype/param/HbotLittleBSPos.java +++ /dev/null @@ -1,37 +0,0 @@ -package a8k.app.a8ktype.param; - -import a8k.app.a8ktype.device.Pos2d; - -public enum HbotLittleBSPos { - GroupDX("小瓶缓冲液的X间距", Double.class), - GroupDY("小瓶缓冲液的Y间距", Double.class), - - LittleBufferGroup0_000Pos("第1组小瓶缓冲液的第1个位置", Pos2d.class), - ProbeSubstanceGroup0_000Pos("第1组探测物质的第1个位置", Pos2d.class), - - LittleBufferDX("小瓶缓冲液的X间距", Double.class), - LittleBufferDY("小瓶缓冲液的Y间距", Double.class), - ProbeSubstanceDX("探测物质的X间距", Double.class), - ProbeSubstanceDY("探测物质的Y间距", Double.class), - - LittleBSPierceXYAppendDistance("小瓶缓冲液刺破XY附加距离", Double.class), - ProbeSubstancePierceXYAppendDistance("探测物质液刺破XY附加距离", Double.class), - - LittleBSPierceZPos("小瓶缓冲液刺破Z坐标", Integer.class), - LittleBSSampleZPos("小瓶缓冲液取样Z坐标", Integer.class), - - ProbeSubstancePierceZPos("探测物质液刺破Z坐标", Integer.class), - ProbeSubstanceSampleZPos("探测物质取样Z坐标", Integer.class), - ; - final public String chName; - final public Class type; - - HbotLittleBSPos(String chName, Class type) { - this.chName = chName; - this.type = type; - } - - public static HbotLittleBSPos valueOf(int off) { - return HbotLittleBSPos.values()[off]; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/HbotProbeSubstancePos.java b/src/main/java/a8k/app/a8ktype/param/HbotProbeSubstancePos.java deleted file mode 100644 index e55b2ff..0000000 --- a/src/main/java/a8k/app/a8ktype/param/HbotProbeSubstancePos.java +++ /dev/null @@ -1,35 +0,0 @@ -//package a8k.app.a8ktype.param; -// -//import a8k.app.a8ktype.device.Pos3d; -// -//public enum HbotProbeSubstancePos { -// ProbeSubstanceGroup0_000Pos("第1组探测物质的第1个位置", Pos3d.class), -// ProbeSubstanceGroup1_000Pos("第1组探测物质的第2个位置", Pos3d.class), -// ProbeSubstanceGroup2_000Pos("第1组探测物质的第3个位置", Pos3d.class), -// ProbeSubstanceGroup3_000Pos("第1组探测物质的第4个位置", Pos3d.class), -// ProbeSubstanceGroup4_000Pos("第1组探测物质的第5个位置", Pos3d.class), -// ProbeSubstanceGroup5_000Pos("第1组探测物质的第6个位置", Pos3d.class), -// ProbeSubstanceDX("探测物质的X间距", Double.class), -// ProbeSubstanceDY("探测物质的Y间距", Double.class), -// -// -// ProbeSubstanceGroupDX("探测物质的组X间距", Double.class), -// ProbeSubstanceGroupDY("探测物质的组Y间距", Double.class), -// -// ProbeSubstancePierceXYAppendDistance("探测物质液刺破XY附加距离", Double.class), -// ProbeSubstancePierceZPos("探测物质液刺破Z坐标", Integer.class), -// // ProbeSubstanceSampleZPos(探测物质取样Z坐标.class), -// ProbeSubstanceSampleZPos("探测物质取样Z坐标", Integer.class),//刺破高度和取样高度一样 -// ; -// final public String chName; -// final public Class type; -// -// HbotProbeSubstancePos(String chName, Class type) { -// this.chName = chName; -// this.type = type; -// } -// -// public static HbotProbeSubstancePos valueOf(int off) { -// return HbotProbeSubstancePos.values()[off]; -// } -//} diff --git a/src/main/java/a8k/app/a8ktype/param/HbotSamplePos.java b/src/main/java/a8k/app/a8ktype/param/HbotSamplePos.java deleted file mode 100644 index 67cc1c8..0000000 --- a/src/main/java/a8k/app/a8ktype/param/HbotSamplePos.java +++ /dev/null @@ -1,38 +0,0 @@ -package a8k.app.a8ktype.param; - -import a8k.app.a8ktype.device.Pos3d; - -public enum HbotSamplePos { - EmergencyTubeSamplePos("<急诊位>取样位置", Pos3d.class), - EmergencyTubeSampleEndPos("<急诊位>取样结束位置", Pos3d.class), - - BloodHTubeSamplePos("<全血高试管>取样位置", Pos3d.class), - BloodHTubeSampleEndPos("<全血高试管>取样结束位置", Pos3d.class), - - BloodSTubeSamplePos("<全血低试管>取样位置", Pos3d.class), - BloodSTubeSampleEndPos("<全血低试管>取样结束位置", Pos3d.class), - - MiniTubeSamplePos("<迷你试管>取样位置", Pos3d.class), - MinitubeSampleEndPos("<迷你试管>取样结束位置", Pos3d.class), - - MiniBloodSamplePos("<阳普管>取样位置", Pos3d.class), - MiniBloodSampleEndPos("<阳普管>取样结束位置", Pos3d.class), - - Bulltube1P5SamplePos("<子弹头试管1.5mL>取样位置", Pos3d.class), - Bulltube1P5SampleEndPos("<子弹头试管1.5mL>取样结束位置", Pos3d.class), - - Bulltube0P5SamplePos("<子弹头试管0.5mL>取样位置", Pos3d.class), - Bulltube0P5SampleEndPos("<子弹头试管0.5mL>取样结束位置", Pos3d.class), - - StoolTestTubeSamplePos("<粪便试管>取样位置", Pos3d.class), - StoolTestTubeSampleEndPos("<粪便试管>取样结束位置", Pos3d.class), - ; - public final String chName; - public final Class type; - - HbotSamplePos(String chName, Class type) { - this.chName = chName; - this.type = type; - } - -} diff --git a/src/main/java/a8k/app/a8ktype/param/HbotTipPosParam.java b/src/main/java/a8k/app/a8ktype/param/HbotTipPosParam.java deleted file mode 100644 index c26a0c8..0000000 --- a/src/main/java/a8k/app/a8ktype/param/HbotTipPosParam.java +++ /dev/null @@ -1,32 +0,0 @@ -package a8k.app.a8ktype.param; - -import a8k.app.a8ktype.device.Pos3d; - -public enum HbotTipPosParam { - TipGroup0_000Pos("第1组TIP的第1个位置", Pos3d.class), - TipGroup0_SpaceingX("第1组TIP的X间距", Double.class), - TipGroup0_SpaceingY("第1组TIP的Y间距", Double.class), - - TipGroup1_000Pos("第2组TIP的第1个位置", Pos3d.class), - TipGroup1_SpaceingX("第2组TIP的X间距", Double.class), - TipGroup1_SpaceingY("第2组TIP的Y间距", Double.class), - - TipGroup2_000Pos("第3组TIP的第1个位置", Pos3d.class), - TipGroup2_SpaceingX("第3组TIP的X间距", Double.class), - TipGroup2_SpaceingY("第3组TIP的Y间距", Double.class), - - DropTipPos("丢TIP位置", Pos3d.class), - ; - final public String chName; - final public Class type; - - HbotTipPosParam(String chName, Class type) { - this.chName = chName; - this.type = type; - - } - - public static HbotTipPosParam valueOf(int off) { - return HbotTipPosParam.values()[off]; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/OptModuleExtParam.java b/src/main/java/a8k/app/a8ktype/param/OptModuleExtParam.java deleted file mode 100644 index 0b883bd..0000000 --- a/src/main/java/a8k/app/a8ktype/param/OptModuleExtParam.java +++ /dev/null @@ -1,22 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum OptModuleExtParam { -// OptScanRefPos("光学扫描参考坐标", Integer.class), - - FOptScanShift("F光学扫描偏移", Integer.class), - FOptEmissionIntensity("F发射强度", Integer.class),//Int - FOptScanGainVal("F光学扫描放大倍数", Double.class),//Double - - TOptScanShift("T光学扫描偏移", Integer.class), - TOptEmissionIntensity("T发射强度", Integer.class), - TOptScanGainVal("T光学扫描放大倍数", Double.class), - ; - - public final String chName; - public final Class type; - - OptModuleExtParam(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/OptModuleParam.java b/src/main/java/a8k/app/a8ktype/param/OptModuleParam.java deleted file mode 100644 index 9e15e7c..0000000 --- a/src/main/java/a8k/app/a8ktype/param/OptModuleParam.java +++ /dev/null @@ -1,15 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum OptModuleParam { - PullerTargetPos("拉板目标位置", Integer.class), - OptScanerDropPos("丢板坐标", Integer.class), - OptScanerScandbyPos("扫描待机位", Integer.class), - ; - public final String chName; - public final Class type; - - OptModuleParam(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/PipetteGunLLDThresholdParam.java b/src/main/java/a8k/app/a8ktype/param/PipetteGunLLDThresholdParam.java deleted file mode 100644 index 1002303..0000000 --- a/src/main/java/a8k/app/a8ktype/param/PipetteGunLLDThresholdParam.java +++ /dev/null @@ -1,14 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum PipetteGunLLDThresholdParam { - DEFAULT_C_THRESHOLD("默认电容C阈值", Integer.class), - DEFAULT_P_THRESHOLD("默认压力阈值", Integer.class), - ; - public final String chName; - public final Class type; - - PipetteGunLLDThresholdParam(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/PipetteGunLLDTypeParam.java b/src/main/java/a8k/app/a8ktype/param/PipetteGunLLDTypeParam.java deleted file mode 100644 index f0ddb00..0000000 --- a/src/main/java/a8k/app/a8ktype/param/PipetteGunLLDTypeParam.java +++ /dev/null @@ -1,15 +0,0 @@ -package a8k.app.a8ktype.param; - -import a8k.app.hardware.type.LldType; - -public enum PipetteGunLLDTypeParam { - DEFAULT_LLD_TYPE("默认LLD类型", LldType.class), - ; - public final String chName; - public final Class type; - - PipetteGunLLDTypeParam(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/PipetteGunLLFParam.java b/src/main/java/a8k/app/a8ktype/param/PipetteGunLLFParam.java deleted file mode 100644 index 9205d48..0000000 --- a/src/main/java/a8k/app/a8ktype/param/PipetteGunLLFParam.java +++ /dev/null @@ -1,23 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum PipetteGunLLFParam { - // 试管容器参数 - EMERGENCY_TUBE_LLF_VEL("<急诊试管>液面跟随速度",Integer.class), - BLOOD_TUBE_LLF_VEL("<全血试管>液面跟随速度",Integer.class), - MINI_TUBE_LLF_VEL("<迷你试管>液面跟随速度",Integer.class), - MINI_BLOOD_LLF_VEL("<阳普管>液面跟随速度",Integer.class), - BULLET_TUBE_1P5_LLF_VEL("<子弹头试管1.5ML>液面跟随速度",Integer.class), - BULLET_TUBE_0P5_LLF_VEL("<子弹头试管0.5ML>液面跟随速度",Integer.class), - STOOL_TEST_TUBE_LLF_VEL("<粪便试管>液面跟随速度",Integer.class), - - //耗材容器参数 - LARGE_BS_BOTTLE_LLF_VEL("<大瓶缓冲液>液面跟随速度",Integer.class), - ; - public final String chName; - public final Class type; - - PipetteGunLLFParam(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/TubeFeedingModulePos.java b/src/main/java/a8k/app/a8ktype/param/TubeFeedingModulePos.java deleted file mode 100644 index 81f4262..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubeFeedingModulePos.java +++ /dev/null @@ -1,19 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum TubeFeedingModulePos { - TubeHolderEnterXPos("入料位置", Integer.class), // - TubeHolderExitXPos("出料位置", Integer.class), // - TubeHolderScanXPos("试管架扫描位置", Integer.class), // - Tube0ScanPos("01号试管扫描位置", Integer.class), // - Tube0AltitJudgPos("01试管高度判断位置", Integer.class), // - Tube0ExistJudgPos("01试管存在判断位置", Integer.class), // - Tube0PreProcessPos("01试管预处理位置", Integer.class), // - ; - public final String chName; - public final Class type; - - TubeFeedingModulePos(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/TubeFeedingModuleSetting.java b/src/main/java/a8k/app/a8ktype/param/TubeFeedingModuleSetting.java deleted file mode 100644 index 5e763b8..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubeFeedingModuleSetting.java +++ /dev/null @@ -1,14 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum TubeFeedingModuleSetting { - TubeScanServoTorque("试管扫描伺服力矩",Integer.class), // - TubeSpacing("试管间距",Double.class), // - ; - public final String chName; - public final Class type; - - TubeFeedingModuleSetting(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/TubePrePorcessStructConstant.java b/src/main/java/a8k/app/a8ktype/param/TubePrePorcessStructConstant.java deleted file mode 100644 index 9288cc7..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubePrePorcessStructConstant.java +++ /dev/null @@ -1 +0,0 @@ -package a8k.app.a8ktype.param; diff --git a/src/main/java/a8k/app/a8ktype/param/TubePreProcessGripperPos.java b/src/main/java/a8k/app/a8ktype/param/TubePreProcessGripperPos.java deleted file mode 100644 index 2ed19be..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubePreProcessGripperPos.java +++ /dev/null @@ -1,15 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum TubePreProcessGripperPos { - GripperServoOpenPos("<抓手>张开位置", Integer.class),// - GripperServoTakeCapPos("<抓手>取试管位置", Integer.class),// - GripperRedundancyHeight("<抓手>冗余高度", Integer.class),// - ; - public final String chName; - public final Class type; - - TubePreProcessGripperPos(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/TubePreProcessTubeClamp.java b/src/main/java/a8k/app/a8ktype/param/TubePreProcessTubeClamp.java deleted file mode 100644 index baf8599..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubePreProcessTubeClamp.java +++ /dev/null @@ -1,14 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum TubePreProcessTubeClamp { - ShakeClampMotorClampPos("<摇匀试管夹>夹紧位",Integer.class),// - ShakeClampMotorReleasePos("<摇匀试管夹>释放位",Integer.class),// - ; - public final String chName; - public final Class type; - - TubePreProcessTubeClamp(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/TubePreProcessYPos.java b/src/main/java/a8k/app/a8ktype/param/TubePreProcessYPos.java deleted file mode 100644 index 22931af..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubePreProcessYPos.java +++ /dev/null @@ -1,15 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum TubePreProcessYPos { - - YServoTakeTubePos("取试管位置",Integer.class),// - YServoShakePos("摇匀位置",Integer.class),// - ; - public final String chName; - public final Class type; - - TubePreProcessYPos(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/TubePreProcessZAxisPos.java b/src/main/java/a8k/app/a8ktype/param/TubePreProcessZAxisPos.java deleted file mode 100644 index 2e32700..0000000 --- a/src/main/java/a8k/app/a8ktype/param/TubePreProcessZAxisPos.java +++ /dev/null @@ -1,15 +0,0 @@ -package a8k.app.a8ktype.param; - -public enum TubePreProcessZAxisPos { - ZMotorTakeHTubePos("取高试管位置",Integer.class),// - ZMotorTakeSTubePos("取低试管位置",Integer.class),// - ZMotorShakeTubePos("摇匀放置位置",Integer.class),// - ; - public final String chName; - public final Class type; - - TubePreProcessZAxisPos(String chName, Class type) { - this.chName = chName; - this.type = type; - } -} diff --git a/src/main/java/a8k/app/a8ktype/param/hbotpos/Hbot2DCodeScanPos.java b/src/main/java/a8k/app/a8ktype/param/hbotpos/Hbot2DCodeScanPos.java new file mode 100644 index 0000000..e8ced9e --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/hbotpos/Hbot2DCodeScanPos.java @@ -0,0 +1,17 @@ +package a8k.app.a8ktype.param.hbotpos; + +import a8k.app.a8ktype.device.Pos2d; + +public enum Hbot2DCodeScanPos { + PBScanPos0("板夹仓扫码位置0", Pos2d.class), + LittBS0("小缓冲液扫码位置0", Pos2d.class), + LarBS0("大缓冲液扫码位置0", Pos2d.class), + ; + public final String chName; + public final Class type; + + Hbot2DCodeScanPos(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLargeBottleBSPos.java b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLargeBottleBSPos.java new file mode 100644 index 0000000..61b358c --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLargeBottleBSPos.java @@ -0,0 +1,27 @@ +package a8k.app.a8ktype.param.hbotpos; + +import a8k.app.a8ktype.device.Pos2d; + + +public enum HbotLargeBottleBSPos { + LargeBuffer_0Pos("大瓶缓冲液的第1个位置", Pos2d.class), + LargeBuffer_DX("大瓶缓冲液的X间距", Double.class), + LargeBuffer_DY("大瓶缓冲液的Y间距", Double.class), + LargeBufferScanPos_DX("大瓶缓冲液的扫码位置dx", Double.class), + LargeBufferScanPos_DY("大瓶缓冲液的扫码位置dy", Double.class), + + LargeBottleBufferLLDStartZAxisPos("大瓶缓冲液LLD起始Z轴坐标", Double.class), + LargeBottleBufferBottomZAxisPos("大瓶缓冲液瓶底Z轴坐标", Double.class), + ; + final public String chName; + final public Class type; + + HbotLargeBottleBSPos(String chName, Class type) { + this.chName = chName; + this.type = type; + } + + public static HbotLargeBottleBSPos valueOf(int off) { + return HbotLargeBottleBSPos.values()[off]; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLittleBSPos.java b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLittleBSPos.java new file mode 100644 index 0000000..3cc4ed6 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotLittleBSPos.java @@ -0,0 +1,38 @@ +package a8k.app.a8ktype.param.hbotpos; + +import a8k.app.a8ktype.device.Pos2d; + +public enum HbotLittleBSPos { + GroupDX("小瓶缓冲液的X间距", Double.class), + GroupDY("小瓶缓冲液的Y间距", Double.class), + + LittleBufferGroup0_000Pos("第1组小瓶缓冲液的第1个位置", Pos2d.class), + ProbeSubstanceGroup0_000Pos("第1组探测物质的第1个位置", Pos2d.class), + + LittleBufferDX("小瓶缓冲液的X间距", Double.class), + LittleBufferDY("小瓶缓冲液的Y间距", Double.class), + ProbeSubstanceDX("探测物质的X间距", Double.class), + ProbeSubstanceDY("探测物质的Y间距", Double.class), + + LittleBSPierceXYAppendDistance("小瓶缓冲液刺破XY附加距离", Double.class), + ProbeSubstancePierceXYAppendDistance("探测物质液刺破XY附加距离", Double.class), + + LittleBSPierceZPos("小瓶缓冲液刺破Z坐标", Integer.class), + LittleBSSampleZPos("小瓶缓冲液取样Z坐标", Integer.class), + + + ProbeSubstancePierceZPos("探测物质液刺破Z坐标", Integer.class), + ProbeSubstanceSampleZPos("探测物质取样Z坐标", Integer.class), + ; + final public String chName; + final public Class type; + + HbotLittleBSPos(String chName, Class type) { + this.chName = chName; + this.type = type; + } + + public static HbotLittleBSPos valueOf(int off) { + return HbotLittleBSPos.values()[off]; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotSamplePos.java b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotSamplePos.java new file mode 100644 index 0000000..9f5e06b --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotSamplePos.java @@ -0,0 +1,38 @@ +package a8k.app.a8ktype.param.hbotpos; + +import a8k.app.a8ktype.device.Pos3d; + +public enum HbotSamplePos { + EmergencyTubeSamplePos("<急诊位>取样位置", Pos3d.class), + EmergencyTubeSampleEndPos("<急诊位>取样结束位置", Pos3d.class), + + BloodHTubeSamplePos("<全血高试管>取样位置", Pos3d.class), + BloodHTubeSampleEndPos("<全血高试管>取样结束位置", Pos3d.class), + + BloodSTubeSamplePos("<全血低试管>取样位置", Pos3d.class), + BloodSTubeSampleEndPos("<全血低试管>取样结束位置", Pos3d.class), + + MiniTubeSamplePos("<迷你试管>取样位置", Pos3d.class), + MinitubeSampleEndPos("<迷你试管>取样结束位置", Pos3d.class), + + MiniBloodSamplePos("<阳普管>取样位置", Pos3d.class), + MiniBloodSampleEndPos("<阳普管>取样结束位置", Pos3d.class), + + Bulltube1P5SamplePos("<子弹头试管1.5mL>取样位置", Pos3d.class), + Bulltube1P5SampleEndPos("<子弹头试管1.5mL>取样结束位置", Pos3d.class), + + Bulltube0P5SamplePos("<子弹头试管0.5mL>取样位置", Pos3d.class), + Bulltube0P5SampleEndPos("<子弹头试管0.5mL>取样结束位置", Pos3d.class), + + StoolTestTubeSamplePos("<粪便试管>取样位置", Pos3d.class), + StoolTestTubeSampleEndPos("<粪便试管>取样结束位置", Pos3d.class), + ; + public final String chName; + public final Class type; + + HbotSamplePos(String chName, Class type) { + this.chName = chName; + this.type = type; + } + +} diff --git a/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotTipPosParam.java b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotTipPosParam.java new file mode 100644 index 0000000..30188f8 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotTipPosParam.java @@ -0,0 +1,32 @@ +package a8k.app.a8ktype.param.hbotpos; + +import a8k.app.a8ktype.device.Pos3d; + +public enum HbotTipPosParam { + TipGroup0_000Pos("第1组TIP的第1个位置", Pos3d.class), + TipGroup0_SpaceingX("第1组TIP的X间距", Double.class), + TipGroup0_SpaceingY("第1组TIP的Y间距", Double.class), + + TipGroup1_000Pos("第2组TIP的第1个位置", Pos3d.class), + TipGroup1_SpaceingX("第2组TIP的X间距", Double.class), + TipGroup1_SpaceingY("第2组TIP的Y间距", Double.class), + + TipGroup2_000Pos("第3组TIP的第1个位置", Pos3d.class), + TipGroup2_SpaceingX("第3组TIP的X间距", Double.class), + TipGroup2_SpaceingY("第3组TIP的Y间距", Double.class), + + DropTipPos("丢TIP位置", Pos3d.class), + ; + final public String chName; + final public Class type; + + HbotTipPosParam(String chName, Class type) { + this.chName = chName; + this.type = type; + + } + + public static HbotTipPosParam valueOf(int off) { + return HbotTipPosParam.values()[off]; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotZPos.java b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotZPos.java new file mode 100644 index 0000000..1df52bb --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/hbotpos/HbotZPos.java @@ -0,0 +1,27 @@ +package a8k.app.a8ktype.param.hbotpos; + +public enum HbotZPos { + ZRefLevelPos("Z参考平面位置", Integer.class), + + LargeBottleBufferLLDStartZAxisPos("大瓶缓冲液LLD起始Z轴坐标", Double.class), + LargeBottleBufferBottomZAxisPos("大瓶缓冲液瓶底Z轴坐标", Double.class), + + LittleBSPierceXYAppendDistance("小瓶缓冲液刺破XY附加距离", Double.class), + ProbeSubstancePierceXYAppendDistance("探测物质液刺破XY附加距离", Double.class), + + + ; + final public String chName; + final public Class type; + + HbotZPos(String chName, Class type) { + this.chName = chName; + this.type = type; + + } + + public static HbotZPos valueOf(int off) { + return HbotZPos.values()[off]; + } + +} diff --git a/src/main/java/a8k/app/a8ktype/param/optpos/OptModuleExtParam.java b/src/main/java/a8k/app/a8ktype/param/optpos/OptModuleExtParam.java new file mode 100644 index 0000000..59b5da2 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/optpos/OptModuleExtParam.java @@ -0,0 +1,22 @@ +package a8k.app.a8ktype.param.optpos; + +public enum OptModuleExtParam { +// OptScanRefPos("光学扫描参考坐标", Integer.class), + + FOptScanShift("F光学扫描偏移", Integer.class), + FOptEmissionIntensity("F发射强度", Integer.class),//Int + FOptScanGainVal("F光学扫描放大倍数", Double.class),//Double + + TOptScanShift("T光学扫描偏移", Integer.class), + TOptEmissionIntensity("T发射强度", Integer.class), + TOptScanGainVal("T光学扫描放大倍数", Double.class), + ; + + public final String chName; + public final Class type; + + OptModuleExtParam(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/optpos/OptModuleParam.java b/src/main/java/a8k/app/a8ktype/param/optpos/OptModuleParam.java new file mode 100644 index 0000000..c4dac16 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/optpos/OptModuleParam.java @@ -0,0 +1,15 @@ +package a8k.app.a8ktype.param.optpos; + +public enum OptModuleParam { + PullerTargetPos("拉板目标位置", Integer.class), + OptScanerDropPos("丢板坐标", Integer.class), + OptScanerScandbyPos("扫描待机位", Integer.class), + ; + public final String chName; + public final Class type; + + OptModuleParam(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDThresholdParam.java b/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDThresholdParam.java new file mode 100644 index 0000000..c0a1abc --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDThresholdParam.java @@ -0,0 +1,14 @@ +package a8k.app.a8ktype.param.pipette; + +public enum PipetteGunLLDThresholdParam { + DEFAULT_C_THRESHOLD("默认电容C阈值", Integer.class), + DEFAULT_P_THRESHOLD("默认压力阈值", Integer.class), + ; + public final String chName; + public final Class type; + + PipetteGunLLDThresholdParam(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDTypeParam.java b/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDTypeParam.java new file mode 100644 index 0000000..d043440 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLDTypeParam.java @@ -0,0 +1,15 @@ +package a8k.app.a8ktype.param.pipette; + +import a8k.app.hardware.type.LldType; + +public enum PipetteGunLLDTypeParam { + DEFAULT_LLD_TYPE("默认LLD类型", LldType.class), + ; + public final String chName; + public final Class type; + + PipetteGunLLDTypeParam(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLFParam.java b/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLFParam.java new file mode 100644 index 0000000..f1b194f --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/pipette/PipetteGunLLFParam.java @@ -0,0 +1,23 @@ +package a8k.app.a8ktype.param.pipette; + +public enum PipetteGunLLFParam { + // 试管容器参数 + EMERGENCY_TUBE_LLF_VEL("<急诊试管>液面跟随速度",Integer.class), + BLOOD_TUBE_LLF_VEL("<全血试管>液面跟随速度",Integer.class), + MINI_TUBE_LLF_VEL("<迷你试管>液面跟随速度",Integer.class), + MINI_BLOOD_LLF_VEL("<阳普管>液面跟随速度",Integer.class), + BULLET_TUBE_1P5_LLF_VEL("<子弹头试管1.5ML>液面跟随速度",Integer.class), + BULLET_TUBE_0P5_LLF_VEL("<子弹头试管0.5ML>液面跟随速度",Integer.class), + STOOL_TEST_TUBE_LLF_VEL("<粪便试管>液面跟随速度",Integer.class), + + //耗材容器参数 + LARGE_BS_BOTTLE_LLF_VEL("<大瓶缓冲液>液面跟随速度",Integer.class), + ; + public final String chName; + public final Class type; + + PipetteGunLLFParam(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModulePos.java b/src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModulePos.java new file mode 100644 index 0000000..c3e5ab2 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModulePos.java @@ -0,0 +1,19 @@ +package a8k.app.a8ktype.param.tubefeeding; + +public enum TubeFeedingModulePos { + TubeHolderEnterXPos("入料位置", Integer.class), // + TubeHolderExitXPos("出料位置", Integer.class), // + TubeHolderScanXPos("试管架扫描位置", Integer.class), // + Tube0ScanPos("01号试管扫描位置", Integer.class), // + Tube0AltitJudgPos("01试管高度判断位置", Integer.class), // + Tube0ExistJudgPos("01试管存在判断位置", Integer.class), // + Tube0PreProcessPos("01试管预处理位置", Integer.class), // + ; + public final String chName; + public final Class type; + + TubeFeedingModulePos(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModuleSetting.java b/src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModuleSetting.java new file mode 100644 index 0000000..401b3f7 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/tubefeeding/TubeFeedingModuleSetting.java @@ -0,0 +1,14 @@ +package a8k.app.a8ktype.param.tubefeeding; + +public enum TubeFeedingModuleSetting { + TubeScanServoTorque("试管扫描伺服力矩",Integer.class), // + TubeSpacing("试管间距",Double.class), // + ; + public final String chName; + public final Class type; + + TubeFeedingModuleSetting(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessGripperPos.java b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessGripperPos.java new file mode 100644 index 0000000..1c83684 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessGripperPos.java @@ -0,0 +1,15 @@ +package a8k.app.a8ktype.param.tubepreprocess; + +public enum TubePreProcessGripperPos { + GripperServoOpenPos("<抓手>张开位置", Integer.class),// + GripperServoTakeCapPos("<抓手>取试管位置", Integer.class),// + GripperRedundancyHeight("<抓手>冗余高度", Integer.class),// + ; + public final String chName; + public final Class type; + + TubePreProcessGripperPos(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessTubeClamp.java b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessTubeClamp.java new file mode 100644 index 0000000..486b95c --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessTubeClamp.java @@ -0,0 +1,14 @@ +package a8k.app.a8ktype.param.tubepreprocess; + +public enum TubePreProcessTubeClamp { + ShakeClampMotorClampPos("<摇匀试管夹>夹紧位",Integer.class),// + ShakeClampMotorReleasePos("<摇匀试管夹>释放位",Integer.class),// + ; + public final String chName; + public final Class type; + + TubePreProcessTubeClamp(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessYPos.java b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessYPos.java new file mode 100644 index 0000000..394fca5 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessYPos.java @@ -0,0 +1,15 @@ +package a8k.app.a8ktype.param.tubepreprocess; + +public enum TubePreProcessYPos { + + YServoTakeTubePos("取试管位置",Integer.class),// + YServoShakePos("摇匀位置",Integer.class),// + ; + public final String chName; + public final Class type; + + TubePreProcessYPos(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessZAxisPos.java b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessZAxisPos.java new file mode 100644 index 0000000..d8af832 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/tubepreprocess/TubePreProcessZAxisPos.java @@ -0,0 +1,15 @@ +package a8k.app.a8ktype.param.tubepreprocess; + +public enum TubePreProcessZAxisPos { + ZMotorTakeHTubePos("取高试管位置",Integer.class),// + ZMotorTakeSTubePos("取低试管位置",Integer.class),// + ZMotorShakeTubePos("摇匀放置位置",Integer.class),// + ; + public final String chName; + public final Class type; + + TubePreProcessZAxisPos(String chName, Class type) { + this.chName = chName; + this.type = type; + } +} diff --git a/src/main/java/a8k/app/a8ktype/param/type/A8kSamplePos.java b/src/main/java/a8k/app/a8ktype/param/type/A8kSamplePos.java new file mode 100644 index 0000000..02038a4 --- /dev/null +++ b/src/main/java/a8k/app/a8ktype/param/type/A8kSamplePos.java @@ -0,0 +1,19 @@ +package a8k.app.a8ktype.param.type; + +public enum A8kSamplePos { + EmergencyTubePos("<急诊位>"), + BloodHTubePos("<全血高试管>"), + BloodSTubePos("<全血低试管>"), + MiniTubePos("<迷你试管>"), + MiniBloodPos("<阳普管>"), + Bulltube1P5Pos("<子弹头试管1.5mL>"), + Bulltube0P5Pos("<子弹头试管0.5mL>"), + StoolTestTubePos("<粪便试管>"), + ; + public final String chName; + + A8kSamplePos(String chName) { + this.chName = chName; + } + +} diff --git a/src/main/java/a8k/app/a8ktype/state/ProjectTaskContext.java b/src/main/java/a8k/app/a8ktype/state/ProjectTaskContext.java index 6285dcd..13310c6 100644 --- a/src/main/java/a8k/app/a8ktype/state/ProjectTaskContext.java +++ b/src/main/java/a8k/app/a8ktype/state/ProjectTaskContext.java @@ -3,12 +3,11 @@ package a8k.app.a8ktype.state; import a8k.SpringBootBeanUtil; import a8k.app.a8kproj.optalgo.type.OptScanResult; import a8k.app.a8ktype.device.*; -import a8k.app.a8ktype.param.A8kSamplePos; +import a8k.app.a8ktype.param.type.A8kSamplePos; import a8k.app.dao.db.type.ProjExtInfoCard; import a8k.app.dao.db.type.a8kidcard.zenum.A8kOptType; import a8k.app.dao.db.type.a8kidcard.zenum.A8kReactionFlowType; import a8k.app.service.exparam.HbotConsumableParamMgr; -import a8k.app.service.statemgr.ProjectContextMgrService; import a8k.app.utils.ProjBuildinInfo; import a8k.app.utils.ProjInfoReader; import a8k.app.utils.ZJsonHelper; diff --git a/src/main/java/a8k/app/a8ktype/state/enumtype/TubeState.java b/src/main/java/a8k/app/a8ktype/state/enumtype/TubeState.java index 94125eb..20679cb 100644 --- a/src/main/java/a8k/app/a8ktype/state/enumtype/TubeState.java +++ b/src/main/java/a8k/app/a8ktype/state/enumtype/TubeState.java @@ -9,7 +9,6 @@ public enum TubeState { PENDING,//挂起的试管,即下一个被处理的试管 RESOURCE_IS_READY,//资源准备好 PROCESSING,//处理 - PROCESSED,//处理完成 PROCESS_COMPLETE,//处理完成 ERROR,//处理出错 ; diff --git a/src/main/java/a8k/app/service/exparam/PipetteGunParamExMgr.java b/src/main/java/a8k/app/service/exparam/PipetteGunParamExMgr.java index ef37006..d806e6e 100644 --- a/src/main/java/a8k/app/service/exparam/PipetteGunParamExMgr.java +++ b/src/main/java/a8k/app/service/exparam/PipetteGunParamExMgr.java @@ -8,12 +8,11 @@ import a8k.app.service.param.HbotLargeBottleBSPosMgr; import a8k.app.service.param.HbotSamplePosParamMgr; import a8k.app.service.param.PipetteGunLLDParamMgr; import a8k.app.service.param.PipetteGunLLFParamMgr; -import a8k.app.a8ktype.param.A8kSamplePos; -import a8k.app.a8ktype.param.PipetteGunLLDThresholdParam; -import a8k.app.a8ktype.param.PipetteGunLLDTypeParam; +import a8k.app.a8ktype.param.type.A8kSamplePos; +import a8k.app.a8ktype.param.pipette.PipetteGunLLDThresholdParam; +import a8k.app.a8ktype.param.pipette.PipetteGunLLDTypeParam; import a8k.app.a8ktype.device.ConsumableGroup; import a8k.app.a8ktype.device.Pos3d; -import a8k.app.utils.ProjProcessContextUtils; import jakarta.annotation.Resource; import org.springframework.stereotype.Component; import org.springframework.util.Assert; diff --git a/src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java b/src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java index be40851..8bb946e 100644 --- a/src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java +++ b/src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java @@ -10,8 +10,8 @@ import a8k.app.hardware.driver.PipetteCtrlDriver; import a8k.app.service.exparam.HbotConsumableParamMgr; import a8k.app.service.param.HbotFixedPosParamMgr; import a8k.app.service.param.HbotSamplePosParamMgr; -import a8k.app.a8ktype.param.A8kSamplePos; -import a8k.app.a8ktype.param.HbotSamplePos; +import a8k.app.a8ktype.param.type.A8kSamplePos; +import a8k.app.a8ktype.param.hbotpos.HbotSamplePos; import a8k.app.a8ktype.exception.AppException; import a8k.app.utils.ZAppChecker; import jakarta.annotation.Resource; diff --git a/src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java b/src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java index 77e1db2..814ad28 100644 --- a/src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java +++ b/src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java @@ -3,7 +3,7 @@ package a8k.app.service.lowerctrl; import a8k.app.a8ktype.DeviceRunMode; import a8k.app.a8ktype.device.*; -import a8k.app.a8ktype.param.A8kSamplePos; +import a8k.app.a8ktype.param.type.A8kSamplePos; import a8k.app.dao.db.type.ProjExtInfoCard; import a8k.app.hardware.driver.type.PipetteRegIndex; import a8k.app.hardware.type.LldType; diff --git a/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC41ProcessSample.java b/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC41ProcessSample.java index 3fd215f..5987926 100644 --- a/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC41ProcessSample.java +++ b/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC41ProcessSample.java @@ -101,6 +101,11 @@ public class AC41ProcessSample extends A8kActionTask { } else { startTask(); } + if (errorsCollection.isEmpty()) { + tubeStateMgrService.changeTubeStateToProcessComplete(); + } else { + tubeStateMgrService.changeTubeStateToError(errorsCollection); + } return actionTaskPool.waitAllDone(); } @@ -110,8 +115,6 @@ public class AC41ProcessSample extends A8kActionTask { // private List afterDoAction(List errors) { //// !!!tubeStateMgrService.changeTubeStateToError(errors); // } - - // // VIRTUAL // @@ -119,7 +122,6 @@ public class AC41ProcessSample extends A8kActionTask { void startVirtualTask() { actionTaskPool.pushTask("samplePrepareAndRecyle", new ActionTaskPool.ActionTask() { @Override public void doAction() throws AppException, ZAppInterruptException { - } @Override public Exception processError(Exception e) { @@ -134,7 +136,14 @@ public class AC41ProcessSample extends A8kActionTask { actionTaskPool.pushTask("paltePrepare", new ActionTaskPool.ActionTask() { @Override public void doAction() throws AppException, ZAppInterruptException { - + Tube tube = tubeStateMgrService.getCurProcessingTube(); + List cxts = projectContextMgrService.findCxts(tube.getSampleId()); + for (ProjectTaskContext cxt : cxts) { + cxt.setStartIncubatedTime(System.currentTimeMillis()); + cxt.setIncubatedTimeSec(cxt.getProjBuildinInfo().reactionPlateIncubationTimeMin * 60); + incubationPlateStateMgrService.syncSampleInfo(cxt.getIncubatorPos(), Objects.requireNonNull(ProjInfoUtils.buildProjBrefInfo(cxt)), cxt.getSampleInfo()); + incubationPlateStateMgrService.startIncubating(cxt.getIncubatorPos(), cxt.getStartIncubatedTime(), cxt.getIncubatedTimeSec()); + } } @Override public Exception processError(Exception e) { @@ -195,6 +204,9 @@ public class AC41ProcessSample extends A8kActionTask { //样本后处理 tubePreProcesCtrlService.resteModule(); + + //设置试管状态为处理完成 + tubeStateMgrService.changeTubeStateToProcessComplete(); } @Override public Exception processError(Exception e) { @@ -379,6 +391,6 @@ public class AC41ProcessSample extends A8kActionTask { // // 异常由各个Action自行进行处理,返回给上层,则认为是无法处理的异常,直接结束 // - + } diff --git a/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC42FinishProcesseTube.java b/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC42FinishProcesseTube.java index eaa3cdc..d66813d 100644 --- a/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC42FinishProcesseTube.java +++ b/src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/AC42FinishProcesseTube.java @@ -1,101 +1,101 @@ -package a8k.app.service.mainctrl.mainflowctrl.action; - -import a8k.app.hardware.type.a8kcanprotocol.A8kEcode; -import a8k.app.service.mainctrl.mainflowctrl.base.A8kActionTask; -import a8k.app.service.mainctrl.mainflowctrl.base.MainFlowProcesser; -import a8k.app.service.statemgr.DeviceWorkStateMgrService; -import a8k.app.service.statemgr.TubeStateMgrService; -import a8k.app.a8ktype.state.Tube; -import a8k.app.a8ktype.state.enumtype.TubeState; -import a8k.app.service.lowerctrl.HbotMoveExCtrlService; -import a8k.app.service.lowerctrl.TubePreProcesModuleExCtrlService; -import a8k.app.service.mainctrl.erroranalyzer.ErrorProcessor; -import a8k.app.utils.ZList; -import a8k.teststate.VirtualDevice; -import a8k.app.a8ktype.error.AppError; -import a8k.app.a8ktype.exception.AppException; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import org.springframework.util.Assert; - -import java.util.ArrayList; -import java.util.List; - - -/** - * 异常试管处理任务 - */ - -@Component -@MainFlowProcesser -@Slf4j -public class AC42FinishProcesseTube extends A8kActionTask { - - @Resource - VirtualDevice virtualDevice; - - - @Resource - TubePreProcesModuleExCtrlService tubePreProcesCtrlService; - @Resource - HbotMoveExCtrlService hbotMoveExCtrlService; - - @Resource - TubeStateMgrService tubeStateMgrService; - @Resource - DeviceWorkStateMgrService deviceWorkStateMgrService; - - - public Boolean isReady() { - Tube tube = tubeStateMgrService.getCurProcessingTube(); - return tube != null - && tube.getState().equals(TubeState.PROCESSED) - ; - } - - public String toDisplayString() { - return "样本后处理"; - } - - void resetHbotAndShakeModule() throws AppException { - if (virtualDevice.isEnable()) { - virtualDevice.doVirtualThings("处理错误试管"); - virtualDevice.doVirtualThings("复位摇匀模组"); - virtualDevice.doVirtualThings("复位HBOT"); - return; - } - - //复位hbot - if (hbotMoveExCtrlService.isHasTip()) { - hbotMoveExCtrlService.dropTip(); - hbotMoveExCtrlService.moveQuickToZero(); - } - - //复位预处理模块 - tubePreProcesCtrlService.resteModule(); - } - - @Override public List doAction() { - try { - Tube tube = tubeStateMgrService.getCurProcessingTube(); - Assert.isTrue(tube != null, "tube != null"); - //如果试管状态为ERROR,则复位hbot和预处理模块 - if (tube.getState().equals(TubeState.ERROR)) { - resetHbotAndShakeModule(); - } - } catch (AppException e) { - log.error("catch error {}", e.getMessage(), e); - return ZList.of(e.getError()); - } - Tube tube = tubeStateMgrService.getCurProcessingTube(); - if (ErrorProcessor.isContainError(tube.getErrors(), A8kEcode.APPE_TAKE_TIP_FAIL)) { - deviceWorkStateMgrService.setPauseActionPending(true); - } - - tubeStateMgrService.changeTubeStateToProcessComplete(); - return new ArrayList<>(); - } - - -} +//package a8k.app.service.mainctrl.mainflowctrl.action; +// +//import a8k.app.hardware.type.a8kcanprotocol.A8kEcode; +//import a8k.app.service.mainctrl.mainflowctrl.base.A8kActionTask; +//import a8k.app.service.mainctrl.mainflowctrl.base.MainFlowProcesser; +//import a8k.app.service.statemgr.DeviceWorkStateMgrService; +//import a8k.app.service.statemgr.TubeStateMgrService; +//import a8k.app.a8ktype.state.Tube; +//import a8k.app.a8ktype.state.enumtype.TubeState; +//import a8k.app.service.lowerctrl.HbotMoveExCtrlService; +//import a8k.app.service.lowerctrl.TubePreProcesModuleExCtrlService; +//import a8k.app.service.mainctrl.erroranalyzer.ErrorProcessor; +//import a8k.app.utils.ZList; +//import a8k.teststate.VirtualDevice; +//import a8k.app.a8ktype.error.AppError; +//import a8k.app.a8ktype.exception.AppException; +//import jakarta.annotation.Resource; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.stereotype.Component; +//import org.springframework.util.Assert; +// +//import java.util.ArrayList; +//import java.util.List; +// +// +///** +// * 异常试管处理任务 +// */ +// +//@Component +//@MainFlowProcesser +//@Slf4j +//public class AC42FinishProcesseTube extends A8kActionTask { +// +// @Resource +// VirtualDevice virtualDevice; +// +// +// @Resource +// TubePreProcesModuleExCtrlService tubePreProcesCtrlService; +// @Resource +// HbotMoveExCtrlService hbotMoveExCtrlService; +// +// @Resource +// TubeStateMgrService tubeStateMgrService; +// @Resource +// DeviceWorkStateMgrService deviceWorkStateMgrService; +// +// +// public Boolean isReady() { +// Tube tube = tubeStateMgrService.getCurProcessingTube(); +// return tube != null +// && tube.getState().equals(TubeState.PROCESSED) +// ; +// } +// +// public String toDisplayString() { +// return "样本后处理"; +// } +// +// void resetHbotAndShakeModule() throws AppException { +// if (virtualDevice.isEnable()) { +// virtualDevice.doVirtualThings("处理错误试管"); +// virtualDevice.doVirtualThings("复位摇匀模组"); +// virtualDevice.doVirtualThings("复位HBOT"); +// return; +// } +// +// //复位hbot +// if (hbotMoveExCtrlService.isHasTip()) { +// hbotMoveExCtrlService.dropTip(); +// hbotMoveExCtrlService.moveQuickToZero(); +// } +// +// //复位预处理模块 +// tubePreProcesCtrlService.resteModule(); +// } +// +// @Override public List doAction() { +// try { +// Tube tube = tubeStateMgrService.getCurProcessingTube(); +// Assert.isTrue(tube != null, "tube != null"); +// //如果试管状态为ERROR,则复位hbot和预处理模块 +// if (tube.getState().equals(TubeState.ERROR)) { +// resetHbotAndShakeModule(); +// } +// } catch (AppException e) { +// log.error("catch error {}", e.getMessage(), e); +// return ZList.of(e.getError()); +// } +// Tube tube = tubeStateMgrService.getCurProcessingTube(); +// if (ErrorProcessor.isContainError(tube.getErrors(), A8kEcode.APPE_TAKE_TIP_FAIL)) { +// deviceWorkStateMgrService.setPauseActionPending(true); +// } +// +// tubeStateMgrService.changeTubeStateToProcessComplete(); +// return new ArrayList<>(); +// } +// +// +//} diff --git a/src/main/java/a8k/app/service/param/Hbot2DCodeScanParamMgr.java b/src/main/java/a8k/app/service/param/Hbot2DCodeScanParamMgr.java index 4a5c391..a7aac5f 100644 --- a/src/main/java/a8k/app/service/param/Hbot2DCodeScanParamMgr.java +++ b/src/main/java/a8k/app/service/param/Hbot2DCodeScanParamMgr.java @@ -1,7 +1,7 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.Hbot2DCodeScanPos; +import a8k.app.a8ktype.param.hbotpos.Hbot2DCodeScanPos; import a8k.app.a8ktype.device.Pos2d; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; diff --git a/src/main/java/a8k/app/service/param/HbotLargeBottleBSPosMgr.java b/src/main/java/a8k/app/service/param/HbotLargeBottleBSPosMgr.java index 9c67d59..eb5d960 100644 --- a/src/main/java/a8k/app/service/param/HbotLargeBottleBSPosMgr.java +++ b/src/main/java/a8k/app/service/param/HbotLargeBottleBSPosMgr.java @@ -2,7 +2,7 @@ package a8k.app.service.param; import a8k.app.a8ktype.device.ConsumableGroup; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.HbotLargeBottleBSPos; +import a8k.app.a8ktype.param.hbotpos.HbotLargeBottleBSPos; import a8k.app.a8ktype.device.Pos2d; import a8k.app.a8ktype.device.Pos3d; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/app/service/param/HbotLittleBSPosMgr.java b/src/main/java/a8k/app/service/param/HbotLittleBSPosMgr.java index 262ef43..e5a40b6 100644 --- a/src/main/java/a8k/app/service/param/HbotLittleBSPosMgr.java +++ b/src/main/java/a8k/app/service/param/HbotLittleBSPosMgr.java @@ -2,7 +2,7 @@ package a8k.app.service.param; import a8k.app.a8ktype.device.ConsumableGroup; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.HbotLittleBSPos; +import a8k.app.a8ktype.param.hbotpos.HbotLittleBSPos; import a8k.app.a8ktype.device.Pos2d; import a8k.app.a8ktype.device.Pos3d; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/app/service/param/HbotSamplePosParamMgr.java b/src/main/java/a8k/app/service/param/HbotSamplePosParamMgr.java index 7bb7b47..68fbbea 100644 --- a/src/main/java/a8k/app/service/param/HbotSamplePosParamMgr.java +++ b/src/main/java/a8k/app/service/param/HbotSamplePosParamMgr.java @@ -1,8 +1,8 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.A8kSamplePos; -import a8k.app.a8ktype.param.HbotSamplePos; +import a8k.app.a8ktype.param.type.A8kSamplePos; +import a8k.app.a8ktype.param.hbotpos.HbotSamplePos; import a8k.app.a8ktype.device.Pos3d; import jakarta.annotation.PostConstruct; import org.slf4j.Logger; diff --git a/src/main/java/a8k/app/service/param/HbotTipPosMgr.java b/src/main/java/a8k/app/service/param/HbotTipPosMgr.java index 9041d4b..85a0e93 100644 --- a/src/main/java/a8k/app/service/param/HbotTipPosMgr.java +++ b/src/main/java/a8k/app/service/param/HbotTipPosMgr.java @@ -2,7 +2,7 @@ package a8k.app.service.param; import a8k.app.constant.AppConstant; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.HbotTipPosParam; +import a8k.app.a8ktype.param.hbotpos.HbotTipPosParam; import a8k.app.a8ktype.type.TipPosConfig; import a8k.app.a8ktype.device.Pos3d; import a8k.app.a8ktype.device.TipGroup; diff --git a/src/main/java/a8k/app/service/param/OptModuleExtParamsMgr.java b/src/main/java/a8k/app/service/param/OptModuleExtParamsMgr.java index 777ad68..243c402 100644 --- a/src/main/java/a8k/app/service/param/OptModuleExtParamsMgr.java +++ b/src/main/java/a8k/app/service/param/OptModuleExtParamsMgr.java @@ -2,7 +2,7 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.OptModuleExtParam; +import a8k.app.a8ktype.param.optpos.OptModuleExtParam; import a8k.app.dao.db.type.a8kidcard.zenum.A8kOptType; import jakarta.annotation.PostConstruct; import org.slf4j.Logger; diff --git a/src/main/java/a8k/app/service/param/OptModuleParamsMgr.java b/src/main/java/a8k/app/service/param/OptModuleParamsMgr.java index e529f31..ff3fd36 100644 --- a/src/main/java/a8k/app/service/param/OptModuleParamsMgr.java +++ b/src/main/java/a8k/app/service/param/OptModuleParamsMgr.java @@ -2,7 +2,7 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.OptModuleParam; +import a8k.app.a8ktype.param.optpos.OptModuleParam; import jakarta.annotation.PostConstruct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/a8k/app/service/param/PipetteGunLLDParamMgr.java b/src/main/java/a8k/app/service/param/PipetteGunLLDParamMgr.java index 7cd876c..440e7c3 100644 --- a/src/main/java/a8k/app/service/param/PipetteGunLLDParamMgr.java +++ b/src/main/java/a8k/app/service/param/PipetteGunLLDParamMgr.java @@ -2,8 +2,8 @@ package a8k.app.service.param; import a8k.app.hardware.type.LldType; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.PipetteGunLLDThresholdParam; -import a8k.app.a8ktype.param.PipetteGunLLDTypeParam; +import a8k.app.a8ktype.param.pipette.PipetteGunLLDThresholdParam; +import a8k.app.a8ktype.param.pipette.PipetteGunLLDTypeParam; import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/src/main/java/a8k/app/service/param/PipetteGunLLFParamMgr.java b/src/main/java/a8k/app/service/param/PipetteGunLLFParamMgr.java index d9e50d4..416361c 100644 --- a/src/main/java/a8k/app/service/param/PipetteGunLLFParamMgr.java +++ b/src/main/java/a8k/app/service/param/PipetteGunLLFParamMgr.java @@ -1,8 +1,8 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.A8kSamplePos; -import a8k.app.a8ktype.param.PipetteGunLLFParam; +import a8k.app.a8ktype.param.type.A8kSamplePos; +import a8k.app.a8ktype.param.pipette.PipetteGunLLFParam; import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; diff --git a/src/main/java/a8k/app/service/param/TubeFeedingModuleParamMgr.java b/src/main/java/a8k/app/service/param/TubeFeedingModuleParamMgr.java index e6bc8fe..170245f 100644 --- a/src/main/java/a8k/app/service/param/TubeFeedingModuleParamMgr.java +++ b/src/main/java/a8k/app/service/param/TubeFeedingModuleParamMgr.java @@ -1,8 +1,8 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.TubeFeedingModuleSetting; -import a8k.app.a8ktype.param.TubeFeedingModulePos; +import a8k.app.a8ktype.param.tubefeeding.TubeFeedingModuleSetting; +import a8k.app.a8ktype.param.tubefeeding.TubeFeedingModulePos; import jakarta.annotation.PostConstruct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/a8k/app/service/param/TubePreProcesPosParamMgr.java b/src/main/java/a8k/app/service/param/TubePreProcesPosParamMgr.java index d082a8a..ef68bc8 100644 --- a/src/main/java/a8k/app/service/param/TubePreProcesPosParamMgr.java +++ b/src/main/java/a8k/app/service/param/TubePreProcesPosParamMgr.java @@ -1,10 +1,10 @@ package a8k.app.service.param; import a8k.app.service.param.base.ParamMgr; -import a8k.app.a8ktype.param.TubePreProcessGripperPos; -import a8k.app.a8ktype.param.TubePreProcessTubeClamp; -import a8k.app.a8ktype.param.TubePreProcessYPos; -import a8k.app.a8ktype.param.TubePreProcessZAxisPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessGripperPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessTubeClamp; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessYPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessZAxisPos; import jakarta.annotation.PostConstruct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/a8k/app/service/statemgr/TubeStateMgrService.java b/src/main/java/a8k/app/service/statemgr/TubeStateMgrService.java index 7df339a..6c4b870 100644 --- a/src/main/java/a8k/app/service/statemgr/TubeStateMgrService.java +++ b/src/main/java/a8k/app/service/statemgr/TubeStateMgrService.java @@ -315,11 +315,6 @@ public class TubeStateMgrService { curProcessingTube.setState(TubeState.PROCESSING); } - synchronized public void changeTubeStateToProcessed() { - log.info("试管 状态->已处理 SampleId:{}", curProcessingTube.getSampleId()); - curProcessingTube.setState(TubeState.PROCESSED); - } - synchronized public void changeTubeStateToError(List errors) { log.error("试管 状态->错误 SampleId:{} \n{}", curProcessingTube.getSampleId(), ZJsonHelper.objectToJson(errors)); curProcessingTube.setState(TubeState.ERROR); @@ -379,7 +374,9 @@ public class TubeStateMgrService { synchronized public Boolean isTubeholderHasBeenProcessed() { for (Tube tube : tubeHolder.getTubes()) { if ((!tube.getState().equals(TubeState.EMPTY) && - !tube.getState().equals(TubeState.PROCESS_COMPLETE))) { + !tube.getState().equals(TubeState.PROCESS_COMPLETE) && + !tube.getState().equals(TubeState.ERROR) + )) { return false; } } diff --git a/src/main/java/a8k/app/utils/ProjProcessContextUtils.java b/src/main/java/a8k/app/utils/ProjProcessContextUtils.java index 9b3c708..3baeedd 100644 --- a/src/main/java/a8k/app/utils/ProjProcessContextUtils.java +++ b/src/main/java/a8k/app/utils/ProjProcessContextUtils.java @@ -1,19 +1,5 @@ package a8k.app.utils; -import a8k.SpringBootBeanUtil; -import a8k.app.service.statemgr.ProjectContextMgrService; -import a8k.app.a8ktype.state.ProjectTaskContext; -import a8k.app.a8ktype.state.Tube; -import a8k.app.service.exparam.HbotConsumableParamMgr; -import a8k.app.a8ktype.param.A8kSamplePos; -import a8k.app.dao.db.type.a8kidcard.zenum.A8kReactionFlowType; -import a8k.app.a8ktype.device.Pos3d; -import a8k.app.a8ktype.device.A8kTubeHolderType; -import a8k.app.a8ktype.device.BloodType; -import org.springframework.util.Assert; - -import java.util.List; - public class ProjProcessContextUtils { // // public static Integer getShakeTimes(List cxts) { diff --git a/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLargeBottleBSPosCalibration.java b/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLargeBottleBSPosCalibration.java index 548492c..c68a850 100644 --- a/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLargeBottleBSPosCalibration.java +++ b/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLargeBottleBSPosCalibration.java @@ -3,7 +3,7 @@ package a8k.extui.oldpage.pos_calibration; import a8k.app.a8ktype.device.ConsumableGroup; import a8k.extui.mgr.ExtApiPageMgr; import a8k.app.service.lowerctrl.HbotMoveCtrlService; -import a8k.app.a8ktype.param.HbotLargeBottleBSPos; +import a8k.app.a8ktype.param.hbotpos.HbotLargeBottleBSPos; import a8k.app.hardware.driver.HbotDriver; import a8k.app.hardware.driver.PipetteCtrlDriver; import a8k.app.service.lowerctrl.HbotMoveExCtrlService; diff --git a/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLittleBSPosCalibration.java b/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLittleBSPosCalibration.java index 720b4b2..bd19d3a 100644 --- a/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLittleBSPosCalibration.java +++ b/src/main/java/a8k/extui/oldpage/pos_calibration/HbotLittleBSPosCalibration.java @@ -5,7 +5,7 @@ //import a8k.extui.mgr.ExtApiPageMgr; //import a8k.app.service.lowerctrl.HbotMoveCtrlService; //import a8k.app.service.param.HbotLittleBSPosMgr; -//import a8k.app.a8ktype.param.HbotLittleBSPos; +//import a8k.app.a8ktype.param.hbotpos.HbotLittleBSPos; //import a8k.app.hardware.driver.HbotDriver; //import a8k.app.hardware.driver.PipetteCtrlDriver; //import a8k.app.service.lowerctrl.HbotMoveExCtrlService; diff --git a/src/main/java/a8k/extui/oldpage/pos_calibration/OptModuleParamPosCalibration.java b/src/main/java/a8k/extui/oldpage/pos_calibration/OptModuleParamPosCalibration.java index e664f94..8bb7fa0 100644 --- a/src/main/java/a8k/extui/oldpage/pos_calibration/OptModuleParamPosCalibration.java +++ b/src/main/java/a8k/extui/oldpage/pos_calibration/OptModuleParamPosCalibration.java @@ -1,7 +1,7 @@ //package a8k.extui.page.pos_calibration; // //import a8k.app.a8ktype.exception.AppException; -//import a8k.app.a8ktype.param.OptModuleExtParam; +//import a8k.app.a8ktype.param.optpos.OptModuleExtParam; //import a8k.app.dao.db.type.Parameter; //import a8k.app.hardware.driver.StepMotorCtrlDriver; //import a8k.app.hardware.driver.type.StepMotorMId; diff --git a/src/main/java/a8k/extui/oldpage/pos_calibration/TubeFeedingModulePosCalibration.java b/src/main/java/a8k/extui/oldpage/pos_calibration/TubeFeedingModulePosCalibration.java index 0c2e04b..bdf4f61 100644 --- a/src/main/java/a8k/extui/oldpage/pos_calibration/TubeFeedingModulePosCalibration.java +++ b/src/main/java/a8k/extui/oldpage/pos_calibration/TubeFeedingModulePosCalibration.java @@ -10,8 +10,8 @@ import a8k.app.hardware.driver.type.StepMotorMId; import a8k.app.service.lowerctrl.TubeFeedingCtrlService; import a8k.app.service.param.TubeFeedingModuleParamMgr; import a8k.app.dao.db.type.Parameter; -import a8k.app.a8ktype.param.TubeFeedingModulePos; -import a8k.app.a8ktype.param.TubeFeedingModuleSetting; +import a8k.app.a8ktype.param.tubefeeding.TubeFeedingModulePos; +import a8k.app.a8ktype.param.tubefeeding.TubeFeedingModuleSetting; import a8k.app.a8ktype.type.TubeHolderScanResult; import a8k.app.a8ktype.error.AECodeError; import a8k.app.a8ktype.exception.AppException; diff --git a/src/main/java/a8k/extui/oldpage/pos_calibration/TubePreProcesPosCalibration.java b/src/main/java/a8k/extui/oldpage/pos_calibration/TubePreProcesPosCalibration.java index 15e753a..bf785e7 100644 --- a/src/main/java/a8k/extui/oldpage/pos_calibration/TubePreProcesPosCalibration.java +++ b/src/main/java/a8k/extui/oldpage/pos_calibration/TubePreProcesPosCalibration.java @@ -10,10 +10,10 @@ import a8k.app.hardware.extdriver.MotorEnableExDriver; import a8k.app.hardware.extdriver.MotorMoveZeroExDriver; import a8k.app.service.lowerctrl.TubePreProcesModuleCtrlService; import a8k.app.service.param.TubePreProcesPosParamMgr; -import a8k.app.a8ktype.param.TubePreProcessGripperPos; -import a8k.app.a8ktype.param.TubePreProcessTubeClamp; -import a8k.app.a8ktype.param.TubePreProcessYPos; -import a8k.app.a8ktype.param.TubePreProcessZAxisPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessGripperPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessTubeClamp; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessYPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessZAxisPos; import a8k.app.a8ktype.exception.AppException; import a8k.app.utils.ZJsonHelper; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/opt_calibration/OptModuleParamCalibration.java b/src/main/java/a8k/extui/page/opt_calibration/OptModuleParamCalibration.java index 635c657..96904a9 100644 --- a/src/main/java/a8k/extui/page/opt_calibration/OptModuleParamCalibration.java +++ b/src/main/java/a8k/extui/page/opt_calibration/OptModuleParamCalibration.java @@ -1,22 +1,15 @@ package a8k.extui.page.opt_calibration; -import a8k.app.a8ktype.device.BloodType; import a8k.app.a8ktype.device.ConsumableGroup; import a8k.app.a8ktype.device.IncubatorPos; -import a8k.app.a8ktype.type.ReactionResult; import a8k.app.service.lowerctrl.DeviceInitCtrlService; import a8k.extui.mgr.ExtApiPageMgr; import a8k.extui.type.ret.A8kScanCurve; import a8k.extui.type.ExtApiStatu; import a8k.app.service.lowerctrl.OptScanModuleCtrlService; import a8k.app.service.lowerctrl.PlateBoxCtrlService; -import a8k.app.hardware.driver.OptModuleDriver; -import a8k.app.hardware.driver.StepMotorCtrlDriver; -import a8k.app.hardware.driver.type.StepMotorMId; -import a8k.app.hardware.extdriver.MotorEnableExDriver; import a8k.app.service.param.OptModuleExtParamsMgr; -import a8k.app.a8ktype.param.OptModuleExtParam; -import a8k.app.dao.db.type.Parameter; +import a8k.app.a8ktype.param.optpos.OptModuleExtParam; import a8k.app.dao.db.type.a8kidcard.zenum.A8kOptType; import a8k.app.a8ktype.exception.AppException; import a8k.app.utils.ZList; diff --git a/src/main/java/a8k/extui/page/pos_calibration/P02TubeFeedingModulePosCalibrationPage.java b/src/main/java/a8k/extui/page/pos_calibration/P02TubeFeedingModulePosCalibrationPage.java index e0cdedb..87cc596 100644 --- a/src/main/java/a8k/extui/page/pos_calibration/P02TubeFeedingModulePosCalibrationPage.java +++ b/src/main/java/a8k/extui/page/pos_calibration/P02TubeFeedingModulePosCalibrationPage.java @@ -1,7 +1,7 @@ package a8k.extui.page.pos_calibration; -import a8k.app.a8ktype.param.TubeFeedingModulePos; -import a8k.app.a8ktype.param.TubeFeedingModuleSetting; +import a8k.app.a8ktype.param.tubefeeding.TubeFeedingModulePos; +import a8k.app.a8ktype.param.tubefeeding.TubeFeedingModuleSetting; import a8k.app.service.param.TubeFeedingModuleParamMgr; import a8k.extui.mgr.ExtApiPageMgr; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/pos_calibration/P03TubePreProcesPosCalibrationPage.java b/src/main/java/a8k/extui/page/pos_calibration/P03TubePreProcesPosCalibrationPage.java index 8330794..52c60aa 100644 --- a/src/main/java/a8k/extui/page/pos_calibration/P03TubePreProcesPosCalibrationPage.java +++ b/src/main/java/a8k/extui/page/pos_calibration/P03TubePreProcesPosCalibrationPage.java @@ -1,9 +1,9 @@ package a8k.extui.page.pos_calibration; -import a8k.app.a8ktype.param.TubePreProcessGripperPos; -import a8k.app.a8ktype.param.TubePreProcessTubeClamp; -import a8k.app.a8ktype.param.TubePreProcessYPos; -import a8k.app.a8ktype.param.TubePreProcessZAxisPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessGripperPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessTubeClamp; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessYPos; +import a8k.app.a8ktype.param.tubepreprocess.TubePreProcessZAxisPos; import a8k.app.service.param.TubePreProcesPosParamMgr; import a8k.extui.mgr.ExtApiPageMgr; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/pos_calibration/P04ReactionPlatesTransmitControlerCalibrationPage.java b/src/main/java/a8k/extui/page/pos_calibration/P04ReactionPlatesTransmitControlerCalibrationPage.java index 94d4166..ba17edb 100644 --- a/src/main/java/a8k/extui/page/pos_calibration/P04ReactionPlatesTransmitControlerCalibrationPage.java +++ b/src/main/java/a8k/extui/page/pos_calibration/P04ReactionPlatesTransmitControlerCalibrationPage.java @@ -1,6 +1,6 @@ package a8k.extui.page.pos_calibration; -import a8k.app.a8ktype.param.OptModuleParam; +import a8k.app.a8ktype.param.optpos.OptModuleParam; import a8k.app.service.param.OptModuleParamsMgr; import a8k.app.service.param.PlatesBoxPosParamMgr; import a8k.app.service.param.TurntablePosParamMgr; diff --git a/src/main/java/a8k/extui/page/pos_calibration/P21HbotLittleBSPosCalibrationPage.java b/src/main/java/a8k/extui/page/pos_calibration/P21HbotLittleBSPosCalibrationPage.java index db32931..f0aa4ea 100644 --- a/src/main/java/a8k/extui/page/pos_calibration/P21HbotLittleBSPosCalibrationPage.java +++ b/src/main/java/a8k/extui/page/pos_calibration/P21HbotLittleBSPosCalibrationPage.java @@ -1,7 +1,7 @@ package a8k.extui.page.pos_calibration; import a8k.app.a8ktype.device.Pos2d; -import a8k.app.a8ktype.param.HbotLittleBSPos; +import a8k.app.a8ktype.param.hbotpos.HbotLittleBSPos; import a8k.app.service.param.HbotLittleBSPosMgr; import a8k.extui.mgr.ExtApiPageMgr; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/pos_calibration/P23HbotLargeBottleBSPosCalibrationPage.java b/src/main/java/a8k/extui/page/pos_calibration/P23HbotLargeBottleBSPosCalibrationPage.java index 0d0d6f3..ab2893b 100644 --- a/src/main/java/a8k/extui/page/pos_calibration/P23HbotLargeBottleBSPosCalibrationPage.java +++ b/src/main/java/a8k/extui/page/pos_calibration/P23HbotLargeBottleBSPosCalibrationPage.java @@ -1,7 +1,7 @@ package a8k.extui.page.pos_calibration; import a8k.app.a8ktype.device.Pos2d; -import a8k.app.a8ktype.param.HbotLargeBottleBSPos; +import a8k.app.a8ktype.param.hbotpos.HbotLargeBottleBSPos; import a8k.app.service.param.HbotLargeBottleBSPosMgr; import a8k.extui.mgr.ExtApiPageMgr; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/pos_calibration/P25HbotSamplePosCalibrationPage.java b/src/main/java/a8k/extui/page/pos_calibration/P25HbotSamplePosCalibrationPage.java index ea06e19..763ebf4 100644 --- a/src/main/java/a8k/extui/page/pos_calibration/P25HbotSamplePosCalibrationPage.java +++ b/src/main/java/a8k/extui/page/pos_calibration/P25HbotSamplePosCalibrationPage.java @@ -1,9 +1,7 @@ package a8k.extui.page.pos_calibration; -import a8k.app.a8ktype.device.Pos2d; import a8k.app.a8ktype.device.Pos3d; -import a8k.app.a8ktype.param.HbotSamplePos; -import a8k.app.service.param.Hbot2DCodeScanParamMgr; +import a8k.app.a8ktype.param.hbotpos.HbotSamplePos; import a8k.app.service.param.HbotSamplePosParamMgr; import a8k.extui.mgr.ExtApiPageMgr; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/verification/P33HbotSamplePosVerificationPage.java b/src/main/java/a8k/extui/page/verification/P33HbotSamplePosVerificationPage.java index 5ac2d29..6ff57df 100644 --- a/src/main/java/a8k/extui/page/verification/P33HbotSamplePosVerificationPage.java +++ b/src/main/java/a8k/extui/page/verification/P33HbotSamplePosVerificationPage.java @@ -3,7 +3,7 @@ package a8k.extui.page.verification; import a8k.app.a8ktype.exception.AppException; -import a8k.app.a8ktype.param.HbotSamplePos; +import a8k.app.a8ktype.param.hbotpos.HbotSamplePos; import a8k.app.service.lowerctrl.HbotMoveExCtrlService; import a8k.extui.mgr.ExtApiPageMgr; import jakarta.annotation.PostConstruct; diff --git a/src/main/java/a8k/extui/page/verification/P34LiquidOperationTestPage.java b/src/main/java/a8k/extui/page/verification/P34LiquidOperationTestPage.java index 81dede1..271d7c3 100644 --- a/src/main/java/a8k/extui/page/verification/P34LiquidOperationTestPage.java +++ b/src/main/java/a8k/extui/page/verification/P34LiquidOperationTestPage.java @@ -2,7 +2,7 @@ package a8k.extui.page.verification; import a8k.app.a8ktype.device.*; import a8k.app.a8ktype.exception.AppException; -import a8k.app.a8ktype.param.A8kSamplePos; +import a8k.app.a8ktype.param.type.A8kSamplePos; import a8k.app.service.lowerctrl.LiquidOperationCtrlService; import a8k.extui.mgr.ExtApiPageMgr; import a8k.extui.type.ExtUIPageCfg; diff --git a/src/main/java/a8k/extui/page/verification/P51FullFlowVerificationPage.java b/src/main/java/a8k/extui/page/verification/P51FullFlowVerificationPage.java index e42d1df..d9aab30 100644 --- a/src/main/java/a8k/extui/page/verification/P51FullFlowVerificationPage.java +++ b/src/main/java/a8k/extui/page/verification/P51FullFlowVerificationPage.java @@ -2,14 +2,12 @@ package a8k.extui.page.verification; import a8k.OS; import a8k.app.a8kproj.A8kReactionResultComputer; -import a8k.app.a8kproj.optalgo.type.OptScanResult; import a8k.app.a8ktype.device.*; import a8k.app.a8ktype.exception.AppException; -import a8k.app.a8ktype.param.A8kSamplePos; +import a8k.app.a8ktype.param.type.A8kSamplePos; import a8k.app.a8ktype.state.SampleInfo; import a8k.app.a8ktype.type.ReactionResult; import a8k.app.a8ktype.type.TubeHolderScanResult; -import a8k.app.constant.AppConstant; import a8k.app.dao.db.type.ProjExtInfoCard; import a8k.app.dao.db.type.a8kidcard.zenum.A8kOptType; import a8k.app.dao.db.type.a8kidcard.zenum.A8kReactionFlowType;