From 943933d447fa949e11059e61d7a8134347fa27a3 Mon Sep 17 00:00:00 2001 From: zhuxinyu <1799009482@qq.com> Date: Mon, 24 Apr 2023 16:36:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8D=95=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/TerminalOnlineRateDataParam.java | 4 -- .../TerminalOnlineRateDataServiceImpl.java | 55 +++++++++++-------- 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalOnlineRateDataParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalOnlineRateDataParam.java index 1ebf8637c..f8e21d6e7 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalOnlineRateDataParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalOnlineRateDataParam.java @@ -17,10 +17,6 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @EqualsAndHashCode(callSuper = true) public class TerminalOnlineRateDataParam extends DeviceInfoParam.BusinessParam{ - - - - /** * 调用模块分类 */ diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java index ad7bd023f..2f6d4077e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java @@ -95,12 +95,16 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData // 创建集合返回数据 List pro = new ArrayList<>(); - // 获取告警策略列表 - List alarmStrategyVos = alarmClient.getAlarmStrategyData().getData(); - // 判断告警策略数据状态 - if (CollectionUtil.isEmpty(alarmStrategyVos)) { - throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY); + List alarmStrategyVos = new ArrayList<>(); + if (terminalOnlineRateDataParam.getServerName().equals("deviceBoot")) { + // 获取告警策略列表 + alarmStrategyVos = alarmClient.getAlarmStrategyData().getData(); + // 判断告警策略数据状态 + if (CollectionUtil.isEmpty(alarmStrategyVos)) { + throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY); + } } + // 遍历集合 for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { // 判断监测点索引集合状态 @@ -154,7 +158,7 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData pro.add(terminalOnlineRateDataVO); } - getAreaOnlineRateData(pro, alarmStrategyVos, terminalOnlineRateDataParam.getLineGrade()); + getAreaOnlineRateData(pro, alarmStrategyVos, terminalOnlineRateDataParam.getLineGrade(),terminalOnlineRateDataParam.getServerName()); return pro; } else { return new ArrayList<>(); @@ -254,32 +258,39 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData * 获取区域终端在线率 * * @param terminalOnlineRateData + * @param serverName */ - public void getAreaOnlineRateData(List terminalOnlineRateData, List alarmStrategyVos, String lineGrade) { + public void getAreaOnlineRateData(List terminalOnlineRateData, List alarmStrategyVos, String lineGrade, String serverName) { Map mapAlarm = new HashMap<>(); Map map = alarmStrategyVos.stream().collect(Collectors.toMap(AlarmStrategyVO::getId, Function.identity())); - if (StrUtil.isNotBlank(lineGrade)) { - // 根据入参终端等级查字典表 - DictData dictData = dicDataFeignClient.getDicDataById(lineGrade).getData(); - if (map.containsKey(dictData.getId())) { - // key:监测点等级AlgoDescribe value:监测点对应在线率告警阈值 - mapAlarm.put(dictData.getAlgoDescribe(), map.get(dictData.getId()).getOnlineValue()); - } else { - throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY); - } - } else { - List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_LEVEL.getCode()).getData(); - dictDataList.forEach(it -> { - if (map.containsKey(it.getId())) { - mapAlarm.put(it.getAlgoDescribe(), map.get(it.getId()).getOnlineValue()); + if (serverName.equals("deviceBoot")) { + if (StrUtil.isNotBlank(lineGrade)) { + // 根据入参终端等级查字典表 + DictData dictData = dicDataFeignClient.getDicDataById(lineGrade).getData(); + if (map.containsKey(dictData.getId())) { + // key:监测点等级AlgoDescribe value:监测点对应在线率告警阈值 + mapAlarm.put(dictData.getAlgoDescribe(), map.get(dictData.getId()).getOnlineValue()); } else { throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY); } - }); + } else { + List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_LEVEL.getCode()).getData(); + dictDataList.forEach(it -> { + if (map.containsKey(it.getId())) { + mapAlarm.put(it.getAlgoDescribe(), map.get(it.getId()).getOnlineValue()); + } else { + throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY); + } + }); + } + } else { + mapAlarm.put(0,0); } + + for (TerminalOnlineRateDataVO proItem : terminalOnlineRateData) { List gds = proItem.getChildren(); if (CollectionUtil.isNotEmpty(gds)) {