1.代码调整
This commit is contained in:
@@ -60,7 +60,6 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
|
||||
|
||||
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
|
||||
|
||||
//获得部门下面的数据集合
|
||||
List<Monitor> monitors = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
|
||||
.in(CollectionUtil.isNotEmpty(deptIds), Monitor::getOrgId, deptIds)
|
||||
@@ -69,22 +68,17 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
|
||||
);
|
||||
//根据干扰源类型进行分组统计当前部门下有多少监测点
|
||||
Map<String, List<Monitor>> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag));
|
||||
//根据部门统计终端数量
|
||||
ArrayList<Monitor> monitorsCount = monitors.stream().collect(Collectors.collectingAndThen
|
||||
(Collectors.toCollection(() ->
|
||||
new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new));
|
||||
|
||||
Map<String, Long> 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<Monitor> 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user