Merge remote-tracking branch 'origin/master'

This commit is contained in:
2023-04-18 09:49:45 +08:00
39 changed files with 551 additions and 86 deletions

View File

@@ -16,6 +16,8 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BiFunction;
@@ -155,8 +157,9 @@ public class PqsEventDetailQuery extends QueryBuilder {
* @return 数据
*/
public static BiFunction<DateTime, DateTime, List<EventDetail>> getBetweenTimeEventDetailList(List<EventDetail> eventDetailList) {
ZoneId zone = ZoneId.systemDefault();
return (beginTime, endTime) -> eventDetailList.stream().filter(eventDetail -> {
Instant timeId = eventDetail.getStartTime();
Instant timeId = eventDetail.getStartTime().atZone(zone).toInstant();
return timeId.isAfter(beginTime.toInstant()) && timeId.isBefore(endTime.toInstant());
}).collect(Collectors.toList());
}

View File

@@ -1,7 +1,9 @@
package com.njcn.event.mapper.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.pq.pojo.vo.AllDataVO;
import com.njcn.device.pq.pojo.vo.EventVO;
import com.njcn.device.pq.pojo.vo.MiddleChildVO;
import com.njcn.device.pq.pojo.vo.MiddleLimitRateVO;
import com.njcn.harmonic.pojo.po.PQSComAssesPO;
import org.apache.ibatis.annotations.Param;
@@ -28,11 +30,11 @@ public interface LargeScreenMapper {
Map<String, Object> getDownCount (@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<EventVO> getMiddleDown (@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<EventVO> getMiddleDown (Page<EventVO> page,@Param("lineIds") List<String> lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<Map<String, Object>> getMiddleTerminal (@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleChildVO> getMiddleTerminal (Page<MiddleChildVO> page,@Param("deviceIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRate (@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<MiddleLimitRateVO> getMiddleLimitRate (Page<MiddleLimitRateVO> page,@Param("lineIds") List<String> deviceIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<Map<String,Object>> getHomeostasisArea (@Param("indexIds") List<String> indexIds, @Param("startTime") String startTime, @Param("endTime") String endTime);

View File

@@ -127,7 +127,7 @@
order by ed.create_time desc
</select>
<select id="getMiddleTerminal" resultType="java.util.Map">
<select id="getMiddleTerminal" resultType="com.njcn.device.pq.pojo.vo.MiddleChildVO">
SELECT
pd.id,
IFNULL(

View File

@@ -36,6 +36,7 @@ import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -332,7 +333,6 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails
return EventFeatureAmplitudeCurveVO.empty();
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<EventFeatureAmplitudeCurveVO.EventFeatureAmplitudeCurveDataList> curveDataList = rmpEventDetailList.parallelStream()
.map(dto -> {
@@ -341,11 +341,7 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails
eventFeatureAmplitudeCurve.setFeatureAmplitude(dto.getFeatureAmplitude());
eventFeatureAmplitudeCurve.setDuration(dto.getDuration());
// Instant instant = dto.getStartTime().toInstant();
// ZoneId zoneId = ZoneId.systemDefault();
//
// eventFeatureAmplitudeCurve.setStartTime(LocalDateTime.ofInstant(instant, zoneId));
eventFeatureAmplitudeCurve.setStartTime(LocalDateTime.parse( dto.getStartTime()));
eventFeatureAmplitudeCurve.setStartTime(dto.getStartTime());
return eventFeatureAmplitudeCurve;
})

View File

@@ -12,9 +12,7 @@ import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
import com.njcn.event.influxdb.PqsEventDetailQuery;
import com.njcn.event.pojo.po.EventDetail;
import com.njcn.event.pojo.po.RStatEventY;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.AreaAnalysisVO;
import com.njcn.event.pojo.vo.VoltageToleranceCurveVO;
@@ -35,10 +33,8 @@ import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.njcn.event.influxdb.PqsEventDetailQuery.lineIdOr;
import static com.njcn.event.influxdb.PqsEventDetailQuery.timeAndType;
import static com.njcn.event.influxdb.QueryBuilder.*;
import static org.influxdb.querybuilder.BuiltQuery.QueryBuilder.eq;
/**
* pqs-event
@@ -54,7 +50,7 @@ public class AreaAnalysisServiceImpl implements AreaAnalysisService {
private final DicDataFeignClient dicDataFeignClient;
private final LineFeignClient lineFeignClient;
private final PqsEventDetailQuery pqsEventDetailQuery;
private final EventDetailService eventDetailService;
@Override
public AreaAnalysisVO getEventReason(DeviceInfoParam.BusinessParam deviceInfoParam) {
@@ -151,7 +147,7 @@ public class AreaAnalysisServiceImpl implements AreaAnalysisService {
voltageToleranceCurve.setLineId(dto.getLineId());
voltageToleranceCurve.setPersistTime(dto.getDuration());
voltageToleranceCurve.setEventValue(dto.getFeatureAmplitude());
voltageToleranceCurve.setTime(LocalDateTime.ofInstant(dto.getStartTime(), ZoneId.systemDefault()));
voltageToleranceCurve.setTime(dto.getStartTime());
voltageToleranceCurve.setGdName(info.getGdName());
voltageToleranceCurve.setSubName(info.getSubName());
return voltageToleranceCurve;
@@ -232,7 +228,7 @@ public class AreaAnalysisServiceImpl implements AreaAnalysisService {
return reasonList;
}
private List<AreaAnalysisVO.Children> assData(List<DictData> dicList, List<String> lineIds, String startTime, String endTime, String type) {
/* private List<AreaAnalysisVO.Children> assData(List<DictData> dicList, List<String> lineIds, String startTime, String endTime, String type) {
List<AreaAnalysisVO.Children> reasonList = new ArrayList<>();
Integer allCount = 0;
for (DictData reason : dicList) {
@@ -284,5 +280,5 @@ public class AreaAnalysisServiceImpl implements AreaAnalysisService {
allType.setValue(allCount);
reasonList.add(allType);
return reasonList;
}
}*/
}

View File

@@ -325,12 +325,9 @@ public class EventDistributionStatisticsServiceImpl implements EventDistribution
eventFeatureAmplitudeCurve.setFeatureAmplitude(dto.getFeatureAmplitude());
eventFeatureAmplitudeCurve.setDuration(dto.getDuration());
// eventFeatureAmplitudeCurve.setStartTime(LocalDateTime.ofInstant(dto.getStartTime().toInstant(), ZoneId.systemDefault()));
eventFeatureAmplitudeCurve.setStartTime(LocalDateTime.parse(dto.getStartTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")));
eventFeatureAmplitudeCurve.setStartTime(dto.getStartTime());
return eventFeatureAmplitudeCurve;
})
//.sorted(VoltageToleranceCurveDataList.sortAscTime())
.collect(Collectors.toCollection(() -> Collections.synchronizedList(new ArrayList<>())));
}).collect(Collectors.toCollection(() -> Collections.synchronizedList(new ArrayList<>())));
return EventFeatureAmplitudeCurveVO.buildVO(rmpEventDetailList.size(), curveDataList);
}

View File

@@ -3,6 +3,7 @@ package com.njcn.event.service.majornetwork.Impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
@@ -373,7 +374,7 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
return largeScreenMapper.getMiddleDown(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
return largeScreenMapper.getMiddleDown(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()),lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
}
/**
@@ -398,25 +399,25 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合
List<String> deviceIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList());
List<Map<String, Object>> map = largeScreenMapper.getMiddleTerminal(deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
List<MiddleChildVO> map = largeScreenMapper.getMiddleTerminal(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()),deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
float base = 0.0f;
float ream = 0.0f;
float statusValue = 0.0f;
float v = 0.0f;
String s = "";
for (Map<String, Object> stringObjectMap : map) {
for (MiddleChildVO middleChildVO : map) {
MiddleTerminalVO vo = new MiddleTerminalVO();
base = Float.parseFloat(stringObjectMap.get("base").toString());
ream = Float.parseFloat(stringObjectMap.get("ream").toString());
statusValue = Float.parseFloat(stringObjectMap.get("statusValue").toString());
base = middleChildVO.getBase();
ream = middleChildVO.getReam();
statusValue = middleChildVO.getStatusValue();
statusValue = statusValue / 1024.0f / 1024.0f;
v = statusValue / (base + ream);
s = formatFloat(v);
vo.setName(stringObjectMap.get("name").toString());
vo.setIp(stringObjectMap.get("ip").toString());
vo.setPort(stringObjectMap.get("port").toString());
vo.setComFlag(stringObjectMap.get("comFlag").toString());
vo.setName(middleChildVO.getName());
vo.setIp(middleChildVO.getIp());
vo.setPort(middleChildVO.getPort());
vo.setComFlag(middleChildVO.getComFlag());
vo.setProportion(s);
result.add(vo);
}
@@ -451,7 +452,7 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
return largeScreenMapper.getMiddleLimitRate(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
return largeScreenMapper.getMiddleLimitRate(new Page<>(largeScreenParam.getPageNum(), largeScreenParam.getPageSize()),lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
}

View File

@@ -99,6 +99,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalField;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
@@ -1362,10 +1363,8 @@ public class ReportServiceImpl implements ReportService {
insertRow(doc, table, centerParagraph, true, "序号", "暂降发生时刻", "暂降赋值(%)", "持续时间(s)", "暂降类型", "暂降原因", "严重度");
for (int j = 0; j < plot.size(); j++) {
EventDetail eventDetail = plot.get(j);
long l = eventDetail.getStartTime().toEpochMilli();
Date date1 = new Date(l);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String s = simpleDateFormat.format(date1);
String s = eventDetail.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
insertRow(doc, table, centerParagraph, false, j + 1 + "", s, eventDetail.getFeatureAmplitude() + "", eventDetail.getDuration() / 1000.0 + "", eventDetail.getAdvanceType(), eventDetail.getAdvanceReason(), eventDetail.getSeverity() + "");
}
i++;
@@ -2091,6 +2090,9 @@ public class ReportServiceImpl implements ReportService {
InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
//提前创建,不然获取不到(初始化数据)
if (CollUtil.isEmpty(lineIds)) {
throw new BusinessException(EventResponseEnum.NOT_FOUND);
}
List<EventDetailNew> eventDetailList = getEventDetailListInfo(areaReportParam, lineIds);
List<GeneralDeviceDTO> voltageParamList = generalDeviceInfoClient.getPracticalAllDeviceInfo(areaReportParam).getData();
@@ -5283,6 +5285,9 @@ public class ReportServiceImpl implements ReportService {
InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
//提前创建,不然获取不到(初始化数据)
if (CollUtil.isEmpty(lineIds)) {
throw new BusinessException(EventResponseEnum.NOT_LINEID);
}
List<EventDetailNew> eventDetailList = getEventDetailListInfo(areaReportParam, lineIds);
if(CollectionUtil.isEmpty(eventDetailList)){
throw new BusinessException(CommonResponseEnum.NO_DATA);

View File

@@ -99,7 +99,7 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
}
// 蒋监测点信息转换成map集合
Map<String, String> monitorInfoMap = monitorInfo.stream().collect(Collectors.toMap(PmsMonitorDTO::getId, PmsMonitorDTO::getName));
//Map<String, String> monitorInfoMap = monitorInfo.stream().collect(Collectors.toMap(PmsMonitorDTO::getId, PmsMonitorDTO::getName));
// 将事件类型转换成map集合
Map<String, String> eventStatisDataMap = eventStatisData.stream().collect(Collectors.toMap(DictData::getId, DictData::getName));

View File

@@ -130,12 +130,9 @@ public class TransientServiceImpl implements TransientService {
transientVO.setId(eventDetail.getLineId());
transientVO.setNumber(i++);
transientVO.setWaveName(eventDetail.getWavePath());
Instant timeId = eventDetail.getStartTime();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(timeId, zoneId);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String format = dateTimeFormatter.format(localDateTime);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String format = dateTimeFormatter.format(eventDetail.getStartTime());
transientVO.setTime(format);
switch (eventDetail.getEventType()) {
case 0+"":