From 97629da6a002b534da10f828187fd6cd65941aa4 Mon Sep 17 00:00:00 2001 From: dcb <xgybdcb@163.com> Date: 星期一, 07 七月 2025 17:14:13 +0800 Subject: [PATCH] 模拟间隔支持毫秒级 --- src/main/java/com/se/nsl/service/RealTimeSimulationAsyncService.java | 14 ++++++-------- 1 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/se/nsl/service/RealTimeSimulationAsyncService.java b/src/main/java/com/se/nsl/service/RealTimeSimulationAsyncService.java index 3dea2ae..025e141 100644 --- a/src/main/java/com/se/nsl/service/RealTimeSimulationAsyncService.java +++ b/src/main/java/com/se/nsl/service/RealTimeSimulationAsyncService.java @@ -59,8 +59,6 @@ private final Map<Integer, TaskStatus> taskStatusMap = new ConcurrentHashMap<>(); // 瀛樺偍浠诲姟鎵ц鐨凢uture瀵硅薄锛岀敤浜庡彇娑堜换鍔� private final Map<String, Future<?>> taskFutureMap = new ConcurrentHashMap<>(); -// @Autowired -// private ThreadPoolTaskExecutor taskExecutor; @Async("realTimeExecutor") public void startSimulation(Simu simu) throws IOException { @@ -245,13 +243,13 @@ configVo.setStation(stationFile.getAbsolutePath()); } int realTimeSimulateTime = 300; //妯℃嫙鏃堕棿锛岄粯璁や负5min锛屽嵆300s - int realTimeInterval = rtsConfig.getRealTimeInterval(); //姣忓抚鐨勯棿闅旀椂闂� + Double realTimeInterval = rtsConfig.getFrameInterval(); //姣忓抚鐨勯棿闅旀椂闂� List<String> rainGauge = new ArrayList<>(); rainGauge.add(newDatFile.getAbsolutePath());//raingage file rainGauge.add("mm/min"); configVo.setRaingage(rainGauge); String saveName = serviceNameDir + File.separator + RESULT_ZARR; - ResultVo result = new ResultVo(saveName, realTimeSimulateTime / realTimeInterval, + ResultVo result = new ResultVo(saveName, (int) (realTimeSimulateTime / realTimeInterval), realTimeInterval, "continue", null); result.setSave_interval(realTimeInterval); result.setSave_timestamp0(TimeFormatUtil.formatTime(currentTime, YYYY_MM_DD_HH_MM_SS)); @@ -270,7 +268,7 @@ configVo.setStation(stationFile.getAbsolutePath()); } int realTimeSimulateTime = 300; //妯℃嫙鏃堕棿锛岄粯璁や负5min锛屽嵆300s - int realTimeInterval = rtsConfig.getRealTimeInterval(); //姣忓抚鐨勯棿闅旀椂闂� + Double frameInterval = rtsConfig.getFrameInterval(); //姣忓抚鐨勯棿闅旀椂闂� configVo.getRaingage().set(0, newDatFile.getAbsolutePath()); //raingage file ResultVo result = configVo.getResult(); Integer lastFrames = result.getLastFrames(); @@ -278,10 +276,10 @@ lastFrames = 0; } Integer saveStart = result.getSave_start(); - Integer saveInterval = result.getSave_interval(); + Double saveInterval = result.getSave_interval(); Integer saveFrames = result.getSave_frames(); - int newStartPoint = saveStart + (saveFrames - lastFrames) * saveInterval; - int newSaveFrames = saveFrames + (realTimeSimulateTime / realTimeInterval); + int newStartPoint = (int) (saveStart + (saveFrames - lastFrames) * saveInterval); + int newSaveFrames = (int) (saveFrames + (realTimeSimulateTime / frameInterval)); result.setSave_start(newStartPoint); //璧峰鏃堕棿瑕佸湪涓婃鏃堕棿鐨勫熀纭�涓婂紑濮� result.setLastFrames(saveFrames); result.setSave_frames(newSaveFrames); //淇濈暀5甯э紝鍦ㄥ師鏉ョ殑鍩虹涓婂鍔�5甯� -- Gitblit v1.9.3