Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
32660397d3
  1. BIN
      app.db
  2. 2
      src/main/java/a8k/service/app/appctrl/mainflowctrl/MainFlowCtrlScheduler.java
  3. 2
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java
  4. 27
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
  5. 5
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java
  6. 16
      src/main/java/a8k/service/app/appstate/type/Tube.java
  7. 2
      src/main/java/a8k/service/debug/AppDebugHelperService.java
  8. 5
      src/main/java/a8k/type/TubeHolderScanResult.java
  9. 6
      src/main/java/a8k/type/TubesScanResult.java

BIN
app.db

2
src/main/java/a8k/service/app/appctrl/mainflowctrl/MainFlowCtrlScheduler.java

@ -120,7 +120,7 @@ public class MainFlowCtrlScheduler {
A8kErrorContext callFn(A8kStepAction key) { A8kErrorContext callFn(A8kStepAction key) {
beforeDoWhat(key.step); beforeDoWhat(key.step);
try { try {
logger.info("doaction:{}", key.step);
logger.info("执行动作:{}", key.step);
key.doaction(); key.doaction();
return new A8kErrorContext(key.step, null); return new A8kErrorContext(key.step, null);
} catch (AppException appe) { } catch (AppException appe) {

2
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_TUBE.java

@ -75,7 +75,7 @@ public class DO_PROCESS_ERROR_TUBE extends A8kStepAction {
@Override public Boolean checkCondition() { @Override public Boolean checkCondition() {
Boolean cond1 = cms.isCanDoAction(); Boolean cond1 = cms.isCanDoAction();
Boolean cond2 = cms.isHasSometubesToBeProcessed();
Boolean cond2 = cms.isHasSomeErrorTubeToBeProcessed();
return cond1 && cond2; return cond1 && cond2;
} }

27
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java

@ -49,7 +49,7 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
@Resource @Resource
GStateService gstate;
GStateService gstate;
@Resource @Resource
CondtionMgrService cmgr; CondtionMgrService cmgr;
@Resource @Resource
@ -57,15 +57,15 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
@Resource @Resource
AppEventBusService ebus; AppEventBusService ebus;
@Resource @Resource
A8kCanBusService canBus;
A8kCanBusService canBus;
@Resource @Resource
TubeSettingMgrService tubeSettingMgrService;
TubeSettingMgrService tubeSettingMgrService;
@Resource @Resource
TubeStateMgrService tubeStateMgrService;
TubeStateMgrService tubeStateMgrService;
@Resource @Resource
AppProjInfoMgrService appProjInfoMgr;
AppProjInfoMgrService appProjInfoMgr;
@Resource @Resource
AppDebugHelperService appDebugHelper;
AppDebugHelperService appDebugHelper;
TubeHolderScanResult scanTubeHodler() throws AppException { TubeHolderScanResult scanTubeHodler() throws AppException {
@ -209,18 +209,17 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
if (!appDebugHelper.isDebug()) { if (!appDebugHelper.isDebug()) {
scanResult = scanTubeHodler(); scanResult = scanTubeHodler();
if (scanResult == null) {
stc.ejectTubeHolder();
return;
}
} else { } else {
scanResult = appDebugHelper.takeTubeHolderScanResult(); scanResult = appDebugHelper.takeTubeHolderScanResult();
if (scanResult == null) {
return;
}
logger.info("VIRTUAL.DO 扫描到一个试管架:{}", scanResult);
} }
if (scanResult == null) {
if (!appDebugHelper.isDebug())
stc.ejectTubeHolder();
return;
}
logger.info("扫描到一个试管架:{}", scanResult);
logger.info("解析扫描结果"); logger.info("解析扫描结果");
TubeHolder tubeholder = parseScanResult(scanResult); TubeHolder tubeholder = parseScanResult(scanResult);

5
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java

@ -46,7 +46,7 @@ public class SEQ2_SWITCH_TO_THE_NEXT_TUBE extends A8kStepAction {
@Resource @Resource
TubeStateMgrService tubeStateMgrService; TubeStateMgrService tubeStateMgrService;
@Resource @Resource
CondtionMgrService cms;
CondtionMgrService cms;
MainFlowCtrlState state; MainFlowCtrlState state;
@ -75,8 +75,9 @@ public class SEQ2_SWITCH_TO_THE_NEXT_TUBE extends A8kStepAction {
if (appDebugHelperService.isDebug()) { if (appDebugHelperService.isDebug()) {
logger.info("VIRTUAL.DO,移动到下一个试管:{}", tubeIndex); logger.info("VIRTUAL.DO,移动到下一个试管:{}", tubeIndex);
OS.forceSleep(1000); OS.forceSleep(1000);
} else {
sstc.moveTubeToPreProcessPos(tubeIndex);
} }
sstc.moveTubeToPreProcessPos(tubeIndex);
} }

16
src/main/java/a8k/service/app/appstate/type/Tube.java

@ -18,11 +18,11 @@ public class Tube {
public String sampleBarcode = ""; //用于请求用户信息的条码ID public String sampleBarcode = ""; //用于请求用户信息的条码ID
public String userid = ""; //用户输入的样本ID不做逻辑只做展示 public String userid = ""; //用户输入的样本ID不做逻辑只做展示
public List<ProjBriefInfo> projInfo = new ArrayList<>(); //项目信息
public List<ProjBriefInfo> projInfo = new ArrayList<>(); //项目信息
// //
public TubeState state = TubeState.EMPTY; //样本被处理的状态
public List<ProjProcessContext> projProcessContexts;
public A8kEcode ecode = null;
public TubeState state = TubeState.EMPTY; //样本被处理的状态
public List<ProjProcessContext> projProcessContexts = new ArrayList<>();
public A8kEcode ecode = null;
public List<Integer> getProjIndex() { public List<Integer> getProjIndex() {
@ -30,9 +30,9 @@ public class Tube {
} }
Tube() { Tube() {
// ProjBriefInfo info = new ProjBriefInfo(1,"hscrp","CA","#FF0000");
// projInfo.add(info);
// projInfo.add(info);
// projInfo.add(info);
// ProjBriefInfo info = new ProjBriefInfo(1,"hscrp","CA","#FF0000");
// projInfo.add(info);
// projInfo.add(info);
// projInfo.add(info);
} }
} }

2
src/main/java/a8k/service/debug/AppDebugHelperService.java

@ -129,7 +129,7 @@ public class AppDebugHelperService {
@ExtApiFn(name = "A8K试管架.放一个全血试管架", group = "A8K试管架.放一个全血试管架", order = 3) @ExtApiFn(name = "A8K试管架.放一个全血试管架", group = "A8K试管架.放一个全血试管架", order = 3)
public void insertVirtualBloodTubeHolder() { public void insertVirtualBloodTubeHolder() {
TubeHolderScanResult scanResult = new TubeHolderScanResult(); TubeHolderScanResult scanResult = new TubeHolderScanResult();
scanResult.tubeHolderType = A8kTubeHolderType.BloodTube.name();
scanResult.tubeHolderType = A8kTubeHolderType.BloodTube.scanCode;
for (int i = 0; i < scanResult.tube.length; i++) { for (int i = 0; i < scanResult.tube.length; i++) {
scanResult.tube[i] = new TubesScanResult(true, false, "123456"); scanResult.tube[i] = new TubesScanResult(true, false, "123456");
} }

5
src/main/java/a8k/type/TubeHolderScanResult.java

@ -1,7 +1,12 @@
package a8k.type; package a8k.type;
import java.util.Arrays;
public class TubeHolderScanResult { public class TubeHolderScanResult {
public TubesScanResult[] tube = new TubesScanResult[10]; public TubesScanResult[] tube = new TubesScanResult[10];
public String tubeHolderType = ""; public String tubeHolderType = "";
public String toString(){
return String.format("%s %s", tubeHolderType, Arrays.toString(tube));
}
} }

6
src/main/java/a8k/type/TubesScanResult.java

@ -15,6 +15,10 @@ public class TubesScanResult {
} }
public String toString() { public String toString() {
return String.format("isTubeExist:%s,isHighTube:%s,tubeCode:%s", isTubeExist, isHighTube, tubeCode);
if(isTubeExist){
return String.format("%s(%s)", tubeCode, isHighTube ? "High" : "Low");
}else{
return "Null";
}
} }
} }
Loading…
Cancel
Save