diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java index 5ac582cdc..90a446c52 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java @@ -60,7 +60,6 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ List deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList()); - //获得部门下面的数据集合 List monitors = monitorMapper.selectList(new LambdaQueryWrapper() .in(CollectionUtil.isNotEmpty(deptIds), Monitor::getOrgId, deptIds) @@ -69,22 +68,17 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ ); //根据干扰源类型进行分组统计当前部门下有多少监测点 Map> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag)); - //根据部门统计终端数量 - ArrayList monitorsCount = monitors.stream().collect(Collectors.collectingAndThen - (Collectors.toCollection(() -> - new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new)); - - Map monitorsNum = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting())); PmsSummaryStatisticsVO.SummaryVO vo; for (String monitorTag : param.getMonitorTags()) { vo = new PmsSummaryStatisticsVO.SummaryVO(); - if (monitorsNum.containsKey(monitorTag)) { + if (monitorsMonitorCount.containsKey(monitorTag)) { + List monitorsTag = monitorsMonitorCount.get(monitorTag); + long count = monitorsTag.stream().map(Monitor::getTerminalId).distinct().count(); vo.setName(monitorTag); //监测点数量 - vo.setMonitorCount(monitorsMonitorCount.get(monitorTag).size()); + vo.setMonitorCount(monitorsTag.size()); //设备数量 - vo.setTerminalCount(Math.toIntExact(monitorsNum.get(monitorTag))); - + vo.setTerminalCount(Math.toIntExact(count)); } else { vo.setName(monitorTag); //监测点数量 @@ -94,6 +88,11 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ } vos.add(vo); } + PmsSummaryStatisticsVO.SummaryVO count = new PmsSummaryStatisticsVO.SummaryVO(); + count.setName("总数"); + count.setMonitorCount(Math.toIntExact(monitors.stream().map(Monitor::getId).distinct().count())); + count.setTerminalCount(Math.toIntExact(monitors.stream().map(Monitor::getTerminalId).distinct().count())); + vos.add(count); } return vos; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java index ba1fa7f70..7910039fb 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.harmonic.service.specialanalysis.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -141,16 +142,18 @@ public class RMpWpPowerDetailMServiceImpl extends ServiceImpl tractionStationDTOS = tractionStationClient.getPmsTractionStationInfo(stationParam).getData(); - + if(CollUtil.isEmpty(tractionStationDTOS)){ + return new Page<>(); + } //获取牵引站id集合 List ids = tractionStationDTOS.stream().map(PmsTractionStationDTO::getId).collect(Collectors.toList()); Map dtoMap = tractionStationDTOS.stream() .collect(Collectors.toMap(PmsTractionStationDTO::getId, Function.identity())); Page oldPage = rMpRailwayTractionDetailMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper() - .in(RMpRailwayTractionDetail::getTractionStationId, ids) - .ge(StrUtil.isNotBlank(param.getStartTime()), RMpRailwayTractionDetail::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RMpRailwayTractionDetail::getDataDate, param.getEndTime()) + .in(CollUtil.isNotEmpty(ids),RMpRailwayTractionDetail::getTractionStationId, ids) + .ge(StrUtil.isNotBlank(param.getStartTime()), RMpRailwayTractionDetail::getDataDate, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) + .le(StrUtil.isNotBlank(param.getEndTime()), RMpRailwayTractionDetail::getDataDate,DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) ); List newList = BeanUtil.copyToList(oldPage.getRecords(), RMpRailwayTractionDetailVO.class);