diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java index 6c74c0af1..f40272457 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceRunEvaluateServiceImpl.java @@ -442,6 +442,9 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService { double totalAll = verifyList.stream().mapToDouble(PqDataVerifyCount::getTotalAll).sum(); double flicker = verifyList.stream().mapToDouble(PqDataVerifyCount::getFlicker).sum(); double flickerAll = verifyList.stream().mapToDouble(PqDataVerifyCount::getFlickerAll).sum(); + if (totalAll + flickerAll == 0) { + return new BigDecimal(0); + } return NumberUtil.round(Math.min((total + flicker) * 100 / (totalAll + flickerAll), 100), 2); } else { return new BigDecimal(0); @@ -454,6 +457,9 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService { if (CollUtil.isNotEmpty(integrityDS)) { double realTime = integrityDS.stream().mapToDouble(RStatIntegrityVO::getRealTime).sum(); double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityVO::getDueTime).sum(); + if (dueTime == 0) { + return new BigDecimal(0); + } return NumberUtil.round(Math.min(realTime * 100 / dueTime, 100), 2); } else { return new BigDecimal(0); @@ -466,6 +472,9 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService { if (CollUtil.isNotEmpty(onlineRateDS)) { double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOnlineMin).sum(); double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOfflineMin).sum(); + if (offlineTime == 0) { + return new BigDecimal(0); + } return NumberUtil.round(Math.min(onlineTime * 100.0 / (onlineTime + offlineTime), 100), 2); } else { return new BigDecimal(0); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java index cd0804d22..155c6e186 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java @@ -201,6 +201,9 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl