Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
3afa4d9225
  1. 16
      src/main/java/a8k/service/appctrl/AppDeviceCtrlService.java
  2. 11
      src/main/java/a8k/service/appctrl/MainFlowCtrlService.java
  3. 13
      src/main/java/a8k/service/appstate/type/MainFlowCtrlState.java

16
src/main/java/a8k/service/appctrl/AppDeviceCtrlService.java

@ -4,6 +4,7 @@ import a8k.controler.extapi.pagecontrol.ExtApiTabConfig;
import a8k.controler.extapi.utils.ExtApiFn;
import a8k.controler.extapi.utils.ExtApiTab;
import a8k.service.appctrl.action.base.A8kStepAction;
import a8k.service.appstate.type.MainFlowCtrlState;
import a8k.service.appstate.type.TubeHolder;
import a8k.type.ConsumableGroup;
import a8k.type.checkpoint.CheckResult;
@ -88,22 +89,13 @@ public class AppDeviceCtrlService {
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@ExtApiFn(name = "获取设备工作状态", group = "设备状态")
public ObjectNode getDeviceWorkState() {
ObjectMapper mapper = new ObjectMapper();
ObjectNode json = new ObjectNode(mapper.getNodeFactory());
json.put("mainFlowCtrlState", mapper.valueToTree(gstate.mainFlowCtrlState));
json.put("globalWorkState", mapper.valueToTree(gstate.getWorkState()));
return json;
public MainFlowCtrlState getDeviceWorkState() {
return gstate.mainFlowCtrlState;
}
@ExtApiFn(name = "设备是否正在切换状态中", group = "设备状态")
public Boolean deviceWorkStateIsChanging() {
A8kWorkState workState = gstate.getWorkState();
A8kWorkState sampleScanServiceWorkState = gstate.mainFlowCtrlState.workState;
if (!workState.equals(sampleScanServiceWorkState)) {
return true;
}
return false;
return gstate.mainFlowCtrlState.isPending();
}
@ExtApiFn(name = "获取运行步骤状态", group = "设备状态")

11
src/main/java/a8k/service/appctrl/MainFlowCtrlService.java

@ -8,6 +8,7 @@ import a8k.service.appctrl.type.A8kErrorContext;
import a8k.service.appstate.GStateService;
import a8k.service.appstate.type.MainFlowCtrlState;
import a8k.service.appstate.type.state.A8kWorkState;
import a8k.service.appstate.type.state.TubeState;
import com.iflytop.a800.SpringBootBeanUtil;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
@ -64,6 +65,13 @@ public class MainFlowCtrlService {
state.workState = workState;
}
Boolean isAllowPause() {
return gstate.getCurProcessingTube() == null ||
gstate.getCurProcessingTube().state.equals(TubeState.TO_BE_PROCESSED) ||
gstate.getCurProcessingTube().state.equals(TubeState.PROCESS_COMPLETE) ||
gstate.getCurProcessingTube().state.equals(TubeState.EMPTY);
}
void checkBeforeGuess() {
MainFlowCtrlState state = gstate.getMainFlowCtrlState();
if (state.startActionPending) {
@ -73,6 +81,9 @@ public class MainFlowCtrlService {
}
changeWorkState(A8kWorkState.WORKING);
} else if (state.pauseActionPending) {
if(!isAllowPause()){
return;
}
if (state.workState != A8kWorkState.WORKING) {
state.pauseActionPending = false;
return;

13
src/main/java/a8k/service/appstate/type/MainFlowCtrlState.java

@ -2,6 +2,7 @@ package a8k.service.appstate.type;
import a8k.service.appctrl.type.A8kErrorContext;
import a8k.service.appstate.type.state.A8kWorkState;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.ArrayList;
import java.util.List;
@ -12,11 +13,23 @@ public class MainFlowCtrlState {
public Boolean fatalErrorFlag = false; //致命错误标志
public List<A8kErrorContext> ecodeList = new ArrayList<>();
@JsonIgnore
public Boolean workStateChangeFlag = false; //工作状态变化标志
@JsonIgnore
public A8kWorkState lastWorkState = A8kWorkState.IDLE; //上一个工作状态
@JsonIgnore
public Boolean stopActionPending = false; //停止动作等待
@JsonIgnore
public Boolean pauseActionPending = false; //暂停动作等待
@JsonIgnore
public Boolean resumeActionPending = false; //恢复动作等待
@JsonIgnore
public Boolean startActionPending = false; //开始动作等待
public Boolean isPending() {
Boolean condition1 = stopActionPending || pauseActionPending || resumeActionPending || startActionPending;
Boolean condition2 = workStateChangeFlag;
return condition1 || condition2;
}
}
Loading…
Cancel
Save