电压暂降:地图概览修改

This commit is contained in:
wr
2023-04-14 11:12:57 +08:00
parent 975f8af044
commit c8ed7001ec
3 changed files with 37 additions and 44 deletions

View File

@@ -6,7 +6,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import com.njcn.event.pojo.po.EventDetailNew;
import com.njcn.event.pojo.vo.AreaSubLineVO;
import com.njcn.event.service.majornetwork.AreaInfoService;
@@ -60,7 +59,7 @@ public class AreaInfoController extends BaseController {
@PostMapping("/getNoDealEvents")
@ApiOperation("获取区域未处理暂态事件")
@ApiImplicitParam(name = "deviceInfoParam", value = "参数体", required = true)
public HttpResult<List<EventDetailNew>> getNoDealEvents(@RequestBody @Validated DeviceInfoParam deviceInfoParam) {
public HttpResult<List<EventDetailNew>> getNoDealEvents(@RequestBody @Validated DeviceInfoParam.BusinessParam deviceInfoParam) {
String methodDescribe = getMethodDescribe("getNoDealEvents");
List<EventDetailNew> res = areaInfoService.getNoDealEvents(deviceInfoParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe);
@@ -76,9 +75,12 @@ public class AreaInfoController extends BaseController {
@GetMapping("/getNoDealEventsByLineId")
@ApiOperation("获取监测点下未处理的暂降事件")
@ApiImplicitParam(name = "id", value = "监测点id", required = true)
public HttpResult<List<EventDetailNew>> getNoDealEventsByLineId(@RequestParam("id") @NotBlank(message = "监测点id不可为空") String id) {
public HttpResult<List<EventDetailNew>> getNoDealEventsByLineId(@RequestParam("id") @NotBlank(message = "监测点id不可为空") String id,
@RequestParam("searchBeginTime") @NotBlank(message = "开始时间不可为空") String searchBeginTime,
@RequestParam("searchEndTime") @NotBlank(message = "结束时间不可为空") String searchEndTime
) {
String methodDescribe = getMethodDescribe("getNoDealEventsByLineId");
List<EventDetailNew> res = areaInfoService.getNoDealEventsByLineId(id);
List<EventDetailNew> res = areaInfoService.getNoDealEventsByLineId(id,searchBeginTime,searchEndTime);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe);
}

View File

@@ -1,7 +1,6 @@
package com.njcn.event.service.majornetwork;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
import com.njcn.event.pojo.po.EventDetailNew;
import com.njcn.event.pojo.vo.AreaSubLineVO;
@@ -17,25 +16,26 @@ public interface AreaInfoService {
/**
* 获取区域监测点地理信息
*
* @author cdf
* @date 2022/6/29
*/
List<AreaSubLineVO> getAreaLineInfo(DeviceInfoParam.BusinessParam deviceInfoParam);
/**
* 获取区域监测点地理信息
*
* @author cdf
* @date 2022/6/29
*/
List<EventDetailNew> getNoDealEvents(DeviceInfoParam deviceInfoParam);
List<EventDetailNew> getNoDealEvents(DeviceInfoParam.BusinessParam deviceInfoParam);
/**
* 获取监测点下未处理的暂降事件
*
* @author cdf
* @date 2022/6/29
*/
List<EventDetailNew> getNoDealEventsByLineId(String id);
List<EventDetailNew> getNoDealEventsByLineId(String id, String searchBeginTime, String searchEndTime);
}

View File

@@ -39,13 +39,11 @@ import java.util.stream.Stream;
@Slf4j
@RequiredArgsConstructor
public class AreaInfoServiceImpl implements AreaInfoService {
private final InfluxDbUtils influxDbUtils;
private final GeneralDeviceInfoClient generalDeviceInfoClient;
private final LineFeignClient lineFeignClient;
private final TerminalBaseClient terminalBaseClient;
private final EventDetailService eventDetailService;
@Override
@@ -60,30 +58,21 @@ public class AreaInfoServiceImpl implements AreaInfoService {
//查询监测点未处理暂态事件
List<RmpEventDetailPO> eventDetails = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))
);
//根据监测点分组统计数量
Map<String, Long> count = eventDetails.stream().collect(Collectors.groupingBy(RmpEventDetailPO::getMeasurementPointId, Collectors.counting()));
for (AreaLineInfoVO areaLineInfoVO : resList) {
boolean flag = false;
if(CollectionUtil.isNotEmpty(count)) {
for (String s : count.keySet()) {
if (count.containsKey(areaLineInfoVO.getLineId())) {
Long aLong = count.get(s);
areaLineInfoVO.setNoDealCount(Math.toIntExact(aLong));
flag = true;
break;
}
}
}
if (!flag) {
areaLineInfoVO.setNoDealCount(0);
if (CollectionUtil.isNotEmpty(count)) {
if (count.containsKey(areaLineInfoVO.getLineId())) {
Long aLong = count.get(areaLineInfoVO.getLineId());
areaLineInfoVO.setNoDealCount(Math.toIntExact(aLong));
}
}
}
//组装成变电站
if (CollectionUtil.isNotEmpty(resList)) {
@@ -103,9 +92,8 @@ public class AreaInfoServiceImpl implements AreaInfoService {
}
@Override
public List<EventDetailNew> getNoDealEvents(DeviceInfoParam deviceInfoParam) {
public List<EventDetailNew> getNoDealEvents(DeviceInfoParam.BusinessParam deviceInfoParam) {
List<EventDetailNew> resList = new ArrayList<>();
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
@@ -116,17 +104,20 @@ public class AreaInfoServiceImpl implements AreaInfoService {
//查询监测点未处理暂态事件
List<RmpEventDetailPO> eventDetails = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
.in(RmpEventDetailPO::getMeasurementPointId, lineIds).orderByDesc(RmpEventDetailPO::getStartTime));
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))
.orderByDesc(RmpEventDetailPO::getStartTime));
EventDetailNew eventDetailNew;
for (RmpEventDetailPO eventDetail : eventDetails) {
eventDetailNew= BeanUtil.copyProperties(eventDetail,EventDetailNew.class);
eventDetailNew = BeanUtil.copyProperties(eventDetail, EventDetailNew.class);
//监测点id
eventDetailNew.setLineId(eventDetail.getMeasurementPointId());
//持续时间
eventDetailNew.setDuration(eventDetail.getDuration());
//特征幅值
eventDetailNew.setFeatureAmplitude(eventDetail.getFeatureAmplitude());
if(lineMap.containsKey(eventDetail.getMeasurementPointId())){
if (lineMap.containsKey(eventDetail.getMeasurementPointId())) {
AreaLineInfoVO areaLineInfoVO = lineMap.get(eventDetail.getMeasurementPointId());
eventDetailNew.setLineName(areaLineInfoVO.getLineName());
eventDetailNew.setLng(areaLineInfoVO.getLng());
@@ -139,33 +130,33 @@ public class AreaInfoServiceImpl implements AreaInfoService {
}
@Override
public List<EventDetailNew> getNoDealEventsByLineId(String id) {
public List<EventDetailNew> getNoDealEventsByLineId(String id, String searchBeginTime, String searchEndTime) {
List<AreaLineInfoVO> lineList = lineFeignClient.getBaseLineAreaInfo(Stream.of(id).collect(Collectors.toList())).getData();
List<EventDetailNew> resList = new ArrayList<>();
//查询监测点未处理暂态事件
List<RmpEventDetailPO> eventDetails = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
.eq(RmpEventDetailPO::getMeasurementPointId, id));
.eq(RmpEventDetailPO::getMeasurementPointId, id)
.ge(StringUtils.isNotBlank(searchBeginTime), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(searchBeginTime)))
.le(StringUtils.isNotBlank(searchEndTime), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(searchEndTime)))
);
EventDetailNew eventDetailNew;
for (RmpEventDetailPO eventDetail : eventDetails) {
eventDetailNew= BeanUtil.copyProperties(eventDetail,EventDetailNew.class);
eventDetailNew = BeanUtil.copyProperties(eventDetail, EventDetailNew.class);
//监测点id
eventDetailNew.setLineId(eventDetail.getMeasurementPointId());
//持续时间
eventDetailNew.setDuration(eventDetail.getDuration());
//特征幅值
eventDetailNew.setFeatureAmplitude(eventDetail.getFeatureAmplitude());
if(CollectionUtil.isNotEmpty(lineList)){
resList = resList.stream().peek(item->{
item.setGdName(lineList.get(0).getGdName());
item.setSubName(lineList.get(0).getSubName());
item.setLineName(lineList.get(0).getLineName());
}).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(lineList)) {
eventDetailNew.setGdName(lineList.get(0).getGdName());
eventDetailNew.setSubName(lineList.get(0).getSubName());
eventDetailNew.setLineName(lineList.get(0).getLineName());
}
resList.add(eventDetailNew);
}
}
return resList;
}