bug修改
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
pm.Org_Name AS orgName,
|
||||
pm.Powerr_Id AS powerId,
|
||||
pm.Powerr_Name AS powerName,
|
||||
pm.org_name as orgName,
|
||||
pg.Generatrix_Id AS generatrixId,
|
||||
pm.Generatrix_Name AS generatrixName,
|
||||
pm.Id AS monitorId,
|
||||
@@ -16,7 +17,7 @@
|
||||
pg.Scale AS generatrixVoltageLevel
|
||||
FROM
|
||||
pms_generatrix_wire AS pg
|
||||
LEFT JOIN pms_monitor AS pm ON pm.Generatrix_wire_Id = pg.id
|
||||
LEFT JOIN pms_monitor AS pm ON pm.line_id = pg.id
|
||||
WHERE
|
||||
pm.`Status` = 1
|
||||
AND pg.`Status` =1
|
||||
@@ -32,7 +33,7 @@
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="pmsGeneratrixParam.generatrixName != null and pmsGeneratrixParam.generatrixName != ''">
|
||||
AND pm.Generatrix_wire_Name LIKE CONCAT('%',#{pmsGeneratrixParam.generatrixName},'%')
|
||||
AND pm.line_nmae LIKE CONCAT('%',#{pmsGeneratrixParam.generatrixName},'%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
@@ -76,6 +77,7 @@
|
||||
pg.Scale AS generatrixVoltageLevel,
|
||||
pss.Power_Id AS powerId,
|
||||
pss.Power_Name AS powerName,
|
||||
pss.org_name,
|
||||
pss.Voltage_Level AS powerVoltageLevel
|
||||
FROM
|
||||
pms_generatrix_wire AS pg
|
||||
|
||||
@@ -2,9 +2,13 @@ package com.njcn.device.pms.service.majornetwork.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.mapper.majornetwork.MonitorMapper;
|
||||
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||
import com.njcn.device.pms.pojo.param.PmsSummaryStatisticsParam;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
@@ -34,47 +38,38 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final MonitorMapper monitorMapper;
|
||||
private final IPwMonitorService iPwMonitorService;
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
|
||||
@Override
|
||||
public List<PmsSummaryStatisticsVO.SummaryVO> getSeparate(PmsSummaryStatisticsParam param) {
|
||||
List<PmsSummaryStatisticsVO.SummaryVO> vos = new ArrayList<>();
|
||||
//获取当前部门下的子部门
|
||||
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getOrgId(), WebUtil.filterDeptType()).getData();
|
||||
|
||||
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, String> deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName));
|
||||
|
||||
//获得部门下面的数据集合
|
||||
List<Monitor> monitors = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
|
||||
.in(CollectionUtil.isNotEmpty(deptIds), Monitor::getOrgId, deptIds)
|
||||
.in(CollectionUtil.isNotEmpty(param.getMonitorTags()), Monitor::getMonitorTag, param.getMonitorTags())
|
||||
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode())
|
||||
);
|
||||
if (param.getType().equals(0)) {
|
||||
//根据部门进行分组统计当前部门下有多少监测点
|
||||
Map<String, List<Monitor>> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
||||
//根据部门统计终端数量(数据去重)
|
||||
ArrayList<Monitor> monitorsCount = monitors.stream().collect(Collectors.collectingAndThen
|
||||
(Collectors.toCollection(() ->
|
||||
new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new));
|
||||
Map<String, Long> monitorsTerminalCount = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getOrgId, Collectors.counting()));
|
||||
deptMap.forEach((key, value) -> {
|
||||
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
||||
pmsDeviceInfoParam.setDeptIndex(param.getOrgId());
|
||||
pmsDeviceInfoParam.setStatisticalType(new SimpleDTO());
|
||||
List<PmsGeneralDeviceDTO> deptData = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData();
|
||||
deptData.forEach(item -> {
|
||||
PmsSummaryStatisticsVO.SummaryVO vo = new PmsSummaryStatisticsVO.SummaryVO();
|
||||
if (monitorsMonitorCount.containsKey(key)) {
|
||||
vo.setName(value);
|
||||
vo.setMonitorCount(monitorsMonitorCount.get(key).size());
|
||||
vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key)));
|
||||
|
||||
} else {
|
||||
vo.setName(value);
|
||||
//监测点数量
|
||||
vo.setMonitorCount(0);
|
||||
//设备数量
|
||||
vo.setTerminalCount(0);
|
||||
}
|
||||
vo.setName(item.getName());
|
||||
vo.setMonitorCount(item.getMonitorIdList().size());
|
||||
vo.setTerminalCount(item.getTerminalIdList().size());
|
||||
vos.add(vo);
|
||||
});
|
||||
} else {
|
||||
//获取当前部门下的子部门
|
||||
List<DeptDTO> data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData();
|
||||
|
||||
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)
|
||||
.in(CollectionUtil.isNotEmpty(param.getMonitorTags()), Monitor::getMonitorTag, param.getMonitorTags())
|
||||
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode())
|
||||
);
|
||||
//根据干扰源类型进行分组统计当前部门下有多少监测点
|
||||
Map<String, List<Monitor>> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag));
|
||||
//根据部门统计终端数量
|
||||
|
||||
@@ -68,50 +68,61 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl<RStatBusbarHarmo
|
||||
if (CollUtil.isEmpty(dto.getGeneratrixIdList())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
PmsGeneratrixParam pmsGeneratrixParam = new PmsGeneratrixParam();
|
||||
pmsGeneratrixParam.setGeneratrixIds(dto.getGeneratrixIdList());
|
||||
pmsGeneratrixParam.setPowerStationVoltageLevel(param.getVoltageLevel());
|
||||
List<GeneratrixAndPowerStationDTO> dtoS = generatrixWireService.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam);
|
||||
|
||||
// 通过母线id查询变电站背景谐波年表
|
||||
List<RStatBusbarHarmonicYPO> info = rStatBusbarHarmonicMapper.getRStatBusbarHarmonic(param.getStartTime(), param.getEndTime(), dto.getGeneratrixIdList());
|
||||
|
||||
for (RStatBusbarHarmonicYPO po : info) {
|
||||
|
||||
|
||||
for (GeneratrixAndPowerStationDTO generatrixAndPowerStationDTO : dtoS) {
|
||||
boolean flag = false;
|
||||
RStatBusbarHarmonicYVO vo = new RStatBusbarHarmonicYVO();
|
||||
vo.setDeptId(dto.getIndex());
|
||||
vo.setDeptName(dto.getName());
|
||||
vo.setBusbarId(po.getBusbarId());
|
||||
vo.setDataDate(po.getDataDate());
|
||||
vo.setVEffectiveMax(po.getVEffectiveMax());
|
||||
vo.setVEffectiveMin(po.getVEffectiveMin());
|
||||
vo.setVEffectiveAvg(po.getVEffectiveAvg());
|
||||
vo.setVEffective95(po.getVEffective95());
|
||||
vo.setVThdMax(po.getVThdMax());
|
||||
vo.setVThdMin(po.getVThdMin());
|
||||
vo.setVThdAvg(po.getVThdAvg());
|
||||
vo.setVThd95(po.getVThd95());
|
||||
vo.setUnbalanceMax(po.getUnbalanceMax());
|
||||
vo.setUnbalanceMin(po.getUnbalanceMin());
|
||||
vo.setUnbalanceAvg(po.getUnbalanceAvg());
|
||||
vo.setUnbalance95(po.getUnbalance95());
|
||||
vo.setFlickerMax(po.getFlickerMax());
|
||||
vo.setFlickerMin(po.getFlickerMin());
|
||||
vo.setFlickerAvg(po.getFlickerAvg());
|
||||
vo.setFlicker95(po.getFlicker95());
|
||||
vo.setBusbarName(generatrixAndPowerStationDTO.getGeneratrixName());
|
||||
vo.setSubId(generatrixAndPowerStationDTO.getPowerId());
|
||||
vo.setSubName(generatrixAndPowerStationDTO.getPowerName());
|
||||
vo.setSubVoltageLevel(generatrixAndPowerStationDTO.getPowerVoltageLevel());
|
||||
vo.setDeptName(generatrixAndPowerStationDTO.getOrgName());
|
||||
for (RStatBusbarHarmonicYPO po : info) {
|
||||
if (generatrixAndPowerStationDTO.getGeneratrixId().equals(po.getBusbarId())){
|
||||
flag = true;
|
||||
vo.setBusbarId(po.getBusbarId());
|
||||
vo.setDataDate(po.getDataDate());
|
||||
vo.setVEffectiveMax(po.getVEffectiveMax());
|
||||
vo.setVEffectiveMin(po.getVEffectiveMin());
|
||||
vo.setVEffectiveAvg(po.getVEffectiveAvg());
|
||||
vo.setVEffective95(po.getVEffective95());
|
||||
vo.setVThdMax(po.getVThdMax());
|
||||
vo.setVThdMin(po.getVThdMin());
|
||||
vo.setVThdAvg(po.getVThdAvg());
|
||||
vo.setVThd95(po.getVThd95());
|
||||
vo.setUnbalanceMax(po.getUnbalanceMax());
|
||||
vo.setUnbalanceMin(po.getUnbalanceMin());
|
||||
vo.setUnbalanceAvg(po.getUnbalanceAvg());
|
||||
vo.setUnbalance95(po.getUnbalance95());
|
||||
vo.setFlickerMax(po.getFlickerMax());
|
||||
vo.setFlickerMin(po.getFlickerMin());
|
||||
vo.setFlickerAvg(po.getFlickerAvg());
|
||||
vo.setFlicker95(po.getFlicker95());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!flag){
|
||||
|
||||
}
|
||||
result.add(vo);
|
||||
}
|
||||
}
|
||||
// 取出母线id
|
||||
List<String> busbarIds = result.stream().map(RStatBusbarHarmonicYVO::getBusbarId).collect(Collectors.toList());
|
||||
PmsGeneratrixParam pmsGeneratrixParam = new PmsGeneratrixParam();
|
||||
pmsGeneratrixParam.setGeneratrixIds(busbarIds);
|
||||
List<GeneratrixAndPowerStationDTO> dtoS = generatrixWireService.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam);
|
||||
//List<String> busbarIds = result.stream().map(RStatBusbarHarmonicYVO::getBusbarId).collect(Collectors.toList());
|
||||
|
||||
|
||||
|
||||
for (GeneratrixAndPowerStationDTO dto : dtoS) {
|
||||
for (RStatBusbarHarmonicYVO vo : result) {
|
||||
if (dto.getGeneratrixId().equals(vo.getBusbarId())){
|
||||
vo.setBusbarName(dto.getGeneratrixName());
|
||||
vo.setSubId(dto.getPowerId());
|
||||
vo.setSubName(dto.getPowerName());
|
||||
vo.setSubVoltageLevel(dto.getPowerVoltageLevel());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user