区域报表修改

This commit is contained in:
hzj
2026-06-05 16:32:55 +08:00
parent 6089be6b4a
commit 749c1d954c
4 changed files with 27 additions and 13 deletions

View File

@@ -25,6 +25,9 @@ public class MonitorCommLedgerInfoDTO implements Serializable {
private String busBarName; private String busBarName;
private String objName;
private String voltageLevel; private String voltageLevel;
private String shortCapacity; private String shortCapacity;

View File

@@ -88,7 +88,9 @@
voltage.name busBarname, voltage.name busBarname,
pq_voltage.scale voltageLevel, pq_voltage.scale voltageLevel,
bd.name bdName, bd.name bdName,
gd.name gdName gd.name gdName,
supervision_user_report.project_name objName
from pq_dept_line pq_dept_line from pq_dept_line pq_dept_line
inner join pq_line point on pq_dept_line.line_id = point.id inner join pq_line point on pq_dept_line.line_id = point.id
inner join pq_line_detail lineDetail on point.id = lineDetail.id inner join pq_line_detail lineDetail on point.id = lineDetail.id
@@ -98,6 +100,7 @@
inner join pq_device device on dev.id = device.id inner join pq_device device on dev.id = device.id
inner join pq_line bd on dev.pid = bd.id inner join pq_line bd on dev.pid = bd.id
inner join pq_line gd on bd.pid = gd.id inner join pq_line gd on bd.pid = gd.id
left join supervision_user_report on lineDetail.Obj_Id = supervision_user_report.id
where device.Dev_Model = 1 where device.Dev_Model = 1
and point.state = 1 and point.state = 1
and device.Dev_Data_Type in and device.Dev_Data_Type in

View File

@@ -17,4 +17,6 @@ public class AreaHarmReportParam {
private String deptId; private String deptId;
private String scale;
} }

View File

@@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -132,7 +133,7 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService {
tableList.add(new ArrayList<>()); tableList.add(new ArrayList<>());
// 1. 台账表格 // 1. 台账表格
List<String[]> ledgerTable = buildLedgerTable(param.getDeptId()); List<String[]> ledgerTable = buildLedgerTable(param.getDeptId(),param.getScale());
if(CollUtil.isEmpty(ledgerTable)){ if(CollUtil.isEmpty(ledgerTable)){
throw new BusinessException(CommonResponseEnum.FAIL,"当前部门不存在在运监测点"); throw new BusinessException(CommonResponseEnum.FAIL,"当前部门不存在在运监测点");
} }
@@ -145,7 +146,7 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService {
List<OverAreaLimitVO> qualityData = getPowerQualityData(param); List<OverAreaLimitVO> qualityData = getPowerQualityData(param);
if (CollUtil.isNotEmpty(qualityData)) { if (CollUtil.isNotEmpty(qualityData)) {
// 构建监控点名称映射 // 构建监控点名称映射
Map<String, String> monitorNameMap = buildMonitorNameMap(param.getDeptId()); Map<String, String> monitorNameMap = buildMonitorNameMap(param.getDeptId(),param.getScale());
// 过滤有效数据(在线监控数>0 // 过滤有效数据(在线监控数>0
List<OverAreaLimitVO> validData = qualityData.stream() List<OverAreaLimitVO> validData = qualityData.stream()
@@ -176,8 +177,8 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService {
/** /**
* 构建台账表格 * 构建台账表格
*/ */
private List<String[]> buildLedgerTable(String deptId) { private List<String[]> buildLedgerTable(String deptId, String scale) {
List<MonitorCommLedgerInfoDTO> ledgerList = getLedgerInfo(deptId); List<MonitorCommLedgerInfoDTO> ledgerList = getLedgerInfo(deptId,scale);
if (CollUtil.isEmpty(ledgerList)) { if (CollUtil.isEmpty(ledgerList)) {
return new ArrayList<>(); return new ArrayList<>();
} }
@@ -190,7 +191,7 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService {
MonitorCommLedgerInfoDTO ledger = ledgerList.get(i); MonitorCommLedgerInfoDTO ledger = ledgerList.get(i);
return new String[]{ return new String[]{
String.valueOf(i + 1), String.valueOf(i + 1),
ledger.getMonitorName(), StringUtils.hasText(ledger.getObjName())? ledger.getObjName()+"_"+ledger.getMonitorName():ledger.getMonitorName(),
ledger.getBdName(), ledger.getBdName(),
ledger.getBusBarName(), ledger.getBusBarName(),
voltageLevelMap.getOrDefault(ledger.getVoltageLevel(), ""), voltageLevelMap.getOrDefault(ledger.getVoltageLevel(), ""),
@@ -750,10 +751,14 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService {
/** /**
* 获取台账信息 * 获取台账信息
*/ */
private List<MonitorCommLedgerInfoDTO> getLedgerInfo(String deptId) { private List<MonitorCommLedgerInfoDTO> getLedgerInfo(String deptId, String scale) {
DeptGetLineParam param = new DeptGetLineParam(); DeptGetLineParam param = new DeptGetLineParam();
param.setDeptId(deptId); param.setDeptId(deptId);
return commTerminalGeneralClient.deptGetLineInfo(param).getData(); List<MonitorCommLedgerInfoDTO> data = commTerminalGeneralClient.deptGetLineInfo(param).getData();
if(StringUtils.hasText(scale)){
data=data.stream().filter(temp->Objects.equals(scale,temp.getVoltageLevel())).collect(Collectors.toList());
}
return data;
} }
/** /**
@@ -770,13 +775,14 @@ public class AreaHarmonicServiceImpl implements AreaHarmonicService {
/** /**
* 构建监控点名称映射 * 构建监控点名称映射
*/ */
private Map<String, String> buildMonitorNameMap(String deptId) { private Map<String, String> buildMonitorNameMap(String deptId, String scale) {
List<MonitorCommLedgerInfoDTO> ledgerList = getLedgerInfo(deptId); List<MonitorCommLedgerInfoDTO> ledgerList = getLedgerInfo(deptId, scale);
return ledgerList.stream() return ledgerList.stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
MonitorCommLedgerInfoDTO::getMonitorId, MonitorCommLedgerInfoDTO::getMonitorId,
MonitorCommLedgerInfoDTO::getMonitorName temp-> StringUtils.hasText(temp.getObjName())? temp.getObjName()+"_"+temp.getMonitorName():temp.getMonitorName()
));
));
} }
/** /**