34 changed files with 500 additions and 461 deletions
-
4src/main/java/a8k/app/a8ktype/exception/AppException.java
-
13src/main/java/a8k/app/controler/api/v1/app/data/A8kProjectCardControler.java
-
3src/main/java/a8k/app/dao/db/A8kProjExtInfoCardDao.java
-
2src/main/java/a8k/app/factory/FakeReactionResultFactory.java
-
2src/main/java/a8k/app/hardware/basedriver/A8kCanBusService.java
-
6src/main/java/a8k/app/service/background/BackgroudProcessCtrlService.java
-
2src/main/java/a8k/app/service/background/TemperatureCtrlService.java
-
22src/main/java/a8k/app/service/data/ProjIdCardInfoMgrService.java
-
54src/main/java/a8k/app/service/lowerctrl/ConsumablesScanCtrlService.java
-
2src/main/java/a8k/app/service/lowerctrl/DeviceInitCtrlService.java
-
16src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java
-
39src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java
-
104src/main/java/a8k/app/service/lowerctrl/ProjIDCardCtrlAndMonitorService.java
-
147src/main/java/a8k/app/service/lowerctrl/TubeFeedingCtrlService.java
-
2src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/DO_FINISH_TUBE_PROCESS.java
-
4src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/DO_PROCESS_ERROR_PLATE.java
-
8src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/PLATE_OPT_SCAN.java
-
2src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java
-
25src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
-
2src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java
-
4src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/SEQ5_PROCESS.java
-
4src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/SEQ7_EJECT_TUBEHOLDER.java
-
2src/main/java/a8k/app/service/mainctrl/mainflowctrl/processer/MainFlowStateChangeProcesser.java
-
41src/main/java/a8k/app/service/statemgr/GStateMgrService.java
-
8src/main/java/a8k/app/utils/ZAppChecker.java
-
65src/main/java/a8k/extui/page/test/MainflowCtrlTestService.java
-
16src/main/java/a8k/extui/page/test/VirtualDeviceSimulationTest.java
-
18src/main/java/a8k/teststate/TestModeState.java
-
25src/main/java/a8k/teststate/TestStateMgrService.java
-
40src/main/java/a8k/teststate/VirtualDevice.java
-
22src/main/java/a8k/teststate/state/TestModeState.java
-
93src/main/java/a8k/teststate/state/VirtualDevice.java
@ -1,4 +1,4 @@ |
|||
package a8k.teststate.factory; |
|||
package a8k.app.factory; |
|||
|
|||
import a8k.app.dao.db.type.a8kidcard.zenum.A8kResultUnit; |
|||
import a8k.app.a8ktype.type.ReactionResult; |
@ -0,0 +1,18 @@ |
|||
package a8k.teststate; |
|||
|
|||
import a8k.app.a8ktype.type.TubeHolderScanResult; |
|||
import lombok.Data; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@Data |
|||
public class TestModeState { |
|||
|
|||
// Boolean noCheckMode = false; //无校验模式 |
|||
// Boolean disableOptScan = false; //是否使能光学扫描 |
|||
|
|||
// public void resetAll() { |
|||
// noCheckMode = false; |
|||
// disableOptScan = false; |
|||
// } |
|||
} |
@ -0,0 +1,40 @@ |
|||
package a8k.teststate; |
|||
|
|||
import a8k.OS; |
|||
import a8k.app.dao.db.type.ProjExtInfoCard; |
|||
import a8k.app.a8ktype.type.ConsumableOneChRawResult; |
|||
import a8k.app.a8ktype.type.ConsumableScanRawResult; |
|||
import a8k.app.a8ktype.type.TubeHolderScanResult; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Slf4j |
|||
@Component |
|||
public class VirtualDevice { |
|||
@Value("${VirtualDevice.enableVirtualDevice:true}") |
|||
Boolean enableVirtualDevice; |
|||
|
|||
synchronized public Boolean isEnable() { |
|||
return enableVirtualDevice; |
|||
} |
|||
|
|||
synchronized public void setEnableVirtualDevice(Boolean enable) { |
|||
this.enableVirtualDevice = enable; |
|||
} |
|||
|
|||
// |
|||
// Action |
|||
// |
|||
public void doVirtualThings(String msg) { |
|||
for (int i = 0; i < 3; i++) { |
|||
log.info("DO {}[{}%] ", msg, i / 3.0 * 100); |
|||
OS.forceSleep(1000); |
|||
} |
|||
log.info("{} done", msg); |
|||
} |
|||
|
|||
|
|||
} |
@ -1,22 +0,0 @@ |
|||
package a8k.teststate.state; |
|||
|
|||
import a8k.app.a8ktype.type.TubeHolderScanResult; |
|||
import lombok.Data; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@Data |
|||
public class TestModeState { |
|||
|
|||
Boolean noCheckMode = false; //无校验模式 |
|||
Boolean disableOptScan = false; //是否使能光学扫描 |
|||
|
|||
// @JsonIgnore |
|||
TubeHolderScanResult virtualTubeScanResult = null; // 虚拟管架扫描结果 |
|||
|
|||
public void resetAll() { |
|||
noCheckMode = false; |
|||
disableOptScan = false; |
|||
virtualTubeScanResult = null; |
|||
} |
|||
} |
@ -1,93 +0,0 @@ |
|||
package a8k.teststate.state; |
|||
|
|||
import a8k.OS; |
|||
import a8k.app.dao.db.type.ProjExtInfoCard; |
|||
import a8k.app.a8ktype.type.ConsumableOneChRawResult; |
|||
import a8k.app.a8ktype.type.ConsumableScanRawResult; |
|||
import a8k.app.a8ktype.type.TubeHolderScanResult; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Slf4j |
|||
@Component |
|||
public class VirtualDevice { |
|||
|
|||
// |
|||
// 挂载的ID卡 |
|||
// |
|||
|
|||
@Setter |
|||
@Getter |
|||
ProjExtInfoCard mountIdCard; |
|||
|
|||
public Boolean isMountIdCard() { |
|||
return mountIdCard != null; |
|||
} |
|||
|
|||
|
|||
// |
|||
// 是否启用虚拟设备 |
|||
// |
|||
|
|||
@Value("${VirtualDevice.enableVirtualDevice:true}") |
|||
@Setter |
|||
Boolean enableVirtualDevice; |
|||
|
|||
public Boolean isEnable() { |
|||
return enableVirtualDevice; |
|||
} |
|||
|
|||
// |
|||
// 虚拟试管架 |
|||
// |
|||
@Setter |
|||
TubeHolderScanResult tubeScanResult = null; |
|||
|
|||
public TubeHolderScanResult takeTubeHolderScanResult() { |
|||
var ret = tubeScanResult; |
|||
tubeScanResult = null; |
|||
return ret; |
|||
} |
|||
|
|||
public Boolean isTubeHolderReady() { |
|||
return tubeScanResult != null; |
|||
} |
|||
|
|||
|
|||
// |
|||
// 虚拟试耗材扫描结果 |
|||
// |
|||
|
|||
ConsumableOneChRawResult[] consumablesScanResultTable = new ConsumableOneChRawResult[6]; |
|||
|
|||
public ConsumableOneChRawResult getConsumablesScanResult(Integer ch) { |
|||
return consumablesScanResultTable[ch]; |
|||
} |
|||
|
|||
public void setConsumablesScanResult(Integer ch, ConsumableOneChRawResult result) { |
|||
consumablesScanResultTable[ch] = result; |
|||
} |
|||
|
|||
public ConsumableScanRawResult getConsumablesScanRawResult() { |
|||
var ret = new ConsumableScanRawResult(); |
|||
ret.ch = consumablesScanResultTable; |
|||
return ret; |
|||
} |
|||
|
|||
|
|||
// |
|||
// Action |
|||
// |
|||
public void doVirtualThings(String msg) { |
|||
for (int i = 0; i < 3; i++) { |
|||
log.info("DO {}[{}%] ", msg, i / 3.0 * 100); |
|||
OS.forceSleep(1000); |
|||
} |
|||
log.info("{} done", msg); |
|||
} |
|||
|
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue