fix: 优化处理

dev
huangfeng 8 months ago
parent 20888804da
commit 6400395b93

@ -49,6 +49,9 @@ public class IcdConfigController extends BasicController {
@ApiOperation("查询icd文件列表") @ApiOperation("查询icd文件列表")
public Response<List<IcdFile>> listFile() throws Exception { public Response<List<IcdFile>> listFile() throws Exception {
List<IcdFile> result = configService.listFile(); List<IcdFile> result = configService.listFile();
for (IcdFile file : result) {
file.setXml(null);
}
return Response.success(result); return Response.success(result);
} }

@ -34,10 +34,8 @@ public class IecServerController extends BasicController {
if (RealTimeDataService.inDoing) { if (RealTimeDataService.inDoing) {
throw new BusinessException("请稍后再操作"); throw new BusinessException("请稍后再操作");
} }
RealTimeDataService.inDoing = true;
iecServerService.startServer(fileId); iecServerService.startServer(fileId);
realTimeDataService.start(); realTimeDataService.start();
RealTimeDataService.inDoing = false;
return Response.success("OK"); return Response.success("OK");
} }
@ -47,10 +45,8 @@ public class IecServerController extends BasicController {
if (RealTimeDataService.inDoing) { if (RealTimeDataService.inDoing) {
throw new BusinessException("请稍后再操作"); throw new BusinessException("请稍后再操作");
} }
RealTimeDataService.inDoing = true;
realTimeDataService.stop(); realTimeDataService.stop();
iecServerService.stop(); iecServerService.stop();
RealTimeDataService.inDoing = false;
return Response.success("OK"); return Response.success("OK");
} }

@ -15,6 +15,7 @@ public class IecServer implements ServerEventListener {
ServerModel serversServerModel = null; ServerModel serversServerModel = null;
public boolean started = false; public boolean started = false;
public String filename = null; public String filename = null;
public Integer fileId = null;
public void start(String xml, int port) throws Exception { public void start(String xml, int port) throws Exception {
if (!started) { if (!started) {

@ -26,6 +26,7 @@ public class IecServerService {
try { try {
iecServer.start(icdFile.getXml(), 102); iecServer.start(icdFile.getXml(), 102);
iecServer.filename = icdFile.getFilename(); iecServer.filename = icdFile.getFilename();
iecServer.fileId = icdFile.getId();
RealTimeDataService.iecServer = iecServer; RealTimeDataService.iecServer = iecServer;
} catch (Exception e) { } catch (Exception e) {
log.error("启动IEC61850服务端异常.", e); log.error("启动IEC61850服务端异常.", e);
@ -46,6 +47,7 @@ public class IecServerService {
map.put("port", 102); map.put("port", 102);
map.put("started", iecServer.started); map.put("started", iecServer.started);
map.put("filename", iecServer.filename); map.put("filename", iecServer.filename);
map.put("fileId", iecServer.fileId);
return map; return map;
} }
} }

@ -29,6 +29,7 @@ public class RealTimeDataService {
HashMap<String, IecClient> clientMap = new HashMap<>(); HashMap<String, IecClient> clientMap = new HashMap<>();
public void start() { public void start() {
inDoing = true;
List<IcdFile> icdFileList = fileRepository.findAll(); List<IcdFile> icdFileList = fileRepository.findAll();
if (CollectionUtils.isEmpty(icdFileList)) { if (CollectionUtils.isEmpty(icdFileList)) {
return; return;
@ -49,6 +50,7 @@ public class RealTimeDataService {
} }
} }
} }
inDoing = false;
} }
@PreDestroy @PreDestroy

@ -87,9 +87,6 @@ public class IcdFileConfigServiceImpl implements IcdFileConfigService {
@Override @Override
public List<IcdFile> listFile() { public List<IcdFile> listFile() {
List<IcdFile> files = fileRepository.findAll(); List<IcdFile> files = fileRepository.findAll();
for (IcdFile file : files) {
file.setXml(null);
}
return files; return files;
} }

Loading…
Cancel
Save