From 45846e188953813e9544cd6d3cb108dd28d236c8 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 16 Jul 2025 17:50:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataServiceImpl.java | 30 +++++++++++++++++-- .../impl/StatisticsDataDataServiceImpl.java | 3 -- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java index cfb8739..ba34aed 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/DataServiceImpl.java @@ -55,6 +55,7 @@ import java.text.DecimalFormat; import java.time.Duration; import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -234,7 +235,7 @@ public class DataServiceImpl implements IDataService { commonQueryParam.setColumnName("Apf_ModWorkingSts"); commonQueryParam.setResultName("value"); commonQueryParam.setTableName("apf_data"); - commonQueryParam.setStartTime(param.getEndTime()+" 00:00:00"); + commonQueryParam.setStartTime(param.getStartTime()+" 00:00:00"); commonQueryParam.setEndTime(param.getEndTime()+" 23:59:59"); commonQueryParam.setLineId(param.getLineId()); commonQueryParam.setDataType("Apf_ModType"); @@ -342,8 +343,22 @@ public class DataServiceImpl implements IDataService { EachModuleVO.HarmonicVo last = dataList.get(dataList.size() - 1); moduleVO.setModuleState(last.getStateDesc()); //如果模块掉线超过30分钟,则续上数据 + int timeCompare = compareWithCurrentTime(commonQueryParam.getEndTime()); + LocalDateTime currentTime; + switch (timeCompare) { + case -1: + case 0: + currentTime = LocalDateTime.now(); + break; + case 1: + currentTime = LocalDateTime.parse(commonQueryParam.getEndTime(), DatePattern.NORM_DATETIME_FORMATTER); + break; + default: + currentTime = LocalDateTime.now(); + System.out.println("比较失败"); + } + LocalDateTime givenTime = last.getTime(); - LocalDateTime currentTime = LocalDateTime.now(); Duration duration = Duration.between(givenTime, currentTime); boolean isMoreThan30Minutes = duration.toMinutes() > 30; if (isMoreThan30Minutes) { @@ -408,6 +423,17 @@ public class DataServiceImpl implements IDataService { return result; } + public int compareWithCurrentTime(String timeString) { + // 定义日期时间格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + // 解析字符串时间为LocalDateTime对象 + LocalDateTime specifiedTime = LocalDateTime.parse(timeString, formatter); + // 获取当前时间 + LocalDateTime currentTime = LocalDateTime.now(); + // 比较两个时间 + return currentTime.compareTo(specifiedTime); + } + public ReqAndResDto.Req askApfModuleData(Integer mid, Integer clDId, Integer idx) { ReqAndResDto.Req reqAndResParam = new ReqAndResDto.Req(); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java index a330696..9bed753 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StatisticsDataDataServiceImpl.java @@ -112,7 +112,6 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService List list3 = csLineLatestDataFeignClient.listData().getData(); equipmentDeliveryList.forEach(dev->{ List list = devMap.get(dev.getId()); - if (CollectionUtil.isNotEmpty(list)) { list.forEach(line->{ DevDetailDTO dto = csLedgerFeignClient.queryDevDetail(dev.getId()).getData(); @@ -157,10 +156,8 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService }); } }); - } } - } return result; }