Browse Source

update

tags/v0
zhaohe 7 months ago
parent
commit
07fd54bff5
  1. 9
      src/main/java/a8k/app/a8ktype/error/AppError.java
  2. 2
      src/main/java/a8k/app/a8ktype/state/DeviceWorkState.java
  3. 1
      src/main/java/a8k/app/hardware/type/a8kcanprotocol/A8kEcode.java
  4. 5
      src/main/java/a8k/app/service/mainctrl/mainflowctrl/MainFlowCtrlScheduler.java
  5. 13
      src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/P30ScanTubeHolderTask.java
  6. 7
      src/main/java/a8k/app/service/statemgr/DeviceWorkStateMgrService.java
  7. 7
      src/main/java/a8k/extui/page/frond_end_test/VirtualEventGeneratorPage.java

9
src/main/java/a8k/app/a8ktype/error/AppError.java

@ -27,4 +27,13 @@ public class AppError implements Serializable {
public String toString() {
return ZJsonHelper.objectToJson(this);
}
public Boolean eq(A8kEcode... ecode) {
for (A8kEcode e : ecode) {
if (e == code) {
return true;
}
}
return false;
}
}

2
src/main/java/a8k/app/a8ktype/state/DeviceWorkState.java

@ -26,6 +26,8 @@ public class DeviceWorkState implements Serializable {
public Boolean resumeActionPending = false; //恢复动作等待
public Boolean startActionPending = false; //开始动作等待
public Boolean consumeNotEnoughErrorFlag = false;
@Schema(description = "当前状态是否切换完成")
public Boolean isPending() {
return stopActionPending || pauseActionPending || resumeActionPending || startActionPending;

1
src/main/java/a8k/app/hardware/type/a8kcanprotocol/A8kEcode.java

@ -216,4 +216,5 @@ public enum A8kEcode {
}
}

5
src/main/java/a8k/app/service/mainctrl/mainflowctrl/MainFlowCtrlScheduler.java

@ -103,22 +103,25 @@ public class MainFlowCtrlScheduler implements ApplicationListener<ApplicationSta
synchronized public void startWork() throws AppException {
checkBeforeCall();
deviceWorkStateMgrService.setStartActionPending(true);
deviceWorkStateMgrService.setConsumeNotEnoughErrorFlag(false);
}
synchronized public void stopWork() throws AppException {
checkBeforeCall();
deviceWorkStateMgrService.setStopActionPending(true);
deviceWorkStateMgrService.setConsumeNotEnoughErrorFlag(false);
}
synchronized public void pauseWork() throws AppException {
checkBeforeCall();
deviceWorkStateMgrService.setPauseActionPending(true);
deviceWorkStateMgrService.setConsumeNotEnoughErrorFlag(false);
}
synchronized public void continueWork() throws AppException {
checkBeforeCall();
deviceWorkStateMgrService.setResumeActionPending(true);
deviceWorkStateMgrService.setConsumeNotEnoughErrorFlag(false);
}
A8kActionTask guessNextAction() {

13
src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/P30ScanTubeHolderTask.java

@ -87,7 +87,9 @@ public class P30ScanTubeHolderTask extends A8kActionTask {
}
public Boolean isReady() {
return tubeStateMgrService.isTubeHolderProcessCompleted() && getTubeholderEnterPosPPS();
return tubeStateMgrService.isTubeHolderProcessCompleted() &&
getTubeholderEnterPosPPS() &&
!deviceWorkStateMgrService.getDeviceWorkState().consumeNotEnoughErrorFlag;
}
public String toDisplayString() {
@ -133,10 +135,6 @@ public class P30ScanTubeHolderTask extends A8kActionTask {
}
//TODO:添加请求后台的代码
//
// state.tubeStates[i].bloodType = ;
// state.tubeStates[i].sampleBarcode = setting.tubeSettings[i].sampleBarcode;
// state.tubeStates[i].userid = setting.tubeSettings[i].userid;
// state.tubeStates[i].projId = setting.tubeSettings[i].projId;
if (tube.getProjIds().isEmpty()) {
log.warn("试管{}待做项目为空", i);
}
@ -215,6 +213,9 @@ public class P30ScanTubeHolderTask extends A8kActionTask {
//添加试管架到系统中
AppError error = tubeStateMgrService.newTubeHolder(tubeholder);
if (error != null) {
if (error.eq(A8kEcode.APPE_CONSUME_NOT_ENOUGH, A8kEcode.APPE_TIP_NOT_ENOUGH)) {
deviceWorkStateMgrService.setConsumeNotEnoughErrorFlag(true);
}
ebus.pushEvent(new AppWarningNotifyEvent(error));
doEjectHodler();
return false;
@ -229,7 +230,7 @@ public class P30ScanTubeHolderTask extends A8kActionTask {
public List<AppError> doAction() {
//获取试管架配置
TubeHolderSetting tubeSetting = tubeSettingMgrService.getThelastActiveTubeHolderSettingAndLock();
Boolean suc = false;
Boolean suc;
try {
suc = priDoAction(tubeSetting);
} catch (AppException e) {

7
src/main/java/a8k/app/service/statemgr/DeviceWorkStateMgrService.java

@ -62,5 +62,12 @@ public class DeviceWorkStateMgrService {
deviceWorkState.fatalErrorFlag = fatalErrorFlag;
}
synchronized public void setConsumeNotEnoughErrorFlag(Boolean consumeNotEnoughErrorFlag) {
deviceWorkState.consumeNotEnoughErrorFlag = consumeNotEnoughErrorFlag;
}
synchronized public Boolean getConsumeNotEnoughErrorFlag() {
return deviceWorkState.consumeNotEnoughErrorFlag;
}
}

7
src/main/java/a8k/extui/page/frond_end_test/VirtualEventGeneratorPage.java

@ -1,18 +1,13 @@
package a8k.extui.page.frond_end_test;
import a8k.app.a8ktype.appevent.*;
import a8k.app.a8ktype.error.AEConsumeNotEnoughError;
import a8k.app.a8ktype.error.AETubeError;
import a8k.app.a8ktype.ui.*;
import a8k.app.factory.ZAppPromoptFactory;
import a8k.app.service.bases.AppEventBusService;
import a8k.app.service.bases.FrontEndMessageBoxAndEventMgr;
import a8k.app.service.statemgr.ConsumableStateAnalyzer;
import a8k.extui.mgr.ExtApiPageMgr;
import a8k.extui.type.ExtUIPageCfg;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
@ -26,8 +21,6 @@ public class VirtualEventGeneratorPage {
@Resource
ExtApiPageMgr extApiPageMgr;
ZAppPromoptTable buildZAppPromoptTable() {
ZAppPromoptTable table = new ZAppPromoptTable();
table.addHeader("耗材名称", "需求量", "使用量");

Loading…
Cancel
Save