Browse Source

update

master
zhaohe 2 weeks ago
parent
commit
a8ef43fc2e
  1. 40
      src/main/java/a8k/app/dao/DeviceExSettingDao.java
  2. 6
      src/main/java/a8k/app/dao/type/db/DeviceExSetting.java
  3. 10
      src/main/java/a8k/app/service/lowerctrl/ConsumablesScanCtrlService.java
  4. 3
      src/main/java/a8k/extui/mgr/ExtApiPageGroupCfgMgr.java
  5. 49
      src/main/java/a8k/extui/page/extsetting/db/DeviceExSettingPage.java

40
src/main/java/a8k/app/dao/DeviceExSettingDao.java

@ -1,12 +1,15 @@
package a8k.app.dao;
import a8k.app.dao.type.db.DeviceExSetting;
import a8k.app.dao.type.db.KeyVal;
import a8k.app.utils.ZJsonHelper;
import a8k.app.utils.ZSqlite;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
@Component
@Slf4j
@ -18,6 +21,43 @@ public class DeviceExSettingDao extends ZSqlite<KeyVal> {
@PostConstruct
void init() {
init(jdbcTemplate, "device_ex_setting", KeyVal.class, false);
if (findByKey("DeviceExSetting") == null) {
KeyVal keyVal = new KeyVal();
keyVal.key = "DeviceExSetting";
keyVal.val = ZJsonHelper.objectToJson(new DeviceExSetting());
add(keyVal);
}
}
private KeyVal findByKey(String key) {
return queryOne("select * from " + tableName + " where key = ?;", key);
}
public DeviceExSetting getExSetting() {
KeyVal keyVal = findByKey("DeviceExSetting");
if (keyVal == null || keyVal.val == null) {
log.warn("No DeviceExSetting found, returning default");
return new DeviceExSetting();
}
return ZJsonHelper.objectFromJson(keyVal.val, DeviceExSetting.class);
}
public void setExSetting(DeviceExSetting deviceExSetting) {
if (deviceExSetting == null) {
log.error("DeviceExSetting is null, cannot set");
return;
}
KeyVal existingKeyVal = findByKey("DeviceExSetting");
if (existingKeyVal != null) {
existingKeyVal.val = ZJsonHelper.objectToJson(deviceExSetting);
update(existingKeyVal);
} else {
KeyVal newKeyVal = new KeyVal();
newKeyVal.key = "DeviceExSetting";
newKeyVal.val = ZJsonHelper.objectToJson(deviceExSetting);
add(newKeyVal);
}
}
}

6
src/main/java/a8k/app/dao/type/db/DeviceExSetting.java

@ -0,0 +1,6 @@
package a8k.app.dao.type.db;
public class DeviceExSetting {
public Boolean disableLargeBufferSolutionG3 = false;
public Boolean disableLargeBufferSolutionG6 = false;
}

10
src/main/java/a8k/app/service/lowerctrl/ConsumablesScanCtrlService.java

@ -1,5 +1,6 @@
package a8k.app.service.lowerctrl;
import a8k.app.dao.DeviceExSettingDao;
import a8k.app.iflytophald.driver.CodeScanerDriver;
import a8k.app.teststate.VirtualDevice;
import a8k.app.type.exception.AppException;
@ -35,7 +36,7 @@ public class ConsumablesScanCtrlService {
private final VirtualDevice virtualDevice;
private final CodeScanerDriver codeScaner;
private final HbotMoveExCtrlService hbotMoveExCtrlService;
private final DeviceExSettingDao deviceExSettingDao;
//
// VIRTUAL
//
@ -107,6 +108,13 @@ public class ConsumablesScanCtrlService {
}
public String scanLarBS(int ch) throws AppException {
if (ch == 2 && deviceExSettingDao.getExSetting().disableLargeBufferSolutionG3) {
return null;
}
if (ch == 5 && deviceExSettingDao.getExSetting().disableLargeBufferSolutionG6) {
return null;
}
hbotMoveExCtrlService.moveToLargeBSCodeScanPos(ch);
return codeScaner.pipetteModCodeScannerScanCode();
}

3
src/main/java/a8k/extui/mgr/ExtApiPageGroupCfgMgr.java

@ -96,6 +96,7 @@ public class ExtApiPageGroupCfgMgr {
new Menu(ProjInfoMgrPage.class, "项目信息管理"),
new Menu(ReactionRecordMgrDebugPage.class, "反应记录")
)),
new Menu(DeviceExSettingPage.class, "设备扩展配置"),
new Menu(A8kSubModuleRegAndConfigSyncPage.class, "单片机-配置管理"),
new Menu("坐标设置", ZList.of(
new Menu(DeviceActionParameterSettingPage.class, "设备动作参数设置"),
@ -140,7 +141,7 @@ public class ExtApiPageGroupCfgMgr {
new Menu(CodeScannerDriverCtrlPage.class, "条码扫描仪"),
new Menu(PrinterDebugPage.class, "打印机"),
new Menu(OptScannerCtrlPage.class, "光学模组"),
new Menu(WaterCoolingTempCtrlDriverPage.class,"水冷控温驱动")
new Menu(WaterCoolingTempCtrlDriverPage.class, "水冷控温驱动")
)));

49
src/main/java/a8k/extui/page/extsetting/db/DeviceExSettingPage.java

@ -0,0 +1,49 @@
package a8k.extui.page.extsetting.db;
import a8k.app.controler.filemgr.StorageControler;
import a8k.app.dao.DeviceActionParameterDao;
import a8k.app.dao.DeviceExSettingDao;
import a8k.app.dao.type.db.DeviceExSetting;
import a8k.app.dao.type.db.Parameter;
import a8k.extui.mgr.ExtApiPageMgr;
import a8k.extui.type.ExtUIPageCfg;
import a8k.extui.type.ExtUiTable;
import a8k.extui.type.param.ExtUIFile;
import a8k.extui.type.ret.FileToBeDownload;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
@RequiredArgsConstructor
public class DeviceExSettingPage {
private final ExtApiPageMgr extApiPageMgr;
private final DeviceExSettingDao deviceExSettingDao;
public void setDisableLargeBufferSolutionG3(Boolean disableLargeBufferSolutionG3) {
var setting = deviceExSettingDao.getExSetting();
setting.disableLargeBufferSolutionG3 = disableLargeBufferSolutionG3;
deviceExSettingDao.setExSetting(setting);
}
public void setDisableLargeBufferSolutionG6(Boolean disableLargeBufferSolutionG6) {
var setting = deviceExSettingDao.getExSetting();
setting.disableLargeBufferSolutionG6 = disableLargeBufferSolutionG6;
deviceExSettingDao.setExSetting(setting);
}
@PostConstruct
void init() throws NoSuchMethodException {
ExtUIPageCfg page = new ExtUIPageCfg(this);
page.addFunction("失能大瓶缓冲液G3扫码", this::setDisableLargeBufferSolutionG3)
.setParamVal("disableLargeBufferSolutionG3", () -> deviceExSettingDao.getExSetting().disableLargeBufferSolutionG3);
page.addFunction("失能大瓶缓冲液G6扫码", this::setDisableLargeBufferSolutionG6)
.setParamVal("disableLargeBufferSolutionG6", () -> deviceExSettingDao.getExSetting().disableLargeBufferSolutionG6);
extApiPageMgr.addPage(page);
}
}
Loading…
Cancel
Save