diff --git a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/AreaDeviceOnlineServiceImpl.java b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/AreaDeviceOnlineServiceImpl.java index b444098db..4ddc64303 100644 --- a/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/AreaDeviceOnlineServiceImpl.java +++ b/pqs-device/device-boot/src/main/java/com/njcn/device/service/impl/AreaDeviceOnlineServiceImpl.java @@ -6,7 +6,6 @@ import com.njcn.device.mapper.AreaDeviceOnlineMapper; import com.njcn.device.mapper.DeviceMapper; import com.njcn.device.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pojo.param.AreaCensusParam; -import com.njcn.device.pojo.param.DeviceInfoParam; import com.njcn.device.pojo.po.Device; import com.njcn.device.pojo.vo.AreaDeviceOnlineVO; import com.njcn.device.pojo.vo.LineInfluxDbOnlineVO; @@ -121,7 +120,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService { areaDeviceOnlineVO.setBreaksRate(new BigDecimal(breaksRate).setScale(2, RoundingMode.HALF_UP).doubleValue()); double shutdownRate = areaDeviceOnlineVO.getShutdown().doubleValue() / deviceIndexes.size() * 100; areaDeviceOnlineVO.setShutdownRate(new BigDecimal(shutdownRate).setScale(2, RoundingMode.HALF_UP).doubleValue()); - List onlineData = getOnlineData(deviceIndexes, areaCensusParam); + List onlineData = getOnlineData(deviceIndexes, areaCensusParam.getSearchBeginTime(), areaCensusParam.getSearchEndTime()); if (!CollectionUtils.isEmpty(onlineData)) { double avgOnline = onlineData.stream().mapToDouble(LineInfluxDbOnlineVO::getOnlineRate).sum() / onlineData.size(); areaDeviceOnlineVO.setOnlineRate(new BigDecimal(avgOnline).setScale(2, RoundingMode.HALF_UP).doubleValue()); @@ -129,6 +128,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService { return areaDeviceOnlineVO; } + private int getDeviceNumber(String lineLevel, List deviceIndexes, List lineIndexes) { List lineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(lineLevel); List result = lineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList()); @@ -152,10 +152,10 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService { } /** 获取按终端分组的终端在线率*/ - public List getOnlineData(List deviceIndexes, DeviceInfoParam.BusinessParam deviceInfoParam) { + public List getOnlineData(List deviceIndexes, String searchBeginTime, String searchEndTime) { //组装sql语句 StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime()))).append("' and "); + stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(searchBeginTime))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(searchEndTime))).append("' and "); for (int i = 0; i < deviceIndexes.size(); i++) { if (deviceIndexes.size() - i != 1) {