diff --git a/app.db b/app.db index c681789..a0307a4 100644 Binary files a/app.db and b/app.db differ diff --git a/pom.xml b/pom.xml index bb586cd..d145171 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.2.5 + 3.2.6 com.iflytop @@ -28,6 +28,11 @@ RELEASE compile + + org.projectlombok + lombok + annotationProcessor + diff --git a/src/main/java/a8k/controler/engineer/utils/EnginnerPageTabOrder.java b/src/main/java/a8k/controler/engineer/pagecontrol/EnginnerPageTabOrder.java similarity index 90% rename from src/main/java/a8k/controler/engineer/utils/EnginnerPageTabOrder.java rename to src/main/java/a8k/controler/engineer/pagecontrol/EnginnerPageTabOrder.java index 44a491d..2c227d0 100644 --- a/src/main/java/a8k/controler/engineer/utils/EnginnerPageTabOrder.java +++ b/src/main/java/a8k/controler/engineer/pagecontrol/EnginnerPageTabOrder.java @@ -1,4 +1,4 @@ -package a8k.controler.engineer.utils; +package a8k.controler.engineer.pagecontrol; public enum EnginnerPageTabOrder { diff --git a/src/main/java/a8k/controler/engineer/utils/TabDisplay.java b/src/main/java/a8k/controler/engineer/pagecontrol/TabDisplay.java similarity index 96% rename from src/main/java/a8k/controler/engineer/utils/TabDisplay.java rename to src/main/java/a8k/controler/engineer/pagecontrol/TabDisplay.java index a98ce04..7efde0a 100644 --- a/src/main/java/a8k/controler/engineer/utils/TabDisplay.java +++ b/src/main/java/a8k/controler/engineer/pagecontrol/TabDisplay.java @@ -1,4 +1,4 @@ -package a8k.controler.engineer.utils; +package a8k.controler.engineer.pagecontrol; public class TabDisplay { public static final boolean AppCtrlService = false; diff --git a/src/main/java/a8k/controler/engineer/utils/EngineerPageTab.java b/src/main/java/a8k/controler/engineer/utils/EngineerPageTab.java index fac565e..7b3e5f7 100644 --- a/src/main/java/a8k/controler/engineer/utils/EngineerPageTab.java +++ b/src/main/java/a8k/controler/engineer/utils/EngineerPageTab.java @@ -1,4 +1,6 @@ package a8k.controler.engineer.utils; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/src/main/java/a8k/db/AppSettingDBService.java b/src/main/java/a8k/db/AppSettingDBService.java new file mode 100644 index 0000000..5b302a9 --- /dev/null +++ b/src/main/java/a8k/db/AppSettingDBService.java @@ -0,0 +1,63 @@ +package a8k.db; + +import a8k.db.bean.AppSetting; +import a8k.db.mapper.AppSettingMapper; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.Resource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; + +import java.sql.ResultSet; +import java.util.List; + +@Component +public class AppSettingDBService { + public static final Logger logger = LoggerFactory.getLogger(AppSettingDBService.class); + + + @Resource + JdbcTemplate jdbcTemplate; + + @Resource + AppSettingMapper mapper; + + @PostConstruct + void init() { + var allSettings = getAllSettings(); + for (var setting : allSettings) { + logger.info("setting: {}", setting); + } + isTableExist(""); + } + + public List getAllSettings() { + return jdbcTemplate.query("select * from AppSettingTable;", (ResultSet rs, int rowNum) -> { + AppSetting setting = new AppSetting(); + setting.type = rs.getString("type"); + setting.tab = rs.getString("tab"); + setting.name = rs.getString("name"); + setting.display = rs.getInt("display"); + setting.priority = rs.getInt("priority"); + setting.checkValRange = rs.getInt("checkValRange"); + setting.minVal = rs.getDouble("minVal"); + setting.maxVal = rs.getDouble("maxVal"); + setting.valueEnumRange = rs.getString("valueEnumRange"); + setting.value = rs.getString("value"); + return setting; + }); + } + + public boolean isTableExist(String tableName) { + String sql = "select * from sqlite_master where type = 'table'"; + List result = jdbcTemplate.query(sql, (ResultSet rs, int rowNum) -> { + return rs.toString(); + }); + for (String s : result) { + logger.info("table: {}", s); + } + return !result.isEmpty(); + } + +} diff --git a/src/main/java/a8k/db/bean/AppSetting.java b/src/main/java/a8k/db/bean/AppSetting.java new file mode 100644 index 0000000..98c39cb --- /dev/null +++ b/src/main/java/a8k/db/bean/AppSetting.java @@ -0,0 +1,27 @@ +package a8k.db.bean; + +import a8k.utils.ZJsonHelper; + +public class AppSetting { + public String id = null; + public String type; //支持类型范围 AppSettingType + public String tab; //返回名字为英文,前端需要根据英文名字进行翻译 + public String name; //返回名字为英文,前端需要根据英文名字进行翻译 + public Integer display = 1;// 是否显示 + public Integer priority;// 优先级 数值越大越靠后 + // + //整形和浮点型的单位数值范围 + // + public Integer checkValRange;//是否检查输入参数范围 + public Double minVal; //最小值 + public Double maxVal; //最大值 + //枚举单位数值范围 + public String valueEnumRange; //枚举范围,用逗号分隔 + //值 + public String value; //Value + + @Override + public String toString() { + return ZJsonHelper.objectToJson(this); + } +} diff --git a/src/main/java/a8k/db/mapper/AppSettingMapper.java b/src/main/java/a8k/db/mapper/AppSettingMapper.java new file mode 100644 index 0000000..e7b82f2 --- /dev/null +++ b/src/main/java/a8k/db/mapper/AppSettingMapper.java @@ -0,0 +1,11 @@ +package a8k.db.mapper; + +import a8k.db.bean.AppSetting; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +public interface AppSettingMapper { + @Select("SELECT * FROM AppSettingTable") + List getAllSetting(); +} diff --git a/src/main/java/a8k/service/appcfgs/AppCfgMgrService.java b/src/main/java/a8k/service/appcfgs/AppCfgMgrService.java index 1db9913..f8c245e 100644 --- a/src/main/java/a8k/service/appcfgs/AppCfgMgrService.java +++ b/src/main/java/a8k/service/appcfgs/AppCfgMgrService.java @@ -3,8 +3,8 @@ package a8k.service.appcfgs; import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; -import a8k.controler.engineer.utils.TabDisplay; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import a8k.service.appcfgs.base.A8kDeviceCfg; import a8k.service.appcfgs.base.EmergencyCfg; import a8k.type.type.BloodType; diff --git a/src/main/java/a8k/service/appconsumable/AppConsumablesMgrService.java b/src/main/java/a8k/service/appconsumable/AppConsumablesMgrService.java index 8e9381a..bf1f7fd 100644 --- a/src/main/java/a8k/service/appconsumable/AppConsumablesMgrService.java +++ b/src/main/java/a8k/service/appconsumable/AppConsumablesMgrService.java @@ -3,8 +3,8 @@ package a8k.service.appconsumable; import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; -import a8k.controler.engineer.utils.TabDisplay; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import a8k.service.ProjectColorAllocer; import a8k.service.appconsumable.base.Consumables; import a8k.service.appconsumable.base.ReactantItem; diff --git a/src/main/java/a8k/service/appctrl/AppCtrlService.java b/src/main/java/a8k/service/appctrl/AppCtrlService.java index dcb911d..ce2c2dc 100644 --- a/src/main/java/a8k/service/appctrl/AppCtrlService.java +++ b/src/main/java/a8k/service/appctrl/AppCtrlService.java @@ -3,8 +3,8 @@ package a8k.service.appctrl; import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; -import a8k.controler.engineer.utils.TabDisplay; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import org.slf4j.Logger; import org.springframework.stereotype.Component; diff --git a/src/main/java/a8k/service/appfrontend/AppFrontEndEventRouter.java b/src/main/java/a8k/service/appfrontend/AppFrontEndEventRouter.java index 7c724d1..de9eb9b 100644 --- a/src/main/java/a8k/service/appfrontend/AppFrontEndEventRouter.java +++ b/src/main/java/a8k/service/appfrontend/AppFrontEndEventRouter.java @@ -1,7 +1,7 @@ package a8k.service.appfrontend; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; -import a8k.controler.engineer.utils.TabDisplay; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import a8k.baseservice.appeventbus.AppEventListener; import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.EngineerPageTab; diff --git a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java index 68dafe6..ee22881 100644 --- a/src/main/java/a8k/service/appsettings/AppSettingsMgr.java +++ b/src/main/java/a8k/service/appsettings/AppSettingsMgr.java @@ -3,8 +3,8 @@ package a8k.service.appsettings; import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; -import a8k.controler.engineer.utils.TabDisplay; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import a8k.dbservice.AppSetting; import a8k.service.appsettings.base.AppSettingTab; import a8k.service.appsettings.base.AppOptionName; diff --git a/src/main/java/a8k/service/appstate/AppStateMgrService.java b/src/main/java/a8k/service/appstate/AppStateMgrService.java index 441b624..c11296d 100644 --- a/src/main/java/a8k/service/appstate/AppStateMgrService.java +++ b/src/main/java/a8k/service/appstate/AppStateMgrService.java @@ -2,8 +2,8 @@ package a8k.service.appstate; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; -import a8k.controler.engineer.utils.TabDisplay; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import a8k.dbservice.ProjectInfo; import a8k.service.appconsumable.base.Consumables; import a8k.service.appbase.A8kDeviceState; diff --git a/src/main/java/a8k/service/devicectrl/calibration/PositionCalibration.java b/src/main/java/a8k/service/devicectrl/calibration/PositionCalibration.java index 65ea09f..b47aa35 100644 --- a/src/main/java/a8k/service/devicectrl/calibration/PositionCalibration.java +++ b/src/main/java/a8k/service/devicectrl/calibration/PositionCalibration.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.calibration; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.type.HardwareException; import a8k.type.appret.AppRet; import a8k.type.cfg.Pos2d; diff --git a/src/main/java/a8k/service/devicectrl/commonctrl/HardwareCommonCtrl.java b/src/main/java/a8k/service/devicectrl/commonctrl/HardwareCommonCtrl.java index 0b288f5..db141bb 100644 --- a/src/main/java/a8k/service/devicectrl/commonctrl/HardwareCommonCtrl.java +++ b/src/main/java/a8k/service/devicectrl/commonctrl/HardwareCommonCtrl.java @@ -6,7 +6,7 @@ import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; import a8k.controler.engineer.utils.EnginnerPageParams; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.hardware.A8kCanBusService; import a8k.type.a8kcanprotocol.A8kEcode; import a8k.type.a8kcanprotocol.IOId; diff --git a/src/main/java/a8k/service/devicectrl/ctrl/HbotControlService.java b/src/main/java/a8k/service/devicectrl/ctrl/HbotControlService.java index a11937a..b9901b7 100644 --- a/src/main/java/a8k/service/devicectrl/ctrl/HbotControlService.java +++ b/src/main/java/a8k/service/devicectrl/ctrl/HbotControlService.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.ctrl; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.type.ConsumableGroup; import a8k.type.HardwareException; import a8k.type.appret.AppRet; diff --git a/src/main/java/a8k/service/devicectrl/ctrl/ReactionPlatesTransmitCtrl.java b/src/main/java/a8k/service/devicectrl/ctrl/ReactionPlatesTransmitCtrl.java index 15b8199..309c822 100644 --- a/src/main/java/a8k/service/devicectrl/ctrl/ReactionPlatesTransmitCtrl.java +++ b/src/main/java/a8k/service/devicectrl/ctrl/ReactionPlatesTransmitCtrl.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.ctrl; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.utils.opt_algo.A8kOptAlgo; import a8k.type.*; import a8k.type.appret.AppRet; diff --git a/src/main/java/a8k/service/devicectrl/ctrl/SamplesPreProcesCtrl.java b/src/main/java/a8k/service/devicectrl/ctrl/SamplesPreProcesCtrl.java index 6bd90ee..03ff87a 100644 --- a/src/main/java/a8k/service/devicectrl/ctrl/SamplesPreProcesCtrl.java +++ b/src/main/java/a8k/service/devicectrl/ctrl/SamplesPreProcesCtrl.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.ctrl; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.type.HardwareException; import a8k.type.appret.AppRet; import a8k.controler.engineer.utils.*; diff --git a/src/main/java/a8k/service/devicectrl/ctrl/TubeRackMoveCtrl.java b/src/main/java/a8k/service/devicectrl/ctrl/TubeRackMoveCtrl.java index d9b0bb7..db8818c 100644 --- a/src/main/java/a8k/service/devicectrl/ctrl/TubeRackMoveCtrl.java +++ b/src/main/java/a8k/service/devicectrl/ctrl/TubeRackMoveCtrl.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.ctrl; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.type.HardwareException; import a8k.type.TargetPosMeasureDirection; import a8k.type.appret.AppRet; diff --git a/src/main/java/a8k/service/devicectrl/param/DebugParam.java b/src/main/java/a8k/service/devicectrl/param/DebugParam.java index 1d0ba24..0b0892a 100644 --- a/src/main/java/a8k/service/devicectrl/param/DebugParam.java +++ b/src/main/java/a8k/service/devicectrl/param/DebugParam.java @@ -3,7 +3,7 @@ package a8k.service.devicectrl.param; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageAction; import a8k.controler.engineer.utils.EnginnerPageStatu; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import org.springframework.stereotype.Component; @Component diff --git a/src/main/java/a8k/service/devicectrl/param/PosParam.java b/src/main/java/a8k/service/devicectrl/param/PosParam.java index 467dc2e..ee59c34 100644 --- a/src/main/java/a8k/service/devicectrl/param/PosParam.java +++ b/src/main/java/a8k/service/devicectrl/param/PosParam.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.param; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.type.cfg.*; import a8k.controler.engineer.utils.*; import org.springframework.stereotype.Component; diff --git a/src/main/java/a8k/service/devicectrl/param/TimeParam.java b/src/main/java/a8k/service/devicectrl/param/TimeParam.java index 9c5b31c..85a5123 100644 --- a/src/main/java/a8k/service/devicectrl/param/TimeParam.java +++ b/src/main/java/a8k/service/devicectrl/param/TimeParam.java @@ -1,6 +1,7 @@ package a8k.service.devicectrl.param; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.controler.engineer.utils.*; import org.springframework.stereotype.Component; diff --git a/src/main/java/a8k/service/devicectrl/status/DeviceStatus.java b/src/main/java/a8k/service/devicectrl/status/DeviceStatus.java index 142f2fc..1e2e78a 100644 --- a/src/main/java/a8k/service/devicectrl/status/DeviceStatus.java +++ b/src/main/java/a8k/service/devicectrl/status/DeviceStatus.java @@ -3,7 +3,7 @@ package a8k.service.devicectrl.status; import a8k.type.HardwareException; import a8k.controler.engineer.utils.EngineerPageTab; import a8k.controler.engineer.utils.EnginnerPageStatu; -import a8k.controler.engineer.utils.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.hardware.A8kCanBusService; import a8k.type.a8kcanprotocol.IOId; import a8k.type.a8kcanprotocol.MId; diff --git a/src/main/java/a8k/service/devicectrl/testscript/TestScript.java b/src/main/java/a8k/service/devicectrl/testscript/TestScript.java index 9c24496..0ba9fc1 100644 --- a/src/main/java/a8k/service/devicectrl/testscript/TestScript.java +++ b/src/main/java/a8k/service/devicectrl/testscript/TestScript.java @@ -1,5 +1,6 @@ package a8k.service.devicectrl.testscript; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; import a8k.type.ConsumableGroup; import a8k.type.HardwareException; import a8k.type.IncubatorPos; diff --git a/src/main/java/a8k/service/project_mgr/AppProjectItemMgrService.java b/src/main/java/a8k/service/project_mgr/AppProjectItemMgrService.java index 4950288..0b294d4 100644 --- a/src/main/java/a8k/service/project_mgr/AppProjectItemMgrService.java +++ b/src/main/java/a8k/service/project_mgr/AppProjectItemMgrService.java @@ -1,6 +1,8 @@ package a8k.service.project_mgr; +import a8k.controler.engineer.pagecontrol.EnginnerPageTabOrder; +import a8k.controler.engineer.pagecontrol.TabDisplay; import a8k.controler.engineer.utils.*; import a8k.baseservice.appeventbus.AppEventListener; import a8k.type.HardwareException; diff --git a/src/main/java/a8k/utils/ZJdbcHelper.java b/src/main/java/a8k/utils/ZJdbcHelper.java new file mode 100644 index 0000000..20e62ec --- /dev/null +++ b/src/main/java/a8k/utils/ZJdbcHelper.java @@ -0,0 +1,12 @@ +package a8k.utils; + +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.util.ArrayList; +import java.util.List; + +public class ZJdbcHelper { + String resultSet2String(ResultSet rs) { + return ""; + } +} diff --git a/src/main/java/a8k/utils/ZJsonHelper.java b/src/main/java/a8k/utils/ZJsonHelper.java new file mode 100644 index 0000000..f51a7e2 --- /dev/null +++ b/src/main/java/a8k/utils/ZJsonHelper.java @@ -0,0 +1,17 @@ +package a8k.utils; + +import com.fasterxml.jackson.databind.ObjectMapper; + +public class ZJsonHelper { + public static String objectToJson(Object obj) { + ObjectMapper mapper = new ObjectMapper(); + + try { + return mapper.writeValueAsString(obj); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + +} diff --git a/src/main/java/com/iflytop/a800/BoditechA800Application.java b/src/main/java/com/iflytop/a800/BoditechA800Application.java index fa33cc2..3933665 100644 --- a/src/main/java/com/iflytop/a800/BoditechA800Application.java +++ b/src/main/java/com/iflytop/a800/BoditechA800Application.java @@ -1,11 +1,13 @@ package com.iflytop.a800; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @SpringBootApplication @ComponentScan({"com.iflytop.uf", "com.iflytop.a800", "a8k"}) +@MapperScan({"a8k.db.mapper","com.iflytop.uf"}) public class BoditechA800Application { public static void main(String[] args) { SpringApplication.run(BoditechA800Application.class, args);