From dc9958b249b720e5fa545a395ccf90f5a6890189 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 16 Jul 2025 09:37:18 +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 | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 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 377b613..5cf7dfb 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 @@ -296,7 +296,22 @@ public class DataServiceImpl implements IDataService { EleEpdPqd epdPqd = epdFeignClient.findByName(item.getTag()).getData(); EachModuleVO.HarmonicVo vo = new EachModuleVO.HarmonicVo(); vo.setTime(item.getStartTime()); - vo.setStateDesc(channelState2(item.getTag())); + if (Objects.equals("Alm_Apf_ModConnect",item.getTag())) { + if (ObjectUtil.isNotEmpty(list1)) { + Optional optional = list1.stream() + // 筛选时间早于参考时间且目标字段等于指定值的记录 + .filter(vo1 -> vo1.getTime().isBefore(item.getStartTime())) + .filter(vo2 -> vo2.getDataType() == 0) + .max(Comparator.comparing(EachModuleVO.HarmonicVo::getTime)); + if (optional.isPresent()) { + vo.setStateDesc(optional.get().getStateDesc()); + } else { + vo.setStateDesc("无状态"); + } + } + } else { + vo.setStateDesc(channelState2(item.getTag())); + } vo.setEventCode(item.getTag()); vo.setDataType(1); if (ObjectUtil.isNotNull(epdPqd)) { @@ -312,11 +327,7 @@ public class DataServiceImpl implements IDataService { .sorted(Comparator.comparing(EachModuleVO.HarmonicVo::getTime)) .collect(Collectors.toList()); EachModuleVO.HarmonicVo last = dataList.get(dataList.size() - 1); - if (Objects.equals(last.getDataType(),0)) { - moduleVO.setModuleState(last.getStateDesc()); - } else if (Objects.equals(last.getDataType(),1)) { - moduleVO.setModuleState(channelState2(last.getEventCode())); - } + moduleVO.setModuleState(last.getStateDesc()); //如果模块掉线超过30分钟,则续上数据 LocalDateTime givenTime = last.getTime(); LocalDateTime currentTime = LocalDateTime.now(); @@ -432,7 +443,7 @@ public class DataServiceImpl implements IDataService { String str = null; if ("Alm_Apf_ModDisConnect".equals(code)) { str = "离线"; - } else if ("Alm_Apf_ModRunStop".equals(code) || "Alm_Apf_JT_stsLock".equals(code) ) { + } else if ("Alm_Apf_ModRunStop".equals(code) || "Alm_Apf_JT_stsLock".equals(code) || "Alm_Apf_JT_stsUnLock".equals(code)) { str = "停止"; } else if ("Alm_Apf_ModRunRun".equals(code)) { str = "运行";