Browse Source

update

tags/v0
zhaohe 7 months ago
parent
commit
a4b2d3a350
  1. 34
      src/main/java/a8k/app/controler/api/v1/app/setting/DeviceSettingControler.java
  2. 35
      src/main/java/a8k/app/controler/api/v1/app/setting/LISSettingControler.java
  3. 65
      src/main/java/a8k/app/dao/db/AppSettingDao.java
  4. 33
      src/main/java/a8k/app/dao/db/DeviceSettingDao.java
  5. 33
      src/main/java/a8k/app/dao/db/LISSettingDao.java
  6. 36
      src/main/java/a8k/app/dao/db/type/DeviceSetting.java
  7. 4
      src/main/java/a8k/app/dao/db/type/LISSetting.java
  8. 2
      src/main/java/a8k/app/dao/db/type/appsetting/settingenum/AutoLogoutOption.java
  9. 5
      src/main/java/a8k/app/service/background/TemperatureCtrlService.java
  10. 75
      src/main/java/a8k/app/service/setting/AppSettingsMgrService.java
  11. 17
      src/main/java/a8k/extui/page/debug/P20AppSettingDebugPage.java

34
src/main/java/a8k/app/controler/api/v1/app/setting/DeviceSettingControler.java

@ -1,7 +1,7 @@
package a8k.app.controler.api.v1.app.setting;
import a8k.app.a8ktype.ui.ApiRet;
import a8k.app.dao.db.type.AppSetting;
import a8k.app.dao.db.type.DeviceSetting;
import a8k.app.dao.db.type.appsetting.settingenum.*;
import a8k.app.service.setting.AppSettingsMgrService;
import a8k.app.service.statemgr.GStateMgrService;
@ -35,27 +35,19 @@ public class DeviceSettingControler {
// EXT FUNC
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public static class DeviceSetting {
public LanguageType language;
public Boolean autoPrint;
public Boolean autoLogout;
public Integer temperature;
public Boolean DHCP;
public String localIp;
}
// public static class DeviceSetting {
// public LanguageType language;
// public Boolean autoPrint;
// public Integer autoLogoutTimeout;
// public Integer temperature;
// public Boolean DHCP;
// public String localIp;
// }
@Operation(summary = "获取系统设置")
@PostMapping("/getSetting")
public ApiRet<DeviceSetting> getAppSettings() {
DeviceSetting setting = new DeviceSetting();
AppSetting appSetting = appSettingsMgrService.getAppSettings();
setting.language = appSetting.language;
setting.autoPrint = appSetting.autoPrint;
setting.autoLogout = appSetting.autoLogout;
setting.temperature = appSetting.temperature;
setting.DHCP = appSetting.DHCP;
setting.localIp = appSetting.localIp;
return ApiRet.success(setting);
return ApiRet.success(appSettingsMgrService.getDeviceSetting());
}
@ -76,9 +68,9 @@ public class DeviceSettingControler {
@Operation(summary = "设置自动登出")
@PostMapping("/setAutoLogout")
public ApiRet<Void> setAutoLogout(Boolean val) {
appSettingsMgrService.setAutoLogout(val);
@PostMapping("/setAutoLogoutTimeout")
public ApiRet<Void> setAutoLogoutTimeout(Integer val) {
appSettingsMgrService.setAutoLogoutTimeout(val);
return ApiRet.success();
}

35
src/main/java/a8k/app/controler/api/v1/app/setting/LISSettingControler.java

@ -1,7 +1,7 @@
package a8k.app.controler.api.v1.app.setting;
import a8k.app.dao.db.type.LISSetting;
import a8k.app.service.setting.AppSettingsMgrService;
import a8k.app.dao.db.type.AppSetting;
import a8k.app.dao.db.type.appsetting.settingenum.*;
import a8k.app.a8ktype.ui.ApiRet;
import a8k.app.service.statemgr.GStateMgrService;
@ -31,31 +31,22 @@ public class LISSettingControler {
// EXT FUNC
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public static class LISSetting {
public LISTypeEnum LISType = LISTypeEnum.SINGLE_TRACK;
public LISProtocolEnum LISProtocol = LISProtocolEnum.Boditech;
public LISIFType LIFIf = LISIFType.NETWORK;
public Boolean LISAutoExport = true;
public LISSerialBaudrateType LISSerialBaudrate = LISSerialBaudrateType.B9600;
public String LISNetIp = "127.0.0.1";
public Integer LISNetPort = 9973;
}
;
// public static class LISSetting {
// public LISTypeEnum LISType = LISTypeEnum.SINGLE_TRACK;
// public LISProtocolEnum LISProtocol = LISProtocolEnum.Boditech;
// public LISIFType LIFIf = LISIFType.NETWORK;
// public Boolean LISAutoExport = true;
// public LISSerialBaudrateType LISSerialBaudrate = LISSerialBaudrateType.B9600;
// public String LISNetIp = "127.0.0.1";
// public Integer LISNetPort = 9973;
// }
//
// ;
@Operation(summary = "获取系统设置")
@PostMapping("/getSetting")
public ApiRet<LISSetting> getAppSettings() {
LISSetting setting = new LISSetting();
AppSetting appSetting = appSettingsMgrService.getAppSettings();
setting.LISType = appSetting.LISType;
setting.LISProtocol = appSetting.LISProtocol;
setting.LIFIf = appSetting.LIFIf;
setting.LISAutoExport = appSetting.LISAutoExport;
setting.LISSerialBaudrate = appSetting.LISSerialBaudrate;
setting.LISNetIp = appSetting.LISNetIp;
setting.LISNetPort = appSetting.LISNetPort;
return ApiRet.success(setting);
return ApiRet.success(appSettingsMgrService.getLISSetting());
}

65
src/main/java/a8k/app/dao/db/AppSettingDao.java

@ -1,65 +0,0 @@
package a8k.app.dao.db;
import a8k.app.service.data.UtilsProjectColorAllocer;
import a8k.app.dao.db.type.AppSetting;
import a8k.app.utils.ZSqliteJdbcHelper;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import lombok.SneakyThrows;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import java.sql.ResultSet;
import java.util.List;
/**
* ID卡数据库服务
*/
@Component
@Validated
public class AppSettingDao {
private static final Logger logger = LoggerFactory.getLogger(AppSettingDao.class);
private static final String tableName = "zapp_a8k_appsetting";
private static Class<?> tClass = AppSetting.class;
@Resource
JdbcTemplate jdbcTemplate;
@Resource
UtilsProjectColorAllocer colorAllocer;
@PostConstruct
void init() {
if (!ZSqliteJdbcHelper.isTableExist(jdbcTemplate, tableName)) {
// ZSqliteJdbcHelper.deleteTable(jdbcTemplate, tableName);
ZSqliteJdbcHelper.createTable(jdbcTemplate, tableName, tClass);
ZSqliteJdbcHelper.addObj(jdbcTemplate, tableName, AppSetting.class, new AppSetting());
}
}
@SneakyThrows private AppSetting rowMapper(ResultSet rs, int rowNum) {
return (AppSetting) ZSqliteJdbcHelper.rowMapper(rs, tClass);
}
public AppSetting get() {
List<AppSetting> list = jdbcTemplate.query("select * from " + tableName, this::rowMapper);
if (list.isEmpty()) {
AppSetting appSetting = new AppSetting();
jdbcTemplate.update("insert into " + tableName + " values(?)", appSetting);
return appSetting;
}
return list.get(0);
}
public void update(@Valid AppSetting appSetting) {
ZSqliteJdbcHelper.updateObj(jdbcTemplate, tableName, AppSetting.class, appSetting);
}
}

33
src/main/java/a8k/app/dao/db/DeviceSettingDao.java

@ -0,0 +1,33 @@
package a8k.app.dao.db;
import a8k.app.dao.db.type.DeviceSetting;
import a8k.app.utils.ZSqlite;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
/**
* ID卡数据库服务
*/
@Component
@Validated
public class DeviceSettingDao extends ZSqlite<DeviceSetting> {
@Resource
JdbcTemplate jdbcTemplate;
@PostConstruct
void init() {
init(jdbcTemplate, "zapp_a8k_device_setting", DeviceSetting.class, false);
if (getAll().isEmpty()) {
add(new DeviceSetting());
}
}
public DeviceSetting get() {
return getAll().get(0);
}
}

33
src/main/java/a8k/app/dao/db/LISSettingDao.java

@ -0,0 +1,33 @@
package a8k.app.dao.db;
import a8k.app.dao.db.type.LISSetting;
import a8k.app.utils.ZSqlite;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
/**
* ID卡数据库服务
*/
@Component
@Validated
public class LISSettingDao extends ZSqlite<LISSetting> {
@Resource
JdbcTemplate jdbcTemplate;
@PostConstruct
void init() {
init(jdbcTemplate, "zapp_a8k_lis_setting", LISSetting.class, false);
if (getAll().isEmpty()) {
add(new LISSetting());
}
}
public LISSetting get() {
return getAll().get(0);
}
}

36
src/main/java/a8k/app/dao/db/type/DeviceSetting.java

@ -0,0 +1,36 @@
package a8k.app.dao.db.type;
import a8k.app.dao.db.type.appsetting.settingenum.*;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class DeviceSetting {
public int id = 0;
@Schema(description = "语言")
@NotNull
public LanguageType language = LanguageType.zh_CN;
@Schema(description = "自动打印报告")
@NotNull
public Boolean autoPrint = false;
@Schema(description = "自动登出")
@NotNull
public Integer autoLogoutTimeout = 0;
@Schema(description = "设备温度")
@NotNull
@Min(15)
@Max(35)
public Integer temperature = 25;
public Boolean DHCP = true;
public String localIp = "";
}

4
src/main/java/a8k/app/dao/db/type/AppSetting.java → src/main/java/a8k/app/dao/db/type/LISSetting.java

@ -8,7 +8,7 @@ import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class AppSetting {
public class LISSetting {
public int id = 0;
@Schema(description = "语言")
@ -21,7 +21,7 @@ public class AppSetting {
@Schema(description = "自动登出")
@NotNull
public Boolean autoLogout = false;
public Integer autoLogoutTimeout = 0;
@Schema(description = "LIS类型")
@NotNull

2
src/main/java/a8k/app/dao/db/type/appsetting/settingenum/AutoLogoutOption.java

@ -1,7 +1,7 @@
package a8k.app.dao.db.type.appsetting.settingenum;
public enum AutoLogoutOption {
T00_00,
DISABLE,
T00_10,
T00_30,
T01_00,

5
src/main/java/a8k/app/service/background/TemperatureCtrlService.java

@ -4,7 +4,6 @@ package a8k.app.service.background;
import a8k.OS;
import a8k.app.service.setting.AppSettingsMgrService;
import a8k.app.hardware.driver.TemperatureControlDriver;
import a8k.app.dao.db.type.AppSetting;
import a8k.teststate.VirtualDevice;
import a8k.app.a8ktype.exception.AppException;
import jakarta.annotation.PostConstruct;
@ -83,7 +82,7 @@ public class TemperatureCtrlService {
}
if (controlMode.equals(TemperaControlMode.kAutoChangeFromAppSetting)) {
AppSetting setting = appSettingsMgrService.getAppSettings();
var setting = appSettingsMgrService.getDeviceSetting();
targetTemperature = setting.getTemperature();
}
temperatureControlDriver.startCtrlTemperature(targetTemperature.doubleValue());
@ -99,7 +98,7 @@ public class TemperatureCtrlService {
OS.forceSleep(1000);
if (controlMode.equals(TemperaControlMode.kAutoChangeFromAppSetting)) {
Integer settingTem = appSettingsMgrService.getAppSettings().getTemperature();
Integer settingTem = appSettingsMgrService.getDeviceSetting().getTemperature();
if (!targetTemperature.equals(settingTem)) {
targetTemperature = settingTem;
temperatureControlDriver.startCtrlTemperature(targetTemperature.doubleValue());

75
src/main/java/a8k/app/service/setting/AppSettingsMgrService.java

@ -1,8 +1,10 @@
package a8k.app.service.setting;
import a8k.app.dao.db.AppSettingDao;
import a8k.app.dao.db.type.AppSetting;
import a8k.app.dao.db.DeviceSettingDao;
import a8k.app.dao.db.LISSettingDao;
import a8k.app.dao.db.type.DeviceSetting;
import a8k.app.dao.db.type.LISSetting;
import a8k.app.dao.db.type.appsetting.AppSettingName;
import a8k.app.dao.db.type.appsetting.settingenum.*;
import jakarta.annotation.PostConstruct;
@ -15,7 +17,10 @@ public class AppSettingsMgrService {
Logger logger = org.slf4j.LoggerFactory.getLogger(AppSettingsMgrService.class);
@Resource
AppSettingDao appSettingDao;
DeviceSettingDao deviceSettingDao;
@Resource
LISSettingDao lisSettingDao;
@PostConstruct
public void init() {
@ -32,96 +37,100 @@ public class AppSettingsMgrService {
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public AppSetting getAppSettings() {
return appSettingDao.get();
public DeviceSetting getDeviceSetting() {
return deviceSettingDao.get();
}
public LISSetting getLISSetting() {
return lisSettingDao.get();
}
public void setLanguage(LanguageType val) {
AppSetting setting = appSettingDao.get();
DeviceSetting setting = deviceSettingDao.get();
setting.language = val;
appSettingDao.update(setting);
deviceSettingDao.update(setting);
}
public void setAutoPrint(Boolean val) {
AppSetting setting = appSettingDao.get();
DeviceSetting setting = deviceSettingDao.get();
setting.autoPrint = val;
appSettingDao.update(setting);
deviceSettingDao.update(setting);
}
public void setAutoLogout(Boolean val) {
AppSetting setting = appSettingDao.get();
setting.autoLogout = val;
appSettingDao.update(setting);
public void setAutoLogoutTimeout(Integer val) {
DeviceSetting setting = deviceSettingDao.get();
setting.autoLogoutTimeout = val;
deviceSettingDao.update(setting);
}
public void setLISType(LISTypeEnum val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LISType = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setLISProtocol(LISProtocolEnum val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LISProtocol = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setLIFIf(LISIFType val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LIFIf = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setLISAutoExport(Boolean val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LISAutoExport = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setLISSerialBaudrate(LISSerialBaudrateType val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LISSerialBaudrate = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setLISNetIp(String val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LISNetIp = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setLISNetPort(Integer val) {
AppSetting setting = appSettingDao.get();
LISSetting setting = lisSettingDao.get();
setting.LISNetPort = val;
appSettingDao.update(setting);
lisSettingDao.update(setting);
}
public void setTemperature(Integer val) {
AppSetting setting = appSettingDao.get();
DeviceSetting setting = deviceSettingDao.get();
setting.setTemperature(val);
appSettingDao.update(setting);
deviceSettingDao.update(setting);
}
public void setDHCP(Boolean val) {
AppSetting setting = appSettingDao.get();
DeviceSetting setting = deviceSettingDao.get();
setting.setDHCP(val);
appSettingDao.update(setting);
deviceSettingDao.update(setting);
}
public void setLocalIp(String val) {
AppSetting setting = appSettingDao.get();
DeviceSetting setting = deviceSettingDao.get();
setting.setLocalIp(val);
appSettingDao.update(setting);
deviceSettingDao.update(setting);
}
}

17
src/main/java/a8k/extui/page/debug/P20AppSettingDebugPage.java

@ -1,6 +1,7 @@
package a8k.extui.page.debug;
import a8k.app.dao.db.type.AppSetting;
import a8k.app.dao.db.type.DeviceSetting;
import a8k.app.dao.db.type.LISSetting;
import a8k.app.dao.db.type.appsetting.settingenum.*;
import a8k.app.service.setting.AppSettingsMgrService;
import a8k.extui.mgr.ExtApiPageMgr;
@ -17,8 +18,12 @@ public class P20AppSettingDebugPage {
@ExtApiStatu(name = "", group = "AppSetting", order = 1)
public AppSetting getAppSetting() {
return appSettingsMgrService.getAppSettings();
public LISSetting getAppSetting() {
return appSettingsMgrService.getLISSetting();
}
public DeviceSetting getDeviceSetting() {
return appSettingsMgrService.getDeviceSetting();
}
//
@ -30,8 +35,8 @@ public class P20AppSettingDebugPage {
appSettingsMgrService.setAutoPrint(val);
}
public void setAutoLogout(Boolean val) {
appSettingsMgrService.setAutoLogout(val);
public void setAutoLogoutTimeout(Integer val) {
appSettingsMgrService.setAutoLogoutTimeout(val);
}
public void setLISType(LISTypeEnum val) {
@ -82,7 +87,7 @@ public class P20AppSettingDebugPage {
var page = extApiPageMgr.newPage(this);
page.addFunction("设置语言", this::setLanguage);
page.addFunction("设置自动打印", this::setAutoPrint);
page.addFunction("设置自动登出", this::setAutoLogout);
page.addFunction("设置自动登出", this::setAutoLogoutTimeout);
page.addFunction("设置LIS类型", this::setLISType);
page.addFunction("设置LIS协议", this::setLISProtocol);
page.addFunction("设置LIS接口", this::setLIFIf);

Loading…
Cancel
Save