1.异常数据界面业务调整

2.解决全景监测点详情跳转台账数据不准确稳
This commit is contained in:
wr
2026-01-09 09:37:14 +08:00
parent ee2fae105b
commit e251fc6a1a
5 changed files with 334 additions and 216 deletions

View File

@@ -369,7 +369,7 @@ public class GeneralDeviceService {
StatisticsEnum statisticsEnum = StatisticsEnum.getStatisticsEnumByCode(deviceInfoParam.getStatisticalType().getCode());
switch (statisticsEnum) {
case VOLTAGE_LEVEL:
return filterDataByScale(deviceInfos, deviceInfoParam.getScale());
return filterDataByScale(deviceInfos, deviceInfoParam.getScale(),deviceInfoParam.getLineOrDevice());
case LOAD_TYPE:
return filterDataByLoadType(deviceInfos, deviceInfoParam.getLoadType());
case MANUFACTURER:
@@ -474,11 +474,12 @@ public class GeneralDeviceService {
generalDeviceDTO.setLineIndexes(lineIndexes.stream().distinct().collect(Collectors.toList()));
}
private List<GeneralDeviceDTO> filterDataByScale(List<GeneralDeviceDTO> deviceInfos, List<SimpleDTO> scales) {
private List<GeneralDeviceDTO> filterDataByScale(List<GeneralDeviceDTO> deviceInfos, List<SimpleDTO> scales,Integer type) {
List<GeneralDeviceDTO> generalDeviceDTOS = new ArrayList<>();
List<String> subIds = new ArrayList<>(), lineIds = new ArrayList<>();
List<String> subIds = new ArrayList<>(), subVIds = new ArrayList<>(),lineIds = new ArrayList<>();
for (GeneralDeviceDTO generalDeviceDTO : deviceInfos) {
subIds.addAll(generalDeviceDTO.getSubIndexes());
subVIds.addAll(generalDeviceDTO.getVoltageIndexes());
lineIds.addAll(generalDeviceDTO.getLineIndexes());
}
//如果电压等级集合为空,则查询所有的电压等级
@@ -496,8 +497,13 @@ public class GeneralDeviceService {
}
List<Line> lines = terminalBaseService.getLineById(lineIds);
for (SimpleDTO simpleDTO : scales) {
List<String> voltageScaleIds = terminalBaseService.getSubIdByScale(subIds, simpleDTO.getId());
generalDeviceDTOS.add(assembleDataByLine(simpleDTO, lines, voltageScaleIds, LineBaseEnum.SUB_LEVEL.getCode()));
if(ObjectUtil.isNull(type)){
List<String> voltageScaleIds = terminalBaseService.getSubIdByScale(subIds, simpleDTO.getId());
generalDeviceDTOS.add(assembleDataByLine(simpleDTO, lines, voltageScaleIds, LineBaseEnum.SUB_LEVEL.getCode()));
}else{
List<String> voltageScaleIds = terminalBaseService.getVoltageIdByScale(subVIds, simpleDTO.getId());
generalDeviceDTOS.add(assembleDataByLine(simpleDTO, lines, voltageScaleIds, LineBaseEnum.SUB_V_LEVEL.getCode()));
}
}
return generalDeviceDTOS;
}

View File

@@ -1565,7 +1565,6 @@
lineDetail.Power_Flag powerFlag,
lineDetail.Run_Flag lineRunType
FROM
pq_line line,
pq_line voltage,
pq_line device,
pq_line substation,
@@ -1574,12 +1573,11 @@
pq_device deviceDetail,
pq_line_detail lineDetail,
pq_voltage vg,
pq_dept_line deptLine,
sys_dept dept
pq_line line
LEFT JOIN pq_dept_line deptLine on line.id = deptLine.Line_Id
LEFT JOIN sys_dept dept on deptLine.Id = dept.Id
<where>
line.id = deptLine.Line_Id
AND deptLine.Id = dept.Id
AND line.pid = voltage.id
line.pid = voltage.id
AND voltage.pid = device.id
AND device.pid = substation.id
AND substation.pid = gd.id