Browse Source

fix some bug

master
zhaohe 4 days ago
parent
commit
1d453f4b38
  1. 2
      src/main/java/a8k/app/constant/AppVersion.java
  2. 6
      src/main/java/a8k/app/service/data/FileMgrService.java
  3. 6
      src/main/java/a8k/app/service/os/OSDeviceInfoMgrService.java
  4. 55
      src/main/java/a8k/app/utils/ZFileUtils.java
  5. 28
      src/main/java/a8k/extui/page/extapp/VirtualStateGenerateModeSettingPage.java

2
src/main/java/a8k/app/constant/AppVersion.java

@ -1,5 +1,5 @@
package a8k.app.constant;
public class AppVersion {
public static final String APP_VERSION = "B80.CN.01.00.07";
public static final String APP_VERSION = "B80.CN.01.00.08";
}

6
src/main/java/a8k/app/service/data/FileMgrService.java

@ -71,9 +71,9 @@ public class FileMgrService {
public String storageTmpFile(String name, String content) throws IOException {
File dir = new File(FilePathConstant.FILE_OPT_REPORT_PATH);
dir.mkdirs();
String filePath = String.format("%s/%s.json", FilePathConstant.FILE_TMP_STORAGE_PATH, name);
File file = new File(filePath);
FileWriter writer = new FileWriter(file.getAbsolutePath());
String filePath = String.format("%s/%s.json", FilePathConstant.FILE_TMP_STORAGE_PATH, name);
File file = new File(filePath);
FileWriter writer = new FileWriter(file.getAbsolutePath());
writer.write(content);
writer.close();
return StorageControler.getDoloadPath(filePath);

6
src/main/java/a8k/app/service/os/OSDeviceInfoMgrService.java

@ -4,7 +4,7 @@ import a8k.OS;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.type.exception.AppException;
import cn.hutool.core.io.FileUtil;
import a8k.app.utils.ZFileUtils;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -79,7 +79,7 @@ public class OSDeviceInfoMgrService {
}
try {
String val = FileUtil.readUtf8String(path);
String val = ZFileUtils.readUtf8String(path);
if (val == null || val.isEmpty()) {
return defaultVal;
}
@ -98,7 +98,7 @@ public class OSDeviceInfoMgrService {
}
try {
FileUtil.writeUtf8String(val, path);
ZFileUtils.writeUtf8String(val, path);
if (updateStateFn != null)
updateStateFn.update(val);
} catch (Exception e) {

55
src/main/java/a8k/app/utils/ZFileUtils.java

@ -0,0 +1,55 @@
package a8k.app.utils;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class ZFileUtils {
static public String getDirPath(String fullPath) {
File file = new File(fullPath);
if (file.isDirectory()) {
return fullPath;
} else {
return file.getParent();
}
}
static public void forceCreateDir(String path) throws IOException {
String dirPath = getDirPath(path);
File dir = new File(dirPath);
if (!dir.exists()) {
boolean suc = dir.mkdirs();
if (!suc) {
throw new IOException("Failed to create directory: " + path);
}
}
}
static public void writeUtf8String(String val, String path) throws IOException {
forceCreateDir(path);
File file = new File(path);
try (FileWriter writer = new FileWriter(file.getAbsolutePath())) {
writer.write(val);
}
}
static public String readUtf8String(String path) throws IOException {
File file = new File(path);
return Files.readString(Path.of(file.getAbsolutePath()));
}
public static void main(String[] args) {
try {
String filepath = "runenv/123/testFile.txt";
writeUtf8String("Hello, World!", filepath);
String content = readUtf8String(filepath);
System.out.println("File content: " + content);
} catch (IOException e) {
e.printStackTrace();
}
}
}

28
src/main/java/a8k/extui/page/extapp/VirtualStateGenerateModeSettingPage.java

@ -1,9 +1,16 @@
package a8k.extui.page.extapp;
import a8k.app.dao.type.db.ProjExtInfoCard;
import a8k.app.service.background.AppEventBusService;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.service.virtualstate.DeviceVirtualStateMgrService;
import a8k.app.service.virtualstate.VirtualStateMode;
import a8k.app.type.a8k.state.EmergencyTubePos;
import a8k.app.type.a8k.state.enumtype.TubeState;
import a8k.app.type.appevent.AppIDCardMountEvent;
import a8k.app.type.appevent.AppIDCardUnmountEvent;
import a8k.app.type.exception.AppException;
import a8k.extui.factory.ProjExtInfoCardFactory;
import a8k.extui.mgr.ExtApiPageMgr;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
@ -16,6 +23,8 @@ import org.springframework.stereotype.Component;
public class VirtualStateGenerateModeSettingPage {
private final ExtApiPageMgr extApiPageMgr;
private final DeviceVirtualStateMgrService deviceVirtualStateMgrService;
private final AppEventBusService eventBus;
private final GStateMgrService gStateMgrService;
public void changeVirtualStateMode(VirtualStateMode mode) {
deviceVirtualStateMgrService.changeVirtualStateMode(mode);
@ -25,6 +34,19 @@ public class VirtualStateGenerateModeSettingPage {
deviceVirtualStateMgrService.changeEmergencyTubeState(tubeState);
}
public void insertVirtualIdCard(Integer projId, String lotId) throws AppException {
ProjExtInfoCard newInfoCard = ProjExtInfoCardFactory.buildProjExtInfoCard(projId, lotId);
eventBus.pushEvent(new AppIDCardMountEvent(newInfoCard));
}
public void removeVirtualIdCard() {
eventBus.pushEvent(new AppIDCardUnmountEvent());
}
public void setEmergencyKeyState(Boolean state) throws AppException {
gStateMgrService.updateEmergencyStopFlag(state);
}
@PostConstruct
public void init() {
var page = extApiPageMgr.newPage(this);
@ -33,6 +55,12 @@ public class VirtualStateGenerateModeSettingPage {
.setParamVal("mode", deviceVirtualStateMgrService::getMode);
page.addFunction("修改急诊试管状态", this::changeEmergencyTubeState)
.setParamVal("tubeState", deviceVirtualStateMgrService::getEmergencyTubeState);
page.addFunction("插入ID卡", this::insertVirtualIdCard)
.setParamVal("projId", () -> 1)
.setParamVal("lotId", () -> "CA00000");
page.addFunction("移除ID卡", this::removeVirtualIdCard);
page.addFunction("设置急停按键状态", this::setEmergencyKeyState)
.setParamVal("state", () -> gStateMgrService.getGState().emergencyKeyTriggered);
extApiPageMgr.addPage(page);

Loading…
Cancel
Save