Browse Source

update

tags/v0
zhaohe 9 months ago
parent
commit
2bcc86e23c
  1. 24
      src/main/java/a8k/controler/api_v1/app/ApiRetTestControler.java
  2. 20
      src/main/java/a8k/hardware/A8kCanBusService.java
  3. 4
      src/main/java/a8k/service/app/appctrl/mainflowctrl/MainFlowCtrlScheduler.java
  4. 4
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
  5. 4
      src/main/java/a8k/service/app/devicectrl/driver/MiniServoDriver.java
  6. 4
      src/main/java/a8k/service/app/devicectrl/param/calibration/TubeFeedingModulePosCalibration.java
  7. 4
      src/main/java/a8k/service/test/MainflowCtrlTestService.java
  8. 12
      src/main/java/a8k/service/test/VirtualDeviceSimulationTest.java
  9. 8
      src/main/java/a8k/type/appret/ApiV1Ret.java
  10. 9
      src/main/java/a8k/type/appret/AppRetV1.java
  11. 7
      src/main/java/a8k/type/ecode/AECodeError.java
  12. 4
      src/main/java/a8k/type/ecode/AECommonError.java
  13. 4
      src/main/java/a8k/type/ecode/AEConsumeNotEnoughError.java
  14. 4
      src/main/java/a8k/type/ecode/AEHardwareError.java
  15. 4
      src/main/java/a8k/type/ecode/AETubeError.java
  16. 4
      src/main/java/a8k/type/ecode/AEUnkownExceptionError.java
  17. 14
      src/main/java/a8k/type/exception/AppException.java
  18. 8
      src/main/java/a8k/utils/AppExceptionBuilder.java
  19. 4
      src/main/java/a8k/utils/ZASSERT.java

24
src/main/java/a8k/controler/api_v1/app/ApiRetTestControler.java

@ -29,49 +29,49 @@ public class ApiRetTestControler {
@Operation(description = "获取硬件错误返回值,此类错误为底层发生的硬件错误") @Operation(description = "获取硬件错误返回值,此类错误为底层发生的硬件错误")
@PostMapping("getHardwareError") @PostMapping("getHardwareError")
public ApiV1Ret<AppHardwareError> getAppHardwareError() {
public ApiV1Ret<AEHardwareError> getAppHardwareError() {
return ApiV1Ret.fail(// return ApiV1Ret.fail(//
new AppHardwareError(A8kEcode.LOW_ERROR_DEVICE_IS_BUSY, MId.PipetteMod, CmdId.a8k_opt_v2_f_close_laster));
new AEHardwareError(A8kEcode.LOW_ERROR_DEVICE_IS_BUSY, MId.PipetteMod, CmdId.a8k_opt_v2_f_close_laster));
} }
@Operation(description = "获取代码错误返回值,此类错误为代码逻辑错误") @Operation(description = "获取代码错误返回值,此类错误为代码逻辑错误")
@PostMapping("getAppCodeError") @PostMapping("getAppCodeError")
public ApiV1Ret<AppCodeError> getAppCodeError() {
public ApiV1Ret<AECodeError> getAppCodeError() {
return ApiV1Ret.fail(// return ApiV1Ret.fail(//
new AppCodeError("代码错误,这里显示的是提示信息")
new AECodeError("代码错误,这里显示的是提示信息")
); );
} }
@Operation(description = "获取通用错误返回值") @Operation(description = "获取通用错误返回值")
@PostMapping("getAppComonError") @PostMapping("getAppComonError")
public ApiV1Ret<AppCommonError> getAppComonError() {
public ApiV1Ret<AECommonError> getAppComonError() {
return ApiV1Ret.fail(// return ApiV1Ret.fail(//
new AppCommonError("和AppCodeError类似,只不过这个可能是一些通用错误,一般用户碰不到该错误,只是为了方便开发人员排查问题")
new AECommonError("和AppCodeError类似,只不过这个可能是一些通用错误,一般用户碰不到该错误,只是为了方便开发人员排查问题")
); );
} }
@Operation(description = "获取消耗不足错误返回值,此类错误需要前端提示用户缺少了哪个项目的耗材") @Operation(description = "获取消耗不足错误返回值,此类错误需要前端提示用户缺少了哪个项目的耗材")
@PostMapping("getConsumeNotEnoughError") @PostMapping("getConsumeNotEnoughError")
public ApiV1Ret<AppConsumeNotEnoughError> getConsumeNotEnoughError() {
public ApiV1Ret<AEConsumeNotEnoughError> getConsumeNotEnoughError() {
return ApiV1Ret.fail(// return ApiV1Ret.fail(//
new AppConsumeNotEnoughError("hscrp(项目名称)")
new AEConsumeNotEnoughError("hscrp(项目名称)")
); );
} }
@Operation(description = "获取试管错误,此错误发生在试管处理过程中(扫描,脱帽,盖帽,摇匀),此错误,需要提示用户,是第几个试管发生了错误") @Operation(description = "获取试管错误,此错误发生在试管处理过程中(扫描,脱帽,盖帽,摇匀),此错误,需要提示用户,是第几个试管发生了错误")
@PostMapping("getTubeError") @PostMapping("getTubeError")
public ApiV1Ret<TubeError> getTubeError() {
public ApiV1Ret<AETubeError> getTubeError() {
return ApiV1Ret.fail(// return ApiV1Ret.fail(//
new TubeError(A8kEcode.APPE_PROJ_INFO_IS_NOT_EXIST, 6)
new AETubeError(A8kEcode.APPE_PROJ_INFO_IS_NOT_EXIST, 6)
); );
} }
@Operation(description = "获取未知异常错误,此错误发生在,当后台没有捕获到某些异常时,目的是为了辅助后端找到代码BUG,需要显示详细的栈信息") @Operation(description = "获取未知异常错误,此错误发生在,当后台没有捕获到某些异常时,目的是为了辅助后端找到代码BUG,需要显示详细的栈信息")
@PostMapping("getUnkownExceptionError") @PostMapping("getUnkownExceptionError")
public ApiV1Ret<UnkownExceptionError> getUnkownExceptionError() {
public ApiV1Ret<AEUnkownExceptionError> getUnkownExceptionError() {
var exception = new AppException(A8kEcode.CODEERROR); var exception = new AppException(A8kEcode.CODEERROR);
return ApiV1Ret.fail(// return ApiV1Ret.fail(//
new UnkownExceptionError(exception)
new AEUnkownExceptionError(exception)
); );
} }
} }

20
src/main/java/a8k/hardware/A8kCanBusService.java

@ -7,7 +7,7 @@ import a8k.type.PlateInfo;
import a8k.hardware.custom_param_mgr.A8kModCustomParamMgr; import a8k.hardware.custom_param_mgr.A8kModCustomParamMgr;
import a8k.hardware.type.a8kcanprotocol.*; import a8k.hardware.type.a8kcanprotocol.*;
import a8k.hardware.type.a8kcanprotocol.MId; import a8k.hardware.type.a8kcanprotocol.MId;
import a8k.type.ecode.AppHardwareError;
import a8k.type.ecode.AEHardwareError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import a8k.service.bases.appevent.A8kHardwareReport; import a8k.service.bases.appevent.A8kHardwareReport;
import a8k.OS; import a8k.OS;
@ -307,7 +307,7 @@ public class A8kCanBusService {
} else if (ioid.mtype == ModuleType.kmini_servo_motor_module) { } else if (ioid.mtype == ModuleType.kmini_servo_motor_module) {
return callcmd(ioid.mid.toInt(), CmdId.mini_servo_read_io_state.toInt(), ioid.ioIndex).getContentI32(0) != 0; return callcmd(ioid.mid.toInt(), CmdId.mini_servo_read_io_state.toInt(), ioid.ioIndex).getContentI32(0) != 0;
} else { } else {
throw AppException.of(new AppHardwareError(A8kEcode.CODEERROR_ILLEGAL_OPERATION, ioid.mid, null));
throw AppException.of(new AEHardwareError(A8kEcode.CODEERROR_ILLEGAL_OPERATION, ioid.mid, null));
} }
} }
@ -329,7 +329,7 @@ public class A8kCanBusService {
callcmd(ioid.mid.toInt(), CmdId.extboard_write_outio.toInt(), ioid.ioIndex, val ? 1 : 0); callcmd(ioid.mid.toInt(), CmdId.extboard_write_outio.toInt(), ioid.ioIndex, val ? 1 : 0);
} else { } else {
// throw new AppException(ioid.mid, A8kEcode.IllegalOperation.index); // throw new AppException(ioid.mid, A8kEcode.IllegalOperation.index);
throw AppException.of(new AppHardwareError(A8kEcode.CODEERROR_ILLEGAL_OPERATION, ioid.mid, null));
throw AppException.of(new AEHardwareError(A8kEcode.CODEERROR_ILLEGAL_OPERATION, ioid.mid, null));
} }
} }
@ -356,7 +356,7 @@ public class A8kCanBusService {
} else if (statu == ModuleStatus.ERROR) { } else if (statu == ModuleStatus.ERROR) {
logger.error("{} waitting for action {} , catch error {}", mid, action, moduleGetError(mid)); logger.error("{} waitting for action {} , catch error {}", mid, action, moduleGetError(mid));
// throw new AppException(mid, moduleGetError(mid)); // throw new AppException(mid, moduleGetError(mid));
throw AppException.of(new AppHardwareError(moduleGetError(mid), mid, null));
throw AppException.of(new AEHardwareError(moduleGetError(mid), mid, null));
} }
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
@ -367,7 +367,7 @@ public class A8kCanBusService {
} catch (AppException ignored) { } catch (AppException ignored) {
} }
// throw new AppException(mid, A8kEcode.ActionOvertime.index); // throw new AppException(mid, A8kEcode.ActionOvertime.index);
throw AppException.of(new AppHardwareError(A8kEcode.LOW_ERROR_ACTION_OVERTIME, mid, null));
throw AppException.of(new AEHardwareError(A8kEcode.LOW_ERROR_ACTION_OVERTIME, mid, null));
} }
OS.hsleep(100); OS.hsleep(100);
} while (true); } while (true);
@ -408,7 +408,7 @@ public class A8kCanBusService {
logger.error("send cmd {} fail, retry {}", pack, i); logger.error("send cmd {} fail, retry {}", pack, i);
} }
// throw new AppException(MId.valueOf(pack.getModuleId()), A8kEcode.LOW_ERROR_OVERTIME.index); // throw new AppException(MId.valueOf(pack.getModuleId()), A8kEcode.LOW_ERROR_OVERTIME.index);
throw AppException.of(new AppHardwareError(A8kEcode.LOW_ERROR_OVERTIME, MId.valueOf(pack.getModuleId()), CmdId.valueOf(pack.getCmdId())));
throw AppException.of(new AEHardwareError(A8kEcode.LOW_ERROR_OVERTIME, MId.valueOf(pack.getModuleId()), CmdId.valueOf(pack.getCmdId())));
} }
@ -426,7 +426,7 @@ public class A8kCanBusService {
CmdId cmdid = CmdId.valueOf(pack.getCmdId()); CmdId cmdid = CmdId.valueOf(pack.getCmdId());
if (cmdid == null) { if (cmdid == null) {
// throw new AppException(MId.valueOf(pack.getModuleId()), A8kEcode.CmdNotSupport.index); // throw new AppException(MId.valueOf(pack.getModuleId()), A8kEcode.CmdNotSupport.index);
throw AppException.of(new AppHardwareError(A8kEcode.CODEERROR_CMD_NOT_SUPPORT, MId.valueOf(pack.getModuleId()), null));
throw AppException.of(new AEHardwareError(A8kEcode.CODEERROR_CMD_NOT_SUPPORT, MId.valueOf(pack.getModuleId()), null));
} }
if (debugFlag && pack.isTrace()) { if (debugFlag && pack.isTrace()) {
String packstr = pack.toString(); String packstr = pack.toString();
@ -444,15 +444,15 @@ public class A8kCanBusService {
receipt = receiptQueue.poll(overtime, TimeUnit.MILLISECONDS); receipt = receiptQueue.poll(overtime, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) { } catch (InterruptedException e) {
isWaitingReceipt = false; isWaitingReceipt = false;
throw AppException.of(new AppHardwareError(A8kEcode.LOW_ERROR_OVERTIME, MId.valueOf(pack.getModuleId()), CmdId.valueOf(pack.getCmdId())));
throw AppException.of(new AEHardwareError(A8kEcode.LOW_ERROR_OVERTIME, MId.valueOf(pack.getModuleId()), CmdId.valueOf(pack.getCmdId())));
} }
isWaitingReceipt = false; isWaitingReceipt = false;
if (receipt == null) { if (receipt == null) {
throw AppException.of(new AppHardwareError(A8kEcode.LOW_ERROR_OVERTIME, MId.valueOf(pack.getModuleId()), CmdId.valueOf(pack.getCmdId())));
throw AppException.of(new AEHardwareError(A8kEcode.LOW_ERROR_OVERTIME, MId.valueOf(pack.getModuleId()), CmdId.valueOf(pack.getCmdId())));
} }
if (receipt.getPacketType() == A8kPacket.PACKET_TYPE_ERROR_ACK) { if (receipt.getPacketType() == A8kPacket.PACKET_TYPE_ERROR_ACK) {
throw AppException.of(new AppHardwareError(A8kEcode.fromInt(receipt.getContentI32(0)),
throw AppException.of(new AEHardwareError(A8kEcode.fromInt(receipt.getContentI32(0)),
MId.valueOf(pack.getModuleId()), MId.valueOf(pack.getModuleId()),
CmdId.valueOf(pack.getCmdId()))); CmdId.valueOf(pack.getCmdId())));
} }

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

@ -10,7 +10,7 @@ import a8k.service.app.appctrl.mainflowctrl.base.A8kStepAction;
import a8k.service.app.appstate.GStateService; import a8k.service.app.appstate.GStateService;
import a8k.service.app.appstate.ResourceMgrService; import a8k.service.app.appstate.ResourceMgrService;
import a8k.service.app.appstate.type.DeviceWorkState; import a8k.service.app.appstate.type.DeviceWorkState;
import a8k.type.ecode.UnkownExceptionError;
import a8k.type.ecode.AEUnkownExceptionError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import a8k.type.exception.MutiAppException; import a8k.type.exception.MutiAppException;
import a8k.utils.ZStringUtils; import a8k.utils.ZStringUtils;
@ -145,7 +145,7 @@ public class MainFlowCtrlScheduler {
for (StackTraceElement stackTraceElement : exception.getStackTrace()) { for (StackTraceElement stackTraceElement : exception.getStackTrace()) {
logger.error("{}", stackTraceElement); logger.error("{}", stackTraceElement);
} }
return new A8kErrorContext(key.step, new UnkownExceptionError(exception));
return new A8kErrorContext(key.step, new AEUnkownExceptionError(exception));
} finally { } finally {
logger.info("{}------<", ZStringUtils.leftAlignStr(key.step.name(), '-', 35)); logger.info("{}------<", ZStringUtils.leftAlignStr(key.step.name(), '-', 35));
} }

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

@ -21,7 +21,7 @@ import a8k.service.app.devicectrl.ctrlservice.TubeFeedingCtrlService;
import a8k.service.test.state.TestModeState; import a8k.service.test.state.TestModeState;
import a8k.service.test.state.VirtualDevice; import a8k.service.test.state.VirtualDevice;
import a8k.type.TubeHolderScanResult; import a8k.type.TubeHolderScanResult;
import a8k.type.ecode.TubeError;
import a8k.type.ecode.AETubeError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import a8k.type.tube_setting.TubeHolderSetting; import a8k.type.tube_setting.TubeHolderSetting;
import a8k.type.type.A8kTubeHolderType; import a8k.type.type.A8kTubeHolderType;
@ -158,7 +158,7 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
for (int i = 0; i < tubeholder.tubes.length; i++) { for (int i = 0; i < tubeholder.tubes.length; i++) {
A8kEcode ecode = initOneTube(tubeholder.tubes[i], i, scanResult, setting); A8kEcode ecode = initOneTube(tubeholder.tubes[i], i, scanResult, setting);
if (!ecode.equals(A8kEcode.SUC)) { if (!ecode.equals(A8kEcode.SUC)) {
ebus.pushEvent(new AppWarningNotifyEvent(new TubeError(ecode, i)));
ebus.pushEvent(new AppWarningNotifyEvent(new AETubeError(ecode, i)));
return null; return null;
} }
} }

4
src/main/java/a8k/service/app/devicectrl/driver/MiniServoDriver.java

@ -6,7 +6,7 @@ import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.hardware.type.a8kcanprotocol.CmdId; import a8k.hardware.type.a8kcanprotocol.CmdId;
import a8k.hardware.type.regindex.RegIndex; import a8k.hardware.type.regindex.RegIndex;
import a8k.service.app.devicectrl.driver.type.MiniServoMId; import a8k.service.app.devicectrl.driver.type.MiniServoMId;
import a8k.type.ecode.AppHardwareError;
import a8k.type.ecode.AEHardwareError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -107,7 +107,7 @@ public class MiniServoDriver {
} }
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if (now - startedAt > acitionOvertime) { if (now - startedAt > acitionOvertime) {
throw AppException.of(new AppHardwareError(A8kEcode.LOW_ERROR_OVERTIME, id.mid, null));
throw AppException.of(new AEHardwareError(A8kEcode.LOW_ERROR_OVERTIME, id.mid, null));
} }
} while (true); } while (true);

4
src/main/java/a8k/service/app/devicectrl/param/calibration/TubeFeedingModulePosCalibration.java

@ -15,7 +15,7 @@ import a8k.service.db.type.Parameter;
import a8k.type.TubeFeedingModulePos; import a8k.type.TubeFeedingModulePos;
import a8k.type.TubeFeedingModuleSetting; import a8k.type.TubeFeedingModuleSetting;
import a8k.type.TubeHolderScanResult; import a8k.type.TubeHolderScanResult;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -112,7 +112,7 @@ public class TubeFeedingModulePosCalibration {
@ExtApiFn(name = "计算并设置设置试管间距", group = "辅助设置试管间距", order = 203) @ExtApiFn(name = "计算并设置设置试管间距", group = "辅助设置试管间距", order = 203)
public Double setTubeSpacing() throws AppException { public Double setTubeSpacing() throws AppException {
if (tube01pos == null || tube10pos == null) { if (tube01pos == null || tube10pos == null) {
throw new AppException(new AppCodeError("未标记试管1号位和10号位"));
throw new AppException(new AECodeError("未标记试管1号位和10号位"));
} }
Double spacing = (tube10pos - tube01pos) / 9.0; Double spacing = (tube10pos - tube01pos) / 9.0;
tubeScanPosMgr.setParam(TubeFeedingModuleSetting.TubeSpacing, spacing); tubeScanPosMgr.setParam(TubeFeedingModuleSetting.TubeSpacing, spacing);

4
src/main/java/a8k/service/test/MainflowCtrlTestService.java

@ -24,7 +24,7 @@ import a8k.type.TubeHolderScanResult;
import a8k.type.TubesScanResult; import a8k.type.TubesScanResult;
import a8k.type.checkpoint.CheckResult; import a8k.type.checkpoint.CheckResult;
import a8k.type.consumables.ConsumablesScanReportErrorType; import a8k.type.consumables.ConsumablesScanReportErrorType;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import a8k.type.tube_setting.TubeHolderSetting; import a8k.type.tube_setting.TubeHolderSetting;
import a8k.type.type.A8kTubeHolderType; import a8k.type.type.A8kTubeHolderType;
@ -167,7 +167,7 @@ public class MainflowCtrlTestService {
@ExtApiFn(name = "开始测试", order = 2) @ExtApiFn(name = "开始测试", order = 2)
public Object startTest(MainFlowCtrlTestCaseType castType, Boolean virtualDevice, Boolean virtualTubeScanResult, Boolean noCheck) throws AppException { public Object startTest(MainFlowCtrlTestCaseType castType, Boolean virtualDevice, Boolean virtualTubeScanResult, Boolean noCheck) throws AppException {
if (gstate.isWorking()) { if (gstate.isWorking()) {
throw new AppException(new AppCodeError("设备正在工作中,请先停止工作"));
throw new AppException(new AECodeError("设备正在工作中,请先停止工作"));
} }
testModeState.getVirtualDevice().setEnableVirtualDevice(virtualDevice); testModeState.getVirtualDevice().setEnableVirtualDevice(virtualDevice);

12
src/main/java/a8k/service/test/VirtualDeviceSimulationTest.java

@ -20,10 +20,10 @@ import a8k.service.test.fakeproj.*;
import a8k.service.test.state.VirtualDevice; import a8k.service.test.state.VirtualDevice;
import a8k.type.ConsumableOneChRawResult; import a8k.type.ConsumableOneChRawResult;
import a8k.type.ReactionResult; import a8k.type.ReactionResult;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.ecode.AppError; import a8k.type.ecode.AppError;
import a8k.type.ecode.AppConsumeNotEnoughError;
import a8k.type.ecode.AppHardwareError;
import a8k.type.ecode.AEConsumeNotEnoughError;
import a8k.type.ecode.AEHardwareError;
import a8k.type.reaction_result_type.ReactionResultStatus; import a8k.type.reaction_result_type.ReactionResultStatus;
import a8k.type.tube_setting.TubeHolderSetting; import a8k.type.tube_setting.TubeHolderSetting;
import a8k.type.type.A8kTubeHolderType; import a8k.type.type.A8kTubeHolderType;
@ -240,11 +240,11 @@ public class VirtualDeviceSimulationTest {
@ExtApiFn(name = "A8kErrorPromptEvent", group = "虚拟事件", order = 402) @ExtApiFn(name = "A8kErrorPromptEvent", group = "虚拟事件", order = 402)
public void buildAndSendA8kErrorPromptEvent() { public void buildAndSendA8kErrorPromptEvent() {
A8kErrorPromptEvent event = new A8kErrorPromptEvent(new AppConsumeNotEnoughError("Hscrp"));
A8kErrorPromptEvent event = new A8kErrorPromptEvent(new AEConsumeNotEnoughError("Hscrp"));
eventBus.pushEvent(event); eventBus.pushEvent(event);
event = new A8kErrorPromptEvent(new AppCodeError("XXXX额外的错误说明XXXX"));
event = new A8kErrorPromptEvent(new AECodeError("XXXX额外的错误说明XXXX"));
eventBus.pushEvent(event); eventBus.pushEvent(event);
event = new A8kErrorPromptEvent(new AppHardwareError(A8kEcode.LOW_ERROR_CHECKCODE_IS_ERROR, MId.HbotM, CmdId.step_motor_read_pos));
event = new A8kErrorPromptEvent(new AEHardwareError(A8kEcode.LOW_ERROR_CHECKCODE_IS_ERROR, MId.HbotM, CmdId.step_motor_read_pos));
eventBus.pushEvent(event); eventBus.pushEvent(event);
} }

8
src/main/java/a8k/type/appret/ApiV1Ret.java

@ -1,7 +1,7 @@
package a8k.type.appret; package a8k.type.appret;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.ecode.AppError; import a8k.type.ecode.AppError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
@ -58,11 +58,11 @@ public class ApiV1Ret<T> {
if (e instanceof AppException hexcep) { if (e instanceof AppException hexcep) {
r.data = hexcep.error; r.data = hexcep.error;
} else if (e instanceof ValidationException ex) { } else if (e instanceof ValidationException ex) {
r.data = new AppCodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, ex.getLocalizedMessage());
r.data = new AECodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, ex.getLocalizedMessage());
} else if (e instanceof HandlerMethodValidationException validationE) { } else if (e instanceof HandlerMethodValidationException validationE) {
r.data = new AppCodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, validationE.getMessage());
r.data = new AECodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, validationE.getMessage());
} else { } else {
r.data = new AppCodeError(e.getMessage());
r.data = new AECodeError(e.getMessage());
} }
r.dataType = r.data.getClass().getSimpleName(); r.dataType = r.data.getClass().getSimpleName();
return r; return r;

9
src/main/java/a8k/type/appret/AppRetV1.java

@ -1,10 +1,9 @@
package a8k.type.appret; package a8k.type.appret;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.ecode.AppError; import a8k.type.ecode.AppError;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import jakarta.validation.ConstraintViolationException;
import jakarta.validation.ValidationException; import jakarta.validation.ValidationException;
import lombok.Getter; import lombok.Getter;
import org.springframework.web.method.annotation.HandlerMethodValidationException; import org.springframework.web.method.annotation.HandlerMethodValidationException;
@ -44,11 +43,11 @@ public class AppRetV1 {
if (e instanceof AppException hexcep) { if (e instanceof AppException hexcep) {
r.ecode = hexcep.error; r.ecode = hexcep.error;
} else if (e instanceof ValidationException ex) { } else if (e instanceof ValidationException ex) {
r.ecode = new AppCodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, ex.getLocalizedMessage());
r.ecode = new AECodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, ex.getLocalizedMessage());
} else if (e instanceof HandlerMethodValidationException validationE) { } else if (e instanceof HandlerMethodValidationException validationE) {
r.ecode = new AppCodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, validationE.getMessage());
r.ecode = new AECodeError(A8kEcode.CODEERROR_PARAM_OUT_OF_RANGE, validationE.getMessage());
} else { } else {
r.ecode = new AppCodeError(e.getMessage());
r.ecode = new AECodeError(e.getMessage());
} }
return r; return r;
} }

7
src/main/java/a8k/type/ecode/AppCodeError.java → src/main/java/a8k/type/ecode/AECodeError.java

@ -1,17 +1,16 @@
package a8k.type.ecode; package a8k.type.ecode;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.utils.ZJsonHelper;
public class AppCodeError extends AppError {
public class AECodeError extends AppError {
public String exmsg; public String exmsg;
public AppCodeError(String exmsg) {
public AECodeError(String exmsg) {
super(A8kEcode.CODEERROR); super(A8kEcode.CODEERROR);
this.exmsg = exmsg; this.exmsg = exmsg;
} }
public AppCodeError(A8kEcode ecode, String exmsg) {
public AECodeError(A8kEcode ecode, String exmsg) {
super(ecode); super(ecode);
this.exmsg = exmsg; this.exmsg = exmsg;
} }

4
src/main/java/a8k/type/ecode/AppCommonError.java → src/main/java/a8k/type/ecode/AECommonError.java

@ -2,10 +2,10 @@ package a8k.type.ecode;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
public class AppCommonError extends AppError {
public class AECommonError extends AppError {
public String exmsg; public String exmsg;
public AppCommonError(String exmsg) {
public AECommonError(String exmsg) {
super(A8kEcode.COMMON_ERROR); super(A8kEcode.COMMON_ERROR);
this.exmsg = exmsg; this.exmsg = exmsg;
} }

4
src/main/java/a8k/type/ecode/AppConsumeNotEnoughError.java → src/main/java/a8k/type/ecode/AEConsumeNotEnoughError.java

@ -2,10 +2,10 @@ package a8k.type.ecode;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
public class AppConsumeNotEnoughError extends AppError {
public class AEConsumeNotEnoughError extends AppError {
public String projName; public String projName;
public AppConsumeNotEnoughError(String projName) {
public AEConsumeNotEnoughError(String projName) {
super(A8kEcode.APPE_CONSUME_NOT_ENOUGH); super(A8kEcode.APPE_CONSUME_NOT_ENOUGH);
this.projName = projName; this.projName = projName;
} }

4
src/main/java/a8k/type/ecode/AppHardwareError.java → src/main/java/a8k/type/ecode/AEHardwareError.java

@ -4,11 +4,11 @@ import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.hardware.type.a8kcanprotocol.CmdId; import a8k.hardware.type.a8kcanprotocol.CmdId;
import a8k.hardware.type.a8kcanprotocol.MId; import a8k.hardware.type.a8kcanprotocol.MId;
public class AppHardwareError extends AppError {
public class AEHardwareError extends AppError {
public MId mid; public MId mid;
public CmdId cmdId; public CmdId cmdId;
public AppHardwareError(A8kEcode errorCode, MId mid, CmdId cmdId) {
public AEHardwareError(A8kEcode errorCode, MId mid, CmdId cmdId) {
super(errorCode); super(errorCode);
this.mid = mid; this.mid = mid;
this.cmdId = cmdId; this.cmdId = cmdId;

4
src/main/java/a8k/type/ecode/TubeError.java → src/main/java/a8k/type/ecode/AETubeError.java

@ -2,10 +2,10 @@ package a8k.type.ecode;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
public class TubeError extends AppError {
public class AETubeError extends AppError {
public Integer tubeOff; public Integer tubeOff;
public TubeError(A8kEcode ecode, Integer tubeOff) {
public AETubeError(A8kEcode ecode, Integer tubeOff) {
super(ecode); super(ecode);
this.tubeOff = tubeOff; this.tubeOff = tubeOff;
} }

4
src/main/java/a8k/type/ecode/UnkownExceptionError.java → src/main/java/a8k/type/ecode/AEUnkownExceptionError.java

@ -2,10 +2,10 @@ package a8k.type.ecode;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
public class UnkownExceptionError extends AppError {
public class AEUnkownExceptionError extends AppError {
Exception exception; Exception exception;
public UnkownExceptionError(Exception exception) {
public AEUnkownExceptionError(Exception exception) {
super(A8kEcode.CODEERROR_UNKOWN_EXCEPTION); super(A8kEcode.CODEERROR_UNKOWN_EXCEPTION);
this.exception = exception; this.exception = exception;
} }

14
src/main/java/a8k/type/exception/AppException.java

@ -3,9 +3,9 @@ package a8k.type.exception;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.hardware.type.a8kcanprotocol.CmdId; import a8k.hardware.type.a8kcanprotocol.CmdId;
import a8k.hardware.type.a8kcanprotocol.MId; import a8k.hardware.type.a8kcanprotocol.MId;
import a8k.type.ecode.AppCommonError;
import a8k.type.ecode.AECommonError;
import a8k.type.ecode.AppError; import a8k.type.ecode.AppError;
import a8k.type.ecode.AppHardwareError;
import a8k.type.ecode.AEHardwareError;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -28,20 +28,20 @@ public class AppException extends Exception {
} }
public static AppException of(A8kEcode errorCode, MId mid, CmdId cmdId) { public static AppException of(A8kEcode errorCode, MId mid, CmdId cmdId) {
return new AppException(new AppHardwareError(errorCode, mid, cmdId));
return new AppException(new AEHardwareError(errorCode, mid, cmdId));
} }
public static AppException of(A8kEcode errorCode, MId mid) { public static AppException of(A8kEcode errorCode, MId mid) {
return new AppException(new AppHardwareError(errorCode, mid, null));
return new AppException(new AEHardwareError(errorCode, mid, null));
} }
public static AppException of(AppHardwareError appHardwareError) {
return new AppException(appHardwareError);
public static AppException of(AEHardwareError AEHardwareError) {
return new AppException(AEHardwareError);
} }
public static AppException of(String message) { public static AppException of(String message) {
return new AppException(new AppCommonError(message));
return new AppException(new AECommonError(message));
} }

8
src/main/java/a8k/utils/AppExceptionBuilder.java

@ -1,9 +1,9 @@
package a8k.utils; package a8k.utils;
import a8k.hardware.type.a8kcanprotocol.A8kEcode; import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.ecode.AppError; import a8k.type.ecode.AppError;
import a8k.type.ecode.AppConsumeNotEnoughError;
import a8k.type.ecode.AEConsumeNotEnoughError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
import a8k.type.exception.MutiAppException; import a8k.type.exception.MutiAppException;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -23,7 +23,7 @@ public class AppExceptionBuilder {
public AppException buildConsumeNotEnoughError(Integer projIndex) { public AppException buildConsumeNotEnoughError(Integer projIndex) {
String projName = projConfigMgrService.getProjName(projIndex); String projName = projConfigMgrService.getProjName(projIndex);
return new AppException(new AppConsumeNotEnoughError(projName));
return new AppException(new AEConsumeNotEnoughError(projName));
} }
public AppException buildMutiErrorAppException(List<AppException> exceptions) { public AppException buildMutiErrorAppException(List<AppException> exceptions) {
@ -31,7 +31,7 @@ public class AppExceptionBuilder {
} }
public AppException buildAppCodeErrorException(String extraMsg) { public AppException buildAppCodeErrorException(String extraMsg) {
return new AppException(new AppCodeError(extraMsg));
return new AppException(new AECodeError(extraMsg));
} }
public AppException buildAppException(A8kEcode code) { public AppException buildAppException(A8kEcode code) {

4
src/main/java/a8k/utils/ZASSERT.java

@ -1,12 +1,12 @@
package a8k.utils; package a8k.utils;
import a8k.type.ecode.AppCodeError;
import a8k.type.ecode.AECodeError;
import a8k.type.exception.AppException; import a8k.type.exception.AppException;
public class ZASSERT { public class ZASSERT {
static void zassert(Boolean condition, String exmsg) throws AppException { static void zassert(Boolean condition, String exmsg) throws AppException {
if (!condition) { if (!condition) {
throw new AppException(new AppCodeError(exmsg));
throw new AppException(new AECodeError(exmsg));
} }
} }
} }
Loading…
Cancel
Save