diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml index c8d756ce4..1b974a615 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml @@ -207,7 +207,7 @@ AND EXISTS ( SELECT pdm.Monitor_Sort name, - SUM(romd.data_integrity_rate) doubleValue + IFNULL(SUM(romd.data_integrity_rate),0) doubleValue FROM pms_distribution_monitor pdm LEFT JOIN r_operating_monitor_d romd ON pdm.Monitor_Id = romd.measurement_point_id WHERE pdm.Monitor_Id IN diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java index 72b5cabee..63dad73f3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/SubstationExpendServiceImpl.java @@ -125,13 +125,13 @@ public class SubstationExpendServiceImpl extends ServiceImpl onlineRateStatistic = distributionMonitorMapper.getOnlineRate(terminalIds); - double sum = onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum(); + double sum = onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum()!=0?onlineRateStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum():3.14159; onlineRateStatistic.forEach(dto -> dto.setDoubleValue(new BigDecimal(dto.getDoubleValue() * 100 / sum).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())); ledgerStaticDTO.setTerminalStatistics(onlineRateStatistic); // 完整性 List integrityStatistic = distributionMonitorMapper.getIntegrity(terminalIds); - double s = integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum(); + double s = integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum()!=0?integrityStatistic.stream().mapToDouble(PmsSimpleDTO::getDoubleValue).sum():3.14159; integrityStatistic.forEach(dto -> dto.setDoubleValue(new BigDecimal(dto.getDoubleValue() * 100 / s).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue())); return ledgerStaticDTO; }