From 5f0309873da78fa53b8ed1e79523a43ad1ee48b1 Mon Sep 17 00:00:00 2001 From: cjl <909710561@qq.com> Date: Tue, 23 Apr 2024 15:26:55 +0800 Subject: [PATCH] fix:因子查询调整 --- screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java index 201dcdd..a129ae8 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java @@ -20,6 +20,7 @@ import com.moral.api.service.HistoryHourlyService; import com.moral.api.service.SensorService; import com.moral.api.service.UnitConversionService; +import com.moral.api.utils.StringUtils; import com.moral.api.vo.OnlineRateVo; import com.moral.constant.Constants; import com.moral.constant.RedisConstants; @@ -55,6 +56,8 @@ @Autowired SensorService sensorService; + @Autowired + private DeviceService deviceService; @Autowired UnitConversionService unitConversionService; @@ -106,9 +109,18 @@ ); //������mac - List<String> macs = (List<String>) params.remove("macs"); + List<String> macList = (List<String>) params.remove("macs"); List<Map<String, Object>> elementLists = new ArrayList<>(); - + List<String> idList = macList.stream().filter(it->it.contains(",avg")).collect(Collectors.toList()); + List<String> idListExcluding = macList.stream().filter(it->!it.contains(",avg")).collect(Collectors.toList()); + List<String> macs = new ArrayList<>(); + for(String s : idList){ + String mm = s.substring(0, s.indexOf(",avg")); + List<String> macResultList = deviceService.getMacMonitorPointId(Integer.parseInt(mm)); + macs.addAll(macResultList); + } + macs.addAll(idListExcluding); + macs = macs.stream().distinct().collect(Collectors.toList()); for (String mac : macs) { //���redis��������������������������� Device device = (Device) redisTemplate.opsForHash().get(RedisConstants.DEVICE_INFO, mac); @@ -1243,4 +1255,10 @@ } return OrfList; } + private boolean subStr(String mac){ + if(StringUtils.isNotEmpty(mac)&&mac.contains(",avg")){ + return true; + } + return false; + } } -- Gitblit v1.8.0