This commit is contained in:
wr
2025-12-08 15:08:21 +08:00
parent be264acd79
commit 6d833678a6
3 changed files with 15 additions and 0 deletions

View File

@@ -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);

View File

@@ -201,6 +201,9 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl<RStatIntegrityDMa
if (CollUtil.isNotEmpty(list)) {
BigDecimal dueTime = BigDecimal.valueOf(list.stream().mapToLong(RStatIntegrityVO::getDueTime).sum());
BigDecimal realTime = BigDecimal.valueOf(list.stream().mapToLong(RStatIntegrityVO::getRealTime).sum());
if (BigDecimal.ZERO.compareTo(dueTime) == 0) {
BigDecimal.valueOf(0);
}
return realTime.multiply(BigDecimal.valueOf(100.0)).divide(dueTime, 2, RoundingMode.HALF_UP);
}
return BigDecimal.valueOf(0);

View File

@@ -105,6 +105,9 @@ public class OnLineRateServiceImpl extends ServiceImpl<OnLineRateMapper, RStatOn
BigDecimal onlineMin = BigDecimal.valueOf(list.stream().mapToLong(RStatOnlineRateVO::getOnlineMin).sum());
BigDecimal offlineMin = BigDecimal.valueOf(list.stream().mapToLong(RStatOnlineRateVO::getOfflineMin).sum());
BigDecimal sumMin = onlineMin.add(offlineMin);
if (BigDecimal.ZERO.compareTo(sumMin) == 0) {
BigDecimal.valueOf(0);
}
return onlineMin.multiply(BigDecimal.valueOf(100.0)).divide(sumMin, 2, RoundingMode.HALF_UP);
}
return BigDecimal.valueOf(0);