1.解决监测点超标问题

2.解决监测点终端md3加密显示
3.解决全景技术监督问题数量问题
This commit is contained in:
wr
2024-11-25 12:09:48 +08:00
parent 92ddbd34a8
commit ca32a4e3c6
8 changed files with 154 additions and 65 deletions

View File

@@ -494,7 +494,9 @@ public class GridServiceImpl implements IGridService {
.collect(Collectors.toList());
if (CollUtil.isNotEmpty(lineList)) {
//获取监测点越限集合
List<RStatLimitTargetVO> overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList,param.getStartTime(),param.getEndTime());
List<RStatLimitTargetVO> overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList,
param.getStartTime(),
param.getEndTime());
//获取部门
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData();
deptList.forEach(item->{

View File

@@ -100,14 +100,12 @@ public class RStatLimitServiceImpl implements RStatLimitService {
//监测点总数量
List<String> lineIds = list.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
//超标监测点信息
List<RStatLimitTargetDPO> limitTargetList =new ArrayList<>();
List<RStatLimitTargetVO> limitTargetList =new ArrayList<>();
List<RStatIntegrityD> integrityList =new ArrayList<>();
if(CollUtil.isNotEmpty(lineIds)){
limitTargetList = rStatLimitTargetDMapper.selectList(new LambdaQueryWrapper<RStatLimitTargetDPO>()
.select(RStatLimitTargetDPO::getLineId, RStatLimitTargetDPO::getAllTime, RStatLimitTargetDPO::getFlickerAllTime)
.in(RStatLimitTargetDPO::getLineId, lineIds)
.ge(StrUtil.isNotBlank(deviceInfoParam.getSearchBeginTime()), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
.le(StrUtil.isNotBlank(deviceInfoParam.getSearchEndTime()), RStatLimitTargetDPO::getTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime()))));
limitTargetList = rStatLimitTargetDMapper.getSumTargetDetails(lineIds,
DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())).toString(),
DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())).toString());
integrityList = lineIntegrityClient.getIntegrityByLineIds(lineIds, deviceInfoParam.getSearchBeginTime(), deviceInfoParam.getSearchEndTime()).getData();
}
//终端在线率
@@ -675,7 +673,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
}
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetDPO> limitTargetList, GridDiagramVO.LineData lineData) {
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetVO> limitTargetList, GridDiagramVO.LineData lineData) {
//监测完整率
List<RStatIntegrityD> integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(integrityDS)) {
@@ -695,11 +693,9 @@ public class RStatLimitServiceImpl implements RStatLimitService {
lineData.setOnLineRate(0.0f);
}
//监测点超标占比
List<RStatLimitTargetDPO> limitTarget = limitTargetList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
List<RStatLimitTargetVO> limitTarget = limitTargetList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(limitTarget)) {
long count = limitTarget.stream()
.filter(x -> x.getAllTime() > 0 || x.getFlickerAllTime() > 0)
.map(RStatLimitTargetDPO::getLineId).distinct().count();
long count = limitTarget.stream().filter(o->o.getAllOvertime() > 0 || o.getFlickerAllTime()>0).count();
lineData.setOutOfStandardRate(NumberUtil.round(count * 100.0 / lineIds.size(), 2).floatValue());
} else {
lineData.setOutOfStandardRate(0.0f);