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<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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user