1.代码调整

This commit is contained in:
wr
2023-12-20 15:19:09 +08:00
parent d7c76d52e4
commit cb84120c9e
2 changed files with 17 additions and 15 deletions

View File

@@ -60,7 +60,6 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList()); List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//获得部门下面的数据集合 //获得部门下面的数据集合
List<Monitor> monitors = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>() List<Monitor> monitors = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
.in(CollectionUtil.isNotEmpty(deptIds), Monitor::getOrgId, deptIds) .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)); 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; PmsSummaryStatisticsVO.SummaryVO vo;
for (String monitorTag : param.getMonitorTags()) { for (String monitorTag : param.getMonitorTags()) {
vo = new PmsSummaryStatisticsVO.SummaryVO(); 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.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 { } else {
vo.setName(monitorTag); vo.setName(monitorTag);
//监测点数量 //监测点数量
@@ -94,6 +88,11 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
} }
vos.add(vo); 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; return vos;
} }

View File

@@ -2,6 +2,7 @@ package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -141,16 +142,18 @@ public class RMpWpPowerDetailMServiceImpl extends ServiceImpl<RMpWpPowerDetailMM
PmsTractionStationParam stationParam = new PmsTractionStationParam(); PmsTractionStationParam stationParam = new PmsTractionStationParam();
stationParam.setOrgIds(deptIds); stationParam.setOrgIds(deptIds);
List<PmsTractionStationDTO> tractionStationDTOS = tractionStationClient.getPmsTractionStationInfo(stationParam).getData(); List<PmsTractionStationDTO> tractionStationDTOS = tractionStationClient.getPmsTractionStationInfo(stationParam).getData();
if(CollUtil.isEmpty(tractionStationDTOS)){
return new Page<>();
}
//获取牵引站id集合 //获取牵引站id集合
List<String> ids = tractionStationDTOS.stream().map(PmsTractionStationDTO::getId).collect(Collectors.toList()); List<String> ids = tractionStationDTOS.stream().map(PmsTractionStationDTO::getId).collect(Collectors.toList());
Map<String, PmsTractionStationDTO> dtoMap = tractionStationDTOS.stream() Map<String, PmsTractionStationDTO> dtoMap = tractionStationDTOS.stream()
.collect(Collectors.toMap(PmsTractionStationDTO::getId, Function.identity())); .collect(Collectors.toMap(PmsTractionStationDTO::getId, Function.identity()));
Page<RMpRailwayTractionDetail> oldPage = rMpRailwayTractionDetailMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper<RMpRailwayTractionDetail>() Page<RMpRailwayTractionDetail> oldPage = rMpRailwayTractionDetailMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper<RMpRailwayTractionDetail>()
.in(RMpRailwayTractionDetail::getTractionStationId, ids) .in(CollUtil.isNotEmpty(ids),RMpRailwayTractionDetail::getTractionStationId, ids)
.ge(StrUtil.isNotBlank(param.getStartTime()), RMpRailwayTractionDetail::getDataDate, param.getStartTime()) .ge(StrUtil.isNotBlank(param.getStartTime()), RMpRailwayTractionDetail::getDataDate, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
.le(StrUtil.isNotBlank(param.getEndTime()), RMpRailwayTractionDetail::getDataDate, param.getEndTime()) .le(StrUtil.isNotBlank(param.getEndTime()), RMpRailwayTractionDetail::getDataDate,DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
); );
List<RMpRailwayTractionDetailVO> newList = BeanUtil.copyToList(oldPage.getRecords(), RMpRailwayTractionDetailVO.class); List<RMpRailwayTractionDetailVO> newList = BeanUtil.copyToList(oldPage.getRecords(), RMpRailwayTractionDetailVO.class);