diff --git a/src/main/java/com/xydl/cac/controller/IcdConfigController.java b/src/main/java/com/xydl/cac/controller/IcdConfigController.java index b2a0fb7..30da347 100644 --- a/src/main/java/com/xydl/cac/controller/IcdConfigController.java +++ b/src/main/java/com/xydl/cac/controller/IcdConfigController.java @@ -49,6 +49,9 @@ public class IcdConfigController extends BasicController { @ApiOperation("查询icd文件列表") public Response> listFile() throws Exception { List result = configService.listFile(); + for (IcdFile file : result) { + file.setXml(null); + } return Response.success(result); } diff --git a/src/main/java/com/xydl/cac/controller/IecServerController.java b/src/main/java/com/xydl/cac/controller/IecServerController.java index f078b64..20f9eef 100644 --- a/src/main/java/com/xydl/cac/controller/IecServerController.java +++ b/src/main/java/com/xydl/cac/controller/IecServerController.java @@ -34,10 +34,8 @@ public class IecServerController extends BasicController { if (RealTimeDataService.inDoing) { throw new BusinessException("请稍后再操作"); } - RealTimeDataService.inDoing = true; iecServerService.startServer(fileId); realTimeDataService.start(); - RealTimeDataService.inDoing = false; return Response.success("OK"); } @@ -47,10 +45,8 @@ public class IecServerController extends BasicController { if (RealTimeDataService.inDoing) { throw new BusinessException("请稍后再操作"); } - RealTimeDataService.inDoing = true; realTimeDataService.stop(); iecServerService.stop(); - RealTimeDataService.inDoing = false; return Response.success("OK"); } diff --git a/src/main/java/com/xydl/cac/iec/IecServer.java b/src/main/java/com/xydl/cac/iec/IecServer.java index d663977..60cb232 100644 --- a/src/main/java/com/xydl/cac/iec/IecServer.java +++ b/src/main/java/com/xydl/cac/iec/IecServer.java @@ -15,6 +15,7 @@ public class IecServer implements ServerEventListener { ServerModel serversServerModel = null; public boolean started = false; public String filename = null; + public Integer fileId = null; public void start(String xml, int port) throws Exception { if (!started) { diff --git a/src/main/java/com/xydl/cac/iec/IecServerService.java b/src/main/java/com/xydl/cac/iec/IecServerService.java index 7ec5347..86200e4 100644 --- a/src/main/java/com/xydl/cac/iec/IecServerService.java +++ b/src/main/java/com/xydl/cac/iec/IecServerService.java @@ -26,6 +26,7 @@ public class IecServerService { try { iecServer.start(icdFile.getXml(), 102); iecServer.filename = icdFile.getFilename(); + iecServer.fileId = icdFile.getId(); RealTimeDataService.iecServer = iecServer; } catch (Exception e) { log.error("启动IEC61850服务端异常.", e); @@ -46,6 +47,7 @@ public class IecServerService { map.put("port", 102); map.put("started", iecServer.started); map.put("filename", iecServer.filename); + map.put("fileId", iecServer.fileId); return map; } } diff --git a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java index e679e38..e355a15 100644 --- a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java +++ b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java @@ -29,6 +29,7 @@ public class RealTimeDataService { HashMap clientMap = new HashMap<>(); public void start() { + inDoing = true; List icdFileList = fileRepository.findAll(); if (CollectionUtils.isEmpty(icdFileList)) { return; @@ -49,6 +50,7 @@ public class RealTimeDataService { } } } + inDoing = false; } @PreDestroy diff --git a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java index daee9e4..49d0ac2 100644 --- a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java @@ -87,9 +87,6 @@ public class IcdFileConfigServiceImpl implements IcdFileConfigService { @Override public List listFile() { List files = fileRepository.findAll(); - for (IcdFile file : files) { - file.setXml(null); - } return files; }