|
|
|
|
@@ -86,7 +86,6 @@ import org.apache.poi.ss.usermodel.VerticalAlignment;
|
|
|
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
|
|
|
import org.apache.poi.util.Units;
|
|
|
|
|
import org.apache.poi.xwpf.usermodel.*;
|
|
|
|
|
import org.influxdb.impl.InfluxDBResultMapper;
|
|
|
|
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -2103,14 +2102,16 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
public void getAreaReport(AreaReportParam areaReportParam, HttpServletResponse response) throws Exception {
|
|
|
|
|
|
|
|
|
|
//暂态事件
|
|
|
|
|
String typeName;
|
|
|
|
|
if (areaReportParam.getWaveType().equals(0)) {
|
|
|
|
|
//设置类型变量名为暂态
|
|
|
|
|
String typeName = "暂态";
|
|
|
|
|
|
|
|
|
|
typeName = "暂态";
|
|
|
|
|
} else {
|
|
|
|
|
typeName = "暂降";
|
|
|
|
|
}
|
|
|
|
|
//事件统计表格(部门查询)
|
|
|
|
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(areaReportParam).getData();
|
|
|
|
|
//测试id
|
|
|
|
|
// generalDeviceDTOList.get(9).getLineIndexes().add("97ec50b62c84d39d1e15d83e61e06844");
|
|
|
|
|
|
|
|
|
|
//这是总的监测点id
|
|
|
|
|
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
@@ -2134,12 +2135,11 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
areaParam.setSearchEndTime(areaReportParam.getSearchEndTime());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
|
|
|
|
|
//提前创建,不然获取不到(初始化数据)
|
|
|
|
|
if (CollUtil.isEmpty(lineIds)) {
|
|
|
|
|
throw new BusinessException(EventResponseEnum.NOT_FOUND);
|
|
|
|
|
}
|
|
|
|
|
List<EventDetailNew> eventDetailList = getEventDetailListInfo(areaReportParam, lineIds);
|
|
|
|
|
List<EventDetailNew> eventDetailList = getEventDetailListInfo(areaReportParam, lineIds,areaReportParam.getWaveType());
|
|
|
|
|
List<GeneralDeviceDTO> voltageParamList = generalDeviceInfoClient.getPracticalAllDeviceInfo(areaParam).getData();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -4964,7 +4964,6 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
//11.暂降热力图
|
|
|
|
|
if (areaReportParam.isThermodynamicChart()) {
|
|
|
|
|
//暂降热力图
|
|
|
|
|
|
|
|
|
|
createTitle(doc, "4." + oneCount + " " + typeName + "热力图", "标题 2", 200, 11);
|
|
|
|
|
|
|
|
|
|
p = doc.createParagraph();// 新建一个段落
|
|
|
|
|
@@ -4983,7 +4982,6 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
//当前子部门下所有id
|
|
|
|
|
List<String> lineIndexes = generalDeviceDTO.getLineIndexes();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//如果集合中有id将id进行拼接
|
|
|
|
|
if (CollectionUtil.isNotEmpty(lineIndexes)) {
|
|
|
|
|
//数据统计
|
|
|
|
|
@@ -5017,40 +5015,33 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
response.setContentType("application/octet-stream;charset=UTF-8");
|
|
|
|
|
doc.write(outputStream);
|
|
|
|
|
outputStream.close();
|
|
|
|
|
//暂降事件
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void getPmsAreaReport(AreaReportParam areaReportParam, HttpServletResponse response) throws Exception {
|
|
|
|
|
//暂态事件
|
|
|
|
|
String typeName;
|
|
|
|
|
if (areaReportParam.getWaveType().equals(0)) {
|
|
|
|
|
//设置类型变量名为暂态
|
|
|
|
|
String typeName = "暂态";
|
|
|
|
|
|
|
|
|
|
typeName = "暂态";
|
|
|
|
|
} else {
|
|
|
|
|
typeName = "暂降";
|
|
|
|
|
}
|
|
|
|
|
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
|
|
|
|
pmsDeviceInfoParam.setDeptIndex(areaReportParam.getDeptIndex());
|
|
|
|
|
//获取统计类型
|
|
|
|
|
pmsDeviceInfoParam.setStatisticalType(areaReportParam.getStatisticalType());
|
|
|
|
|
//获取主网台账信息
|
|
|
|
|
List<PmsGeneralDeviceDTO> generalDeviceDTOList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData();
|
|
|
|
|
// if(areaReportParam.getDeptIndex().equals("0d52f9f6e43ec0ee83013cd32da93f66")){
|
|
|
|
|
// //测试id
|
|
|
|
|
// generalDeviceDTOList.get(0).getMonitorIdList().add("97ec50b62c84d39d1e15d83e61e06844");
|
|
|
|
|
// }
|
|
|
|
|
//这是总的监测点id
|
|
|
|
|
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getMonitorIdList().stream()).distinct().collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
|
|
|
|
|
//提前创建,不然获取不到(初始化数据)
|
|
|
|
|
if (CollUtil.isEmpty(lineIds)) {
|
|
|
|
|
throw new BusinessException(EventResponseEnum.NOT_LINEID);
|
|
|
|
|
}
|
|
|
|
|
List<EventDetailNew> eventDetailList = getEventDetailListInfo(areaReportParam, lineIds);
|
|
|
|
|
List<EventDetailNew> eventDetailList = getEventDetailListInfo(areaReportParam, lineIds,areaReportParam.getWaveType());
|
|
|
|
|
if (CollectionUtil.isEmpty(eventDetailList)) {
|
|
|
|
|
throw new BusinessException(CommonResponseEnum.NO_DATA);
|
|
|
|
|
}
|
|
|
|
|
@@ -7980,9 +7971,7 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
doc.write(outputStream);
|
|
|
|
|
outputStream.close();
|
|
|
|
|
//暂降事件
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -8957,18 +8946,22 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
* @param lineIds 监测点集合
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private List<EventDetailNew> getEventDetailListInfo(AreaReportParam areaReportParam, List<String> lineIds) {
|
|
|
|
|
|
|
|
|
|
private List<EventDetailNew> getEventDetailListInfo(AreaReportParam areaReportParam, List<String> lineIds,Integer type) {
|
|
|
|
|
//获取事件类型(短时中断 电压暂降 电压暂升 扰动 其他)
|
|
|
|
|
List<DictData> dictType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
|
|
|
|
|
List<String> typeIds = dictType.stream().filter(x -> DicDataEnum.VOLTAGE_DIP.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.SHORT_INTERRUPTIONS.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.DISTURBANCE.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.OTHER.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.VOLTAGE_RISE.getCode().equals(x.getCode())
|
|
|
|
|
)
|
|
|
|
|
.map(DictData::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<String> typeIds;
|
|
|
|
|
if(type==0){
|
|
|
|
|
typeIds = dictType.stream().filter(x -> DicDataEnum.VOLTAGE_DIP.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.SHORT_INTERRUPTIONS.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.DISTURBANCE.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.OTHER.getCode().equals(x.getCode())
|
|
|
|
|
|| DicDataEnum.VOLTAGE_RISE.getCode().equals(x.getCode())
|
|
|
|
|
)
|
|
|
|
|
.map(DictData::getId).collect(Collectors.toList());
|
|
|
|
|
}else{
|
|
|
|
|
typeIds = dictType.stream().filter(x -> DicDataEnum.VOLTAGE_DIP.getCode().equals(x.getCode()))
|
|
|
|
|
.map(DictData::getId).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
//数据暂降查询
|
|
|
|
|
List<RmpEventDetailPO> info = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
|
|
|
|
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
|
|
|
|
|
|